zoukankan      html  css  js  c++  java
  • 使用SqlBulkCopy进行批量数据插入

     1 Dim dt As DataTable = New DataTable()
     2             dt.Columns.Add("DtCostProductRuleGUID", GetType(Guid))
     3             dt.Columns.Add("RecollectGUID", GetType(Guid))
     4             dt.Columns.Add("ProjCode", GetType(String))
     5             dt.Columns.Add("ProductGUID", GetType(Guid))
     6             dt.Columns.Add("CostCode", GetType(String))
     7             dt.Columns.Add("CostShortName", GetType(String))
     8             dt.Columns.Add("ParentCode", GetType(String))
     9             dt.Columns.Add("CostLevel", GetType(Integer))
    10             dt.Columns.Add("IfEndCost", GetType(Integer))
    11             dt.Columns.Add("DtCost", GetType(Decimal))
    12             dt.Columns.Add("IsAttend", GetType(Integer))
    13             Dim row As DataRow
    14             Using scope As ConnectionScope = New ConnectionScope
    15                 For Each xmlNode In xmlNodeList
    16                     strCostCode = xmlNode.Attributes("CostCode").Value
    17                     strCostShortName = xmlNode.Attributes("CostShortName").Value
    18                     strParetnCode = xmlNode.Attributes("ParentCode").Value
    19                     iCostLevel = CInt(xmlNode.Attributes("CostLevel").Value)
    20                     iIfEndCost = CInt(xmlNode.Attributes("IfEndCost").Value)
    21                     decDtCost = CDec(xmlNode.Attributes("DtCost").Value)
    22                     For i = 0 To iProductCount - 1
    23                         row = dt.NewRow()
    24                         row("DtCostProductRuleGUID") = Guid.NewGuid()
    25                         row("CostCode") = strCostCode
    26                         row("CostLevel") = iCostLevel
    27                         row("CostShortName") = strCostShortName
    28                         row("DtCost") = decDtCost
    29                         row("IfEndCost") = iIfEndCost
    30                         row("IsAttend") = xmlNode.Attributes(dtProduct.Rows(i).Item("Product")).Value.ToString()
    31                         row("ParentCode") = strParetnCode
    32                         row("ProductGUID") = dtProduct.Rows(i).Item("ProductGUID").ToString()
    33                         row("ProjCode") = sProjCode
    34                         row("RecollectGUID") = sRecollectGUID
    35                         dt.Rows.Add(row)
    36                     Next
    37                 Next
    38                 '保存金蝶业态
    39                 xmlNode = xmlDOM.SelectSingleNode("/data/jdRow")
    40                 For i = 0 To iProductCount - 1
    41                     strSQL = "update cb_JdProductRule set  JdProductName='" & xmlNode.Attributes(dtProduct.Rows(i).Item("Product")).Value.ToString() & _
    42                             "' where RecollectGUID=@RecollectGUID and ProductGUID='" & dtProduct.Rows(i).Item("ProductGUID").ToString() & "';"
    43 
    44 
    45 
    46 
    47 
    48 
    49 
    50 
    51                     sbStr.Append(strSQL)
    52                 Next
    53                 CPQuery.From(sbStr.ToString(), param).ExecuteNonQuery()
    54 
    55                 Dim bulkCopy As SqlBulkCopy = scope.CreateSqlBulkCopy(SqlBulkCopyOptions.FireTriggers)
    56                 bulkCopy.DestinationTableName = "cb_DtCostProductRule"
    57                 bulkCopy.WriteToServer(dt)
    58             End Using
  • 相关阅读:
    20150226 IMX257 总线设备驱动模型编程之驱动篇
    20150226 IMX257 总线设备驱动模型编程之设备篇
    20150226 IMX257 总线设备驱动模型编程之总线篇(二)
    python 打印9*9乘法表
    redis设置最大内存上限对置换策略的解读
    redis3.0.6版本的info信息解读
    web访问流程
    WEB请求流程
    linux下mysql-5.6忘记root密码,重置root密码详细过程
    tomcat7+jdk1.8一键安装脚本
  • 原文地址:https://www.cnblogs.com/KingUp/p/5441341.html
Copyright © 2011-2022 走看看