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

本文关键字:更新 数据库 集中 何使用 数据 数据集 | 更新日期: 2023-09-27 18:26:00

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

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

首先,正如 Paddy 所说,您的.Fill.Update方法使用不同的DataSet。一个是dset,另一个是ds.

我认为此异常发生在adapter.Update(ds,"ABC");行上,因为即使没有名为ABC的表DbDataAdapter.Fill该方法也会在您的dset中创建ABC表。

Fill 方法支持数据集包含多个的方案 名称仅大小写不同的数据表对象。在这种情况下, 填充执行区分大小写的比较以查找相应的 表,并在不存在完全匹配项时创建一个新表

但是DbDataAdapter.Update方法不能做到这一点。如果您尝试更新不存在的表,它不会在您的DataSet中创建新表。

最接近的是,这个.Update方法搜索区分大小写的匹配项(在这种情况下abc(,如果找不到它,则引发异常。