微软自己的文档提供了一个删除记录的例子,如下:
// Create the DeleteCommand.
command = new SqlCommand(
"DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);
// Add the parameters for the DeleteCommand.
parameter = command.Parameters.Add(
"@CustomerID", SqlDbType.NChar, 5, "CustomerID");
parameter.SourceVersion = DataRowVersion.Original;
adapter.DeleteCommand = command;
但是在我的系统上它不起作用(抱怨缺少@CustomerID)。相反,如果我更换
command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
上面有
command.Parameters.AddWithValue("@CustomerID", 5);
它有效。
为什么?