莫名其妙的SqlServer更新错误:OleDbException 必须声明标量变量

以前一直使用OleDbDataAdapter的方式更新数据库,今天我试了一下用OleDbCommand的方式更新数据库出现了莫名其妙的错误。
环境:Sql Server 2005

使用如下代码:

            string strSql = "UPDATE M_Employee set  EMPLOYEENAME = @EMPLOYEENAME where  EMPLOYEEID = @EMPLOYEEID ";

            
using (OleDbCommand Comm = new OleDbCommand(strSql, olecn))
            
{
                Comm.Parameters.Add(
new OleDbParameter("@EMPLOYEENAME", OleDbType.VarChar)).Value = "ddd";
                Comm.Parameters.Add(
new OleDbParameter("@EMPLOYEEID", OleDbType.VarChar)).Value = EmployeeID;

                Comm.ExecuteNonQuery();
            }
一直报错:必须声明标量变量@EMPLOYEENAME

害我调试了n个小时,不行。
换了下面的方式就可以了
            string strSql = "UPDATE M_Employee set  EMPLOYEENAME = ? where  EMPLOYEEID = ? ";

            
using (OleDbCommand Comm = new OleDbCommand(strSql, olecn))
            
{
                Comm.Parameters.Add(
new OleDbParameter("@P1", OleDbType.VarChar)).Value = "ddd";
                Comm.Parameters.Add(
new OleDbParameter("@P2", OleDbType.VarChar)).Value = EmployeeID;

                Comm.ExecuteNonQuery();
            }


不明白是什么原因,是我代码有问题,还是oledb有问题??
posted @ 2007-08-10 17:36  永春  阅读(5712)  评论(4)    收藏  举报