莫名其妙的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();
}害我调试了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有问题??

浙公网安备 33010602011771号