.net批量更新(插入、修改、删除)数据库
2015-10-14 12:04
337 查看
思路: 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);
注:如果涉及的数据量比较大,则应该考虑数据库端的方案,如:先批量插入到数据库中,再在数据库端做批量更新的处理
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);
注:如果涉及的数据量比较大,则应该考虑数据库端的方案,如:先批量插入到数据库中,再在数据库端做批量更新的处理
相关文章推荐
- MySql记录一(从安装开始)
- hiredis的安装
- MySql:增删改查(CRUD)以及乱码编码解决(2)
- Mysql修改&设置密码
- mysql 按照 where id IN (42,25,26,27) 按照顺序查找id 的办法
- jsp简单连接SQL Server2000数据库的方法
- PostgreSQL实用日常维护SQL
- 淘宝分布式NOSQL框架:Tair
- 数据库_JDBC_连接SQL Sever 常见Bug
- MySQL学习笔记11:运算符
- MySQL学习笔记10:修改数据
- MySQL乱码
- MySQL学习笔记9:连接查询
- MySql5.0命令全集
- MySQL学习笔记8:函数查询
- ofbiz 安装以及使用mysql数据库
- 对oracle数据库使用sql脚本进行导入导出
- SqlBulkCopy快速批量上传大量数据到SqlServer
- memcached 安装
- 对oracle数据库使恢复 dump文件