• SqlBulkCopy 极速插入数据


    代码
    SqlBulkCopy sqlBulkCopy =null; //声明SqlBulkCopy对象

    try

    {

    DbHelper db
    =new DbHelper(); //微软DbHelper类

    using (SqlConnection sqlCon = (SqlConnection)DbHelper.CreateConnection())

    {

    sqlBulkCopy
    =new SqlBulkCopy(sqlCon); //实例化SqlBulkCopy对象

    sqlBulkCopy.BulkCopyTimeout
    =180; //180秒执行超时





    string strSql ="select * from Invoice where 1 = 2"; //获取Invoice表结构 的SQL语句 不读取表中的数据

    DbCommand cmd
    = db.GetSqlStringCommond(strSql);

    DataTable dt
    = db.ExecuteDataTable(cmd); //得到只有表结构的数据表Datetable



    for (long i = startSb; i <= endSn; i++) //向表中添加数据

    {

    DataRow drNew
    = dt.NewRow();

    drNew[
    "InvoiceID"] = i;

    drNew[
    "Price"] = price;

    drNew[
    "Manager"] = workerID;

    drNew[
    "IsHandwritten"] = IsHandwritten.ToString().ToLower();

    dt.Rows.Add(drNew);

    }

    sqlCon.Open();
    //打开数据库连接

    sqlBulkCopy.DestinationTableName
    ="Invoice"; //指定要将数据填入的数据库中的物理表名

    sqlBulkCopy.WriteToServer(dt);
    //将数据表写入数据库指定的表中
    sqlCon.Close(); //关闭连接

    }

    }

    catch (SqlException ex)

    {

    Console.WriteLine(ex.Message);
         
    //throrw

    }

    finally

    {

    if(sqlBulkCopy !=null)

    sqlBulkCopy.Close();
    //关闭

    }


    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    数据分析和个人提升
    数据分析和个人提升
    如何用SPSS做联合分析
    如何用SPSS做联合分析
    SPSS与Streams的集成实现实时预测
    互联网时代的精准招聘-Uber新手游有感
    OSEck中odo_vect2pcb的作用
    PHP收邮件receiveMail
    Android调试优化篇
    JSP之Model1
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1778775.html
Copyright © 2020-2023  润新知