给定一个加载了一些数据的DataTable
如何重复使用不同的SqlDataAdapter.Update()
方法对不同的SQL Server数据库表执行多次插入?如何重复使用DataTable插入多个SqlDataAdapter
在使用DataTable
向表1中插入记录后,不同的SqlDataAdapter
不会将数据插入到表2中,并且Update()
方法始终返回0而不会引发异常。
我尝试使用DataTable
的Copy()
和RejectChanges()
方法,但它永远不会将数据插入表2
一些代码:
var dataAdapter1 = new SqlDataAdapter
{
UpdateBatchSize = updateBatchSize,
InsertCommand = new SqlCommand(insertCommand1, dbConnection)
{
UpdatedRowSource = UpdateRowSource.None
}
};
dataAdapter1 .InsertCommand.Parameters.Add("@Id", SqlDbType.Int, 0, "Id");
dbConnection.Open();
dataAdapter1 .Update(dtSomeDataTable);
// This inserts data into table 1.
var dataAdapter2 = new SqlDataAdapter
{
UpdateBatchSize = updateBatchSize,
InsertCommand = new SqlCommand(insertCommand2, dbConnection)
{
UpdatedRowSource = UpdateRowSource.None
}
};
var count = dataAdapter2.Update(dtSomeDataTable);
//This does not insert any records (or throws an exception) and variable count is always 0;