如何使用数据集中的值更新数据库?

时间:2014-10-09 11:42:05

标签: c# database dataset

string s = "Select number,name from table where id = 5 and num = 20";

SqlDataAdapter adapter = new SqlDataAdapter(s, con);
adapter.Fill(dset, "ABC");

SqlCommandBuilder sT = new SqlCommandBuilder(adapter);
adapter.Update(ds,"ABC");

以下代码抛出异常,表示无法找到表ABC

1 个答案:

答案 0 :(得分:0)

首先,作为Paddy said,您的.Fill.Update方法使用不同的DataSet&#39。一个是dset,另一个是ds

我认为此异常发生在adapter.Update(ds,"ABC");行,因为DbDataAdapter.Fill method会在ABC中创建dset表,即使表格中没有ABC

  

Fill方法支持DataSet包含多个的场景   名称仅由大小写不同的DataTable对象。在这种情况下,   Fill执行区分大小写的比较以查找相应的   table,如果不存在完全匹配则创建新表

但是DbDataAdapter.Update method并没有这样做。如果您尝试更新不存在的表格,则不会在DataSet中创建新表格。

.Update方法搜索区分大小写的匹配项(在这种情况下为abc)并且如果找不到它,则抛出异常。