Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C OLEDB数据适配器应用更新_C#_Sql_Oledbdataadapter - Fatal编程技术网

C# C OLEDB数据适配器应用更新

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];

我已经构建了一个函数,该函数应该使用OleDbDataAdaper更新表,但是当解析器到达适配器时,我遇到了这个错误:

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。错误发生在构造函数行上。