110,566
社区成员
发帖
与我相关
我的任务
分享
使用事物,可以先删除所有,再添加,感觉快点。
string sql="Update trusts set price =10 where sharecode='000001';Update trusts set price =20 where sharecode='000002';Update trusts set price =15 where sharecode='000003';"
然后一起执行? DataSet dataSet = new DataSet();
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
OleDbDataAdapter adapter =
new OleDbDataAdapter();
adapter.SelectCommand =
new OleDbCommand(queryString, connection);
OleDbCommandBuilder builder =
new OleDbCommandBuilder(adapter);
adapter.Fill(dataSet);
// Code to modify data in the DataSet here.
// Without the OleDbCommandBuilder, this line would fail.
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.Update(dataSet);
}
问题1:
这是要求,dataSet是完整的包含整张表的数据的吗,比如表有1000行数据,但是我某个查询只是获取500条。然后对500条进行增删改查之后,只剩下300条(有修改)。
那:
adapter.UpdateCommand = builder.GetUpdateCommand();
adapter.Update(dataSet);
对它执行这个操作之后,表的状态是?
其原理是不是:select部分数据行,然后每一个Row都有一个RowState,Update(dataSet);会根据这个RowState执行增删改操作,不影响原有没填充到DataSet的数据?
------
之前一直都是遍历list循环执行sql的,dataset一般都是只select用