ASP.NET的SqlBulkCopy用法
来源:互联网 发布:js before 编辑:程序博客网 时间:2024/05/21 00:49
微软封装了一个类,号称百万条数据秒插数据库,它就是SqlBulkCopy
现在让我们来看看怎么使用吧
/// <summary> /// DataTale整张表数据插入数据 /// </summary> /// <param name="dt">要插入的table数据</param> /// <param name="tableName">目标数据表名</param> /// <param name="fieldName">必须提供所有的字段</param> /// <returns>返回成功,或者失败 true or false</returns> public static bool SqlBulkInsert(DataTable dt, string tableName,string[] fieldName) { using (SqlConnection conn = new SqlConnection(Conn.ConnString)) { conn.Open(); using (SqlBulkCopy bulk = new SqlBulkCopy(Conn.ConnString)) { try { //when the table data handle done bulk.DestinationTableName = tableName; for (int i = 0; i < fieldName.Length; i++) { bulk.ColumnMappings.Add(fieldName[i], fieldName[i]); } bulk.WriteToServer(dt); //去重 using (SqlCommand cmd = conn.CreateCommand()) { StringBuilder temp = new StringBuilder(); temp.AppendFormat(" delete from {0} where IsDelete=1 and Name in( ", tableName); temp.AppendFormat(" select distinct Name from {0} where IsDelete=1 group by Name having COUNT(Name)>1) and ", tableName); temp.AppendFormat(" Id not in(select min(Id) from {0} where IsDelete=1 group by Name having COUNT(Name)>1) ", tableName); cmd.CommandText = temp.ToString(); cmd.ExecuteNonQuery(); } return true; } catch { return false; } finally { conn.Close(); bulk.Close(); } } } }
超简单!!!
0 0
- ASP.NET的SqlBulkCopy用法
- SqlBulkCopy 简单的用法
- [.Net码农]SqlBulkCopy的几点注意事项
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- 使用asp.net 2.0中的SqlBulkCopy类批量复制数据
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- asp.net 2.0中的SqlBulkCopy类批量复制数据
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- 使用asp.net 2.0中的SqlBulkCopy类批量复制数据
- 使用asp.net 2.0中的SqlBulkCopy类批量复制数据
- 使用asp.net 2.0中的SqlBulkCopy类批量复制数据
- asp.net MD5的用法
- asp.net cookies的用法
- asp.net MD5的用法
- asp.net Cache的用法
- ASP.NET皮肤的用法...
- Hibernate,JPA 对象关系映射之关联关系映射策略
- gvim下的常识性知识
- Kinect V2 开发专题(3)设备信息获取与音频功能探索
- JavaScript与.Net MVC的一次纠结之旅
- Android 自定义Adapter的ListView
- ASP.NET的SqlBulkCopy用法
- 【网络组件】接受连接Acceptor
- Ubuntu14.04 32位上编译VLC2.2.0源码操作步骤
- 深入理解Apache Mina (1)---- Mina的几个类
- 线程
- [Windows编程] 通过GetModuleHandleEx 得到函数调用者所在的DLL/EXE
- android之子线程中Handler
- 定位Android NDK开发中遇到的错误
- 将二元函数应用于Scala集合