給定一個加載了一些數據的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;