ASP.NET的SqlBulkCopy用法
2015-04-03 16:24
281 查看
微软封装了一个类,号称百万条数据秒插数据库,它就是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(); } } } }
超简单!!!
相关文章推荐
- ASP.NET之SqlBulkCopy
- asp.net 使用SqlBulkCopy极速插入数据到 SQL Server
- ADO.Net使用SqlBulkCopy
- IBatis.Net 下使用SqlBulkCopy 大批量导入数据 问题解决
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- SqlBulkCopy 的用法
- net2.0中使用SqlBulkCopy进行大批量数据迁移
- ADO.NET 大数据上传的利器 SqlBulkCopy
- ASP.NET中的ling to sql的用法
- 利用ADO.NET SqlBulkCopy 大批量快速导入数据
- ADO.NET 新特性之SqlBulkCopy
- SqlBulkCopy的用法
- ADO.NET 2.0 - 读者询问能否使用 SqlBulkCopy 对象来大量复制文字文件
- c#大量数量插入 SqlbulkCopy详细用法
- 用.NET SqlBulkCopy类执行批量复制
- SqlBulkCopy in ADO.NET 2.0
- ADO.NET 新特性之SqlBulkCopy
- sqlBUlkCopy用法4
- c#ADO.NET / 用 SqlBulkCopy 类,海量批写入数据库