使用 SqlDataAdapter.Update 方法时复制表行
本文关键字:复制 方法 SqlDataAdapter Update 使用 | 更新日期: 2023-09-27 18:36:58
在我的项目中,我有表"产品"。
ID Name Price
------------------
1 xyz 100
2 abc 200
3 pqr 300
在我的 c# 代码中,我想使用 SqlAdapter 更新我的表行。为此,我装了一个数据表
DataTable dtTable=new DataTable("Product");
将更新的值添加到数据表 。那是
ID Name Price
------------------
1 aaa 100
2 bbb 200
3 ccc 300
我使用以下步骤使用此值更新数据库中的表
SqlConnection myLocalConnection = new SqlConnection(_ConnectionString);
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("Select * from " + dtTable.TableName, myLocalConnection);
SqlCommandBuilder mySqlCommandBuilder = new SqlCommandBuilder(mySqlDataAdapter);
mySqlDataAdapter.Update(dtTable);
但是在执行此更新功能时,在数据库中所有表都是重复的。那是
ID Name Price
------------------
1 xyz 100
2 abc 200
3 pqr 300
4 aaa 100
5 bbb 200
6 ccc 300
我只想替换现有数据。为什么这些行在此表中重复。请帮忙
根据使用DataAdapters更新数据源,您必须自己指定更新命令,然后才能调用SQL数据适配器的Update函数!
SqlDataAdapter mySqlDataAdapter =
new SqlDataAdapter("Select * from " + dtTable.TableName, myLocalConnection);
dataAdpater.UpdateCommand = new SqlCommand("UPDATE ...", connection);
mySqlDataAdapter.Update(dtTable);