我有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);
答案 0 :(得分:0)
尝试CategoryAdapterBackup.Flush()
或DBManager.Flush()
也可以将SELECT*FROM
替换为SELECT * FROM
(带空格)
答案 1 :(得分:0)
我在使用此代码识别您的意图时遇到了问题。为什么不简单地在SubTable上使用sqlbulkcopy?这会将SubTable的内容追加到目标SQL表中。如果你害怕重复,那么将SubTable Table的内容插入数据库中的Temp,并使用Join将行插入到目标表中不存在的行的目标表中。