使用SqlDataAdapter更新SQL Server数据库

时间:2013-11-14 14:41:52

标签: c# sql sql-server datatable sqldataadapter

我有DataTable个新条目,我想将它们添加到现有数据库中。

所以我创建了一个SqlDataAdapter并用它填充了第二个表,然后我合并了两个表,并更新了数据库,但没有任何反应,返回值为0,数据库保持不变。

这是我的代码:

DBManager.DBDestinationConnect(textBox10.Text, textBox9.Text, textBox8.Text, textBox7.Text, ref destinationConnection);
//DBManager is a Class, to connect with the database
CategoryAdapterBackup = new SqlDataAdapter("SELECT*FROM " + tablename, destinationConnection);

CategoryTableBackup = new DataTable();
CategoryAdapterBackup.Fill(CategoryTableBackup);
CategoryTableBackup.Merge(SubTable);

//SubTable is the DataTable with the new entries
CategoryAdapterBackup.Update(CategoryTableBackup);

2 个答案:

答案 0 :(得分:0)

尝试CategoryAdapterBackup.Flush()DBManager.Flush() 也可以将SELECT*FROM替换为SELECT * FROM(带空格)

答案 1 :(得分:0)

我在使用此代码识别您的意图时遇到了问题。为什么不简单地在SubTable上使用sqlbulkcopy?这会将SubTable的内容追加到目标SQL表中。如果你害怕重复,那么将SubTable Table的内容插入数据库中的Temp,并使用Join将行插入到目标表中不存在的行的目标表中。