求救 用MySqlDataAdapter.Update(DataTable)去批量插入数据时抛InvalidOperationException异常
MySqlConnectionStringBuilder connectionStringBuilder = new MySqlConnectionStringBuilder();connectionStringBuilder.Server = "localhost";
connectionStringBuilder.UserID = "root";
connectionStringBuilder.Password = "111111";
connectionStringBuilder.Database = "test";
MySqlConnection connection = new MySqlConnection(connectionStringBuilder.ToString());
connection.Open();
MySqlCommand selectAllCommand = new MySqlCommand("Select * from student limit 1", connection);
selectAllCommand.UpdatedRowSource = UpdateRowSource.None;
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(selectAllCommand);
dataAdapter.UpdateBatchSize = 0;
DataTable dbDataTable = new DataTable();
int nn = dataAdapter.Fill(dbDataTable);
MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(dataAdapter);
dataAdapter.InsertCommand = commandBuilder.GetInsertCommand(true) as MySqlCommand;
dataAdapter.DeleteCommand = commandBuilder.GetDeleteCommand();
dataAdapter.UpdateCommand = commandBuilder.GetUpdateCommand(true) as MySqlCommand;
for (int ii = 0; ii < 100; ii++)
{
DataRow dataRow = dbDataTable.NewRow();
dataRow["name"] = "zhangsan";
dataRow["age"] = 10;
dataRow["spec"] = "gongren";
dbDataTable.Rows.Add(dataRow);
}
int n = dataAdapter.Update(dbDataTable);
connection.Close();
异常信息是: When batching, the command's UpdatedRowSource property value of UpdateRowSource.FirstReturnedRecord or UpdateRowSource.Both is invalid.
但执行update之前,我明明把所有的UpdatedRowSource设置了None的啊,但运行Update时却把InsertCommand的UpdateRowSource改成FirstReturnedRecord
哪位高人知道,请教请教?? --------------------编程问答-------------------- 有人高人在吗? --------------------编程问答-------------------- 建议转发到相应语言版 --------------------编程问答-------------------- 有人用过吗? --------------------编程问答-------------------- dataAdapter.InsertCommand .UpdatedRowSource = UpdateRowSource.None;
补充:.NET技术 , C#