首页 > 其他分享 >ado.net datetable批量新增

ado.net datetable批量新增

时间:2024-06-04 16:45:03浏览次数:11  
标签:datetable QueryResult connection new var ado net copy

public QueryResult SqlBulkCopy(DataTable dt, string tableName)
{
    try
    {
        connection.Open();
        using (var copy = new SqlBulkCopy(connection))
        {
            copy.DestinationTableName = tableName;
            copy.WriteToServer(dt);
        }

        return new QueryResult() { result = true };
    }
    catch (Exception ex)
    {
        return new QueryResult() { result = false, msg = ex.Message };
    }
    finally { connection.Close(); }

}

使用

private static void InsertTestData()
{
    var table = new DataTable();

    var sqlOperation = new SqlOperation();

    for (int i = 1; i <= 12; i++)
    {
        table.Columns.Add(new DataColumn("column1" + i, typeof(string)));
    }
    table.Columns.Add(new DataColumn("CreateAt", typeof(DateTime)));


    for (int j = 0; j < 10; j++)
    {
        for (int i = 1; i <= 10000; i++)
        {
            table.Rows.Add(new object[] {
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            Guid.NewGuid().ToString().Replace("-","-"),
            DateTime.Now
        });
        }
        var result = sqlOperation.SqlBulkCopy(table, "TestTable");
        table.Rows.Clear();
    }
}

标签:datetable,QueryResult,connection,new,var,ado,net,copy
From: https://www.cnblogs.com/duixue/p/18231187

相关文章

  • netplan网络配置@ubuntu留档
    ubuntu使用netplan进行网络配置,简单又方便。配置的时候编辑/etc/netplan目录里的文件即可,如00-installer-config.yaml文件。固定ip配置network:ethernets:enp0s5:dhcp4:noaddresses:[192.168.1.7/24]routes:-to:default......
  • Netty线程模型
    在Netty编程模型入门案例中客户端和服务端通信底层如何实现的呢?先看客户端和服务端的类图:两类图大致一样,区别在于ServerBootstrap与EventLoopGroup是组合关系,而Bootstrap与EventLoopGroup之间没有直接的关系。实际在......
  • 面试官:说说Netty对象池的实现原理?
    Netty作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术。1.什么是对象池技术?对象池技术是一种重用对象以减少对象创建和销毁带来的开销的方法。在对象池中,只有第一次访问时会创建对......
  • .netCore System.Drawing.Common 发布,在CentOS 运行报错,生成图片流时。会因为不支持在
    报错:System.PlatformNotSupportedException:System.Drawing.Commonisnotsupportedonnon-Windowsplatforms.Seehttps://aka.ms/systemdrawingnonwindowsformoreinformation. >System.PlatformNotSupportedException:System.Drawing.Commonisnotsupported......
  • kunernetes中路由器反射模式下与外部路由器配置BGP
    kunernetes中路由器反射模式下与外部路由器配置BGP,减少外部物理设备与K8S集群节点之间建立的BGP对等连接。如下为本次的拓扑图1.配置K8S集群为路由器反射模式1.1.关闭全互联模式root@master:~/bgp#catdisable-node-mesh.ymlapiVersion:projectcalico.org/v3kind:BGP......
  • CSRedis用于Redis哨兵模式,NetCore
    十年河东,十年河西,莫欺少年穷学无止境,精益求精上一节通过两台windowsServer服务器部署了Redis的哨兵模式,详情参考:两台windowserver服务器配置Redis哨兵集群----一主二从redis通过主从复制来实现高可用,但是发生故障时需要人工进行主从切换,效率低下。哨兵机制实现了redis主从的自......
  • neural network structure 神经网络
    分类多层感知神经网络——最基础卷积神经网络——善于图像识别长短期记忆网络——善于语音识别多层感知——数字识别以一张28*28像素的单个数字图片为例,输出对应0-9![](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml17560\wps1.jpg)每个像素点的灰度值0-1,即输入为......
  • .NET Core Configuration 配置项知识点一网打尽!
    控制台项目中,演示示例ConsoleAppConfig项目1.自定义 DictionaryConfig 内存字典模式dotnet add package Microsoft.Extensions.ConfigurationIConfigurationBuilder builder = new ConfigurationBuilder();builder.AddInMemoryCollection(new Dictionary<s......
  • .NET Core Configuration 配置项知识点一网打尽!
    控制台项目中,演示示例1.自定义 DictionaryConfig 内存字典模式dotnet add package Microsoft.Extensions.ConfigurationIConfigurationBuilder builder = new ConfigurationBuilder();builder.AddInMemoryCollection(new Dictionary<string, string>(){  ......
  • AutoCAD .net 二次开发 PaletteSet取消允许固定
    今天在使用PaletteSet的时候偶然发现一个与预期不符的情况我需要一个用鼠标拖动到侧边不会自动贴靠在CAD侧边(或其他边)的PaletteSet,于是我将PaletteSet的Dock和DockEnabled属性设置为DockSides.None示例代码如下: 但是当我打开cad执行此段代码之后,我发现我的面板仍然可以被......