C# 批量插入数据方法

批量插入数据方法

void InsertTwo(List<CourseArrangeInfo> dtF)
{
Stopwatch watch = new Stopwatch();
watch.Start();
DataTable dt = new DataTable();//准备存放数据的临时表
//构造表的列
dt.Columns.Add("ShoppingCartID");
dt.Columns.Add("Produce_ID");
dt.Columns.Add("Number");
dt.Columns.Add("Customer_ID");
dt.Columns.Add("CreateTime");
foreach (var item in dtF)
{
DataRow rows = dt.NewRow();
//rows["ShoppingCartID"] = System.Guid.NewGuid().ToString();
//rows["Produce_ID"] = item.Produce_ID;
//rows["Number"] = item.Number;
//rows["Customer_ID"] = item.Customer_ID;
//rows["CreateTime"] = DateTime.Now;
//dt.Rows.Add(rows);
}
//重点代码处理方式
var ss = ConfigurationManager.ConnectionStrings["default"].ConnectionString;
string connStr = CEncrypt.DecryString(ss);//连接字符串
using (SqlBulkCopy sqlBulkcopy = new SqlBulkCopy(connStr))
{
sqlBulkcopy.DestinationTableName = "ShoppingCart";//定义需要存入数据库中的相应的表的名称
sqlBulkcopy.ColumnMappings.Add("ShoppingCartID", "ShoppingCartID");
sqlBulkcopy.ColumnMappings.Add("Produce_ID", "Produce_ID");
sqlBulkcopy.ColumnMappings.Add("Number", "Number");
sqlBulkcopy.ColumnMappings.Add("Customer_ID", "Customer_ID");
sqlBulkcopy.ColumnMappings.Add("CreateTime", "CreateTime");
sqlBulkcopy.WriteToServer(dt);
}
watch.Stop();
}

时间: 2024-08-28 14:49:28

C# 批量插入数据方法的相关文章

SQL Server 批量插入数据的两种方法

在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题.下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters). 运行下面的脚本,建立测试数据库和表值参数. [c-sharp] view plaincopy --Create DataBase create database BulkTestDB; go use BulkTes

SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法

原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GlobalString.ConnectionString, SqlBulkCopy

MySQL批量插入数据的几种方法

最近公司要求测试数据库的性能,就上网查了一些批量插入数据的代码,发现有好几种不同的用法,插入同样数据的耗时也有区别 别的先不说,先上一段代码与君共享 方法一: package com.bigdata; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.PreparedStatement; public class TestBigData { /**

批量插入数据, 将DataTable里的数据批量写入数据库的方法

大量数据导入操作, 也就是直接将DataTable里的内容写入到数据库 通用方法: 拼接Insert语句, 好土鳖 1. MS Sql Server:   使用SqlBulkCopy 2. MySql: adapter.update()批量更新 MySqlBulkLoader, 这个是从文件里边到的, 有个实现是先将DATATable编程CSV文件, 在用MySqlBulkLoader导入MySql 参考文章: http://theonetechnologies.com/outsourcing/

向mysql中批量插入数据的性能分析

MYSQL批量插入数据库实现语句性能分析 假定我们的表结构如下 代码如下   CREATE TABLE example (example_id INT NOT NULL,name VARCHAR( 50 ) NOT NULL,value VARCHAR( 50 ) NOT NULL,other_value VARCHAR( 50 ) NOT NULL) 通常情况下单条插入的sql语句我们会这么写: 代码如下   INSERT INTO example(example_id, name, valu

.Net批量插入数据到SQLServer数据库,SqlBulkCopy类批量插入大数据到数据库

批量的的数据导入数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 采用SqlBulkCopy来处理存储数据.SqlBulkCopy存储大批量的数据非常的高效,将内存中的数据表直接的一次性的存储到数据库中,而不需要一次一次的向数据库Insert数据. 经过几次实验,百万级别的数据表,也只需几秒时间内就可以完全的存入数据库中,其速度,比传统的Insert into方法不止快很多倍. 下面看代码: /// <summary> /// 批量插入数据 /// </summary> /

Android批量插入数据到SQLite数据库

Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式可以大大提高插入速度. 有时需要把一些数据内置到应用中,常用的有以下2种方式:其一直接拷贝制作好的SQLite数据库文件,其二是使用系统提供的数据库,然后把数据批量插入.我更倾向于使用第二种方式:使用系统创建的数据库,然后批量插入数据.批量插入数据也有很多方法,那么那种方法更快呢,下面通过一个dem

有关批量插入数据的问题

使用c#批量插入数据时,通过for循环,每次执行一条SQL语句进行数据插入,会使插入操作效率非常低下. 提高效率的方法: 1.SqlBulkCopy类. 2.表值参数. 在SqlServer存储过程中还可以 3.将For循环Insert部分放入一个Transaction中. 具体论证与实现,改日追加. 有关批量插入数据的问题,布布扣,bubuko.com

将list&lt;对象&gt;转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据

领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其他的方法,不过这个方法已经实现,就写一下了: 1.创建表. CREATE TABLE [dbo].[person]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Pwd] [nvarchar](50) NULL, [Age]