zoukankan      html  css  js  c++  java
  • DataTable批量存数SQL数据库中

     1 #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
     2         /// <summary>
     3         /// 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
     4         /// </summary>
     5         /// <param name="strTableName">数据库中对应的表名</param>
     6         /// <param name="dtData">数据集</param>
     7         public static void SqlBulkCopyInsert(string strTableName, DataTable dtData,string connectionString)
     8         {
     9             string ConStr = connectionString;// 数据库连接字符串
    10 
    11             try
    12             {
    13                 using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(ConStr))//引用SqlBulkCopy
    14                 {
    15                     sqlRevdBulkCopy.DestinationTableName = strTableName;//数据库中对应的表名
    16                     sqlRevdBulkCopy.NotifyAfter = dtData.Rows.Count;//有几行数据
    17                     sqlRevdBulkCopy.WriteToServer(dtData);//数据导入数据库
    18                     sqlRevdBulkCopy.Close();//关闭连接
    19                 }
    20             }
    21             catch (Exception ex)
    22             {
    23                 MessageBox.Show(ex.Message + "数据库处理行。SqlBulkCopyInsert");
    24                 throw (ex);
    25             }
    26         }
    27         #endregion

    25万行数据只需要将近2秒时间。但是这个好像只是适用于SQL数据库,对于SDE是不好用的,暂时还不知为何?

    2014-11-13   17:55:18更新,找到SDE修改的方法:

    先用:TRUNCATE TABLE 表名,这条SQL语句清空数据表,保留原来的数据结构,然后在使用上面的批量插入数据。

    趁年轻努力提高自己
  • 相关阅读:
    问题排查帮助手册
    《操作系统真象还原》环境搭建
    crawlergo动态爬虫去除Spidername使用
    python实现排序算法
    深海 => 暴力扫描挖掘机
    WEB安全漏洞挖掘向入坑指北
    关于我 About Me
    代码审计系列题目CTFD部署(上)
    ARL资产导出对接Xray扫描
    Xray批量化自动扫描
  • 原文地址:https://www.cnblogs.com/chinatrust/p/4086503.html
Copyright © 2011-2022 走看看