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

C# 如何使用数据集中的值更新数据库?,c#,database,dataset,C#,Database,Dataset,下面的代码抛出了一个异常,表示无法找到表ABC首先,因为Paddy、.Fill和.Update方法使用不同的数据集。一个是dset,另一个是ds 我认为这个异常发生在adapter.Updateds,ABC;行,因为即使没有名为ABC的表,也会在数据集中创建ABC表 Fill方法支持数据集包含多个 名称仅按大小写不同的DataTable对象。在这种情况下,, Fill执行区分大小写的比较,以找到相应的 表,并在不存在精确匹配的情况下创建新表 但他没有这样做。如果尝试更新不存在的表,则不会在数据集

下面的代码抛出了一个异常,表示无法找到表ABC

首先,因为Paddy、.Fill和.Update方法使用不同的数据集。一个是dset,另一个是ds

我认为这个异常发生在adapter.Updateds,ABC;行,因为即使没有名为ABC的表,也会在数据集中创建ABC表

Fill方法支持数据集包含多个 名称仅按大小写不同的DataTable对象。在这种情况下,, Fill执行区分大小写的比较,以找到相应的 表,并在不存在精确匹配的情况下创建新表

但他没有这样做。如果尝试更新不存在的表,则不会在数据集中创建新表


最接近此。更新方法搜索区分大小写的匹配,在本例中为abc,如果找不到,则抛出异常。

好的格式是您的朋友。使用它。你的更新使用的数据集与选择的不同…@Paddy Hah,这是一个很好的捕获。
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");