ADO.NET与SQL SERVER之向数据库中批量添加、修改数据
2013-04-07 20:55
344 查看
如何将多条数据批量插入到数据库的数据表中?
使用SqlBulkCopy,示例如下:
如何对数据库中数据表的多条数据进行批量更新?
使用SqlDataAdapter,示例如下:
对于删除的批量操作可能与修改类似,这里暂时就不再多做实验了,以后有机会再记录下来。
使用SqlBulkCopy,示例如下:
/// <summary> /// 批量导入数据到数据库 /// </summary> /// <param name="table">数据源表</param> /// <param name="tableName">数据库表名</param> /// <param name="connStr">数据库连接字符串</param> /// <param name="mappings">源表与数据库表的列映射关系</param> public static void BulkCopyDataTable(DataTable table, string tableName,string connStr, params SqlBulkCopyColumnMapping[] mappings) { //使用SqlBulkCopy来批量导入数据到数据库 using (SqlBulkCopy bulkcopy = new SqlBulkCopy(connStr)) { //写出数据库中的目标表名 bulkcopy.DestinationTableName = tableName; //建立数据源与数据库之间列的映射,就是要让SqlBulkCopy知道你要把哪一列插到哪一列 foreach (SqlBulkCopyColumnMapping mapping in mappings) { //也可以通过bulkcopy.ColumnMappings.Add("数据源列名", "数据表列名"); bulkcopy.ColumnMappings.Add(mapping); } //将数据提交到数据库中 bulkcopy.WriteToServer(table); } }
如何对数据库中数据表的多条数据进行批量更新?
使用SqlDataAdapter,示例如下:
//建立数据库连接 using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); //新建一个SqlDataAdapter,因为只用它来做更新,所以在实例化时就不再填写Select的SQL语句 using (SqlDataAdapter adapter = new SqlDataAdapter("", conn)) { //写出更新需要使用的SQL语句 string sqlStr = "update TableName set NeedUpdate = @NewValue where Guid = @Guid"; //新建一个SqlCommand赋给adapter的UpdateCommand adapter.UpdateCommand = new SqlCommand(sqlStr, conn); //向UpdateCommand添加列映射,参数含义分别是: //SQL语句参数名、字段数据类型、字段长度(我也不知道这啥意思,可能char什么的要用到)和数据源表列名 adapter.UpdateCommand.Parameters.Add("@NewValue", SqlDbType.Bit, 1, "NewValue"); adapter.UpdateCommand.Parameters.Add("@Guid", SqlDbType.UniqueIdentifier, 1, "Guid"); //当设置UpdateBatchSize为非1时,需要将此设为None adapter.UpdateCommand.UpdatedRowSource = UpdateRowSource.None; //设置每次到服务器批处理的行数 adapter.UpdateBatchSize = 0; //进行更新操作,table是数据源表,里面的数据能符合上面参数的映射关系即可 adapter.Update(table); } }
对于删除的批量操作可能与修改类似,这里暂时就不再多做实验了,以后有机会再记录下来。
相关文章推荐
- C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
- ADO.NET使用带参数方法实现添加、删除和修改数据
- 用Ado.net可以对数据进行批量添加或更新
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 7.3 使用ADO .NET处理数据
- ADO.Net Entity Framework 4 对SQL Server 数据库表数据 CRUD
- SQL Server 中的批量复制操作 (ADO.NET)--sqlserver快速写入大数据
- asp.net 导入CSV 文件内容 到 SQL Server 数据库 解决CSV内容数据重复添加问题
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 在更新数据库时VS的ADO.NET 实体数据模型中正确显示新添加的实体
- Ado.net批量添加和更新数据简单示例
- Ado.net批量添加和更新数据简单示例
- ADO.NET之6-使用Command修改数据库中的数据---ShinePans
- [MSSQL]添加数据到数据库,ADO.NET入门之前!
- 数据库、数据表创建后 添加,修改,删除表的列,约束等表的定义。
- SQL Server 数据的添加修改删除和查询
- ADO.NET的数据库 连接字符串 SQL SERVER
- 如何使用 ADO.NET 和 Visual C++ .NET 以编程方式创建 SQL Server 数据库
- C# 把一个DT内的数据 批量插入到数据库里(SQL server 2005)
- SQL SERVER 2008数据库的表中修改字段的数据类型后,不能保存
- 如何使用 ADO.NET 和 Visual C# .NET 以编程方式创建 SQL Server 数据库