思路: 1. 设置DataTable中每行的状态标识,即调用DataRow的方法setAdded()、setModified()、Delete()
2. 使用DataAdapter的Update(DataTable)方法
代码例子:
String connString = "........"; //连接字符串
String selectCommand = "select * from item";
SqlDataAdapter da = new SqlDataAdapter(selectCommand,connString);
SqlCommandBuilder cb = new SqlCommandBuilder(da); //自动生成对应的insert、update、delete语句
DataTable dt = new DataTable();
//填充dt
da.Fill(dt);
//更新dt中的数据和行状态(新增、删除、修改)
foreach (DataRow dr in dt.Rows)
{
//更新数据的代码(略)
// 设置行状态
// dr.SetAdded();
// dr.SetModified();
// dr.Delete();
}
//更新到数据库
da.Update(dt);
注:如果涉及的数据量比较大,则应该考虑数据库端的方案,如:先批量插入到数据库中,再在数据库端做批量更新的处理
时间: 2024-11-05 18:44:16