C# C OLEDB数据适配器应用更新
我已经构建了一个函数,该函数应该使用OleDbDataAdaper更新表,但是当解析器到达适配器时,我遇到了这个错误:C# C OLEDB数据适配器应用更新,c#,sql,oledbdataadapter,C#,Sql,Oledbdataadapter,我已经构建了一个函数,该函数应该使用OleDbDataAdaper更新表,但是当解析器到达适配器时,我遇到了这个错误: Object reference not set to an instance of an object. 这是我的代码,我想我缺少了一些可以进行更新的代码 if (dataset2.Tables[0].Rows.Count > 0) { DataTable datatable2 = dataset2.Tables[0];
Object reference not set to an instance of an object.
这是我的代码,我想我缺少了一些可以进行更新的代码
if (dataset2.Tables[0].Rows.Count > 0)
{
DataTable datatable2 = dataset2.Tables[0];
foreach (DataRow datarow2 in datatable2.Rows)
{
conexiuneBD.Open();
string id = Convert.ToString(datarow2["ID"]);
OleDbDataAdapter adapter3 = new OleDbDataAdapter("UPDATE table SET occupied='True',date=? WHERE ID=?", DBConnection);
adapter3.UpdateCommand.Parameters.AddWithValue("p1", date);
adapter3.UpdateCommand.Parameters.AddWithValue("p2", id);
conexiuneBD.Close();
break;
}
}
将问题与问题分开,但不要调用adapter3.Update;另外:该错误发生在哪一行?带构造函数的行,还是?@Hassansar之后的第一行?适用于OleDbCommand,因为它不支持命名参数。最后,看起来您正在遍历一个db结果集,根据结果一次更新一条记录。这样做几乎总是错误的。发布你是如何填充数据集2的,我们可能会帮助你将这一问题简化为一个更新查询。中断将中断foreach。感谢你让我知道.update。错误发生在构造函数行上。