1

在我的项目中,我有表“产品”。

ID  Name   Price
------------------  
1   xyz     100

2   abc     200

3   pqr     300

在我的 c# 代码中,我想使用 SqlAdapter 更新我的表行。为此,我创建了一个数据表

DataTable dtTable=new DataTable("Product");

将更新的值添加到 Datatable 。也就是说,

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

我只想替换现有数据。为什么这些行在此表中重复。请帮忙

4

1 回答 1

0

根据使用 DataAdapters 更新数据源,您必须自己指定更新命令,然后才能调用 sql 数据适配器的更新函数!

SqlDataAdapter mySqlDataAdapter = 
     new SqlDataAdapter("Select * from " + dtTable.TableName, myLocalConnection);
dataAdpater.UpdateCommand = new SqlCommand("UPDATE ...", connection);
mySqlDataAdapter.Update(dtTable);
于 2013-10-25T06:27:37.297 回答