OleDBParameterCollection 只接受非空值 OleDbparmeter 类型的对象

OleDBParameterCollection only accepts non null values OleDbparmeter type objects

 lala.Parameters.Add(new OleDbParameter("@Base", OleDbType.SmallInt).Value = textBox15.Text);
 textBox15.Text = reader["@Base"].ToString();

第一行代码出现如下错误

OleDBParameterCollection only accepts non null values OleDbparmeter type objects

有什么建议吗?

new OleDbParameter("@Base", OleDbType.SmallInt).Value = textBox15.Text 是类型 string 的赋值表达式。所以 lala.Parameters.Add(new OleDbParameter("@Base", OleDbType.SmallInt).Value = textBox15.Text); 实际上是在调用 OleDbParameterCollection.Add Method (Object) (https://msdn.microsoft.com/en-us/library/ms136047(v=vs.110).aspx)。显然 string 不是 OleDbParameter 对象。

正确的方法是使用局部变量:

var parameter = new OleDbParameter("@Base", OleDbType.SmallInt);
parameter.Value = textBox15.Text;
lala.Parameters.Add(parameter);