SqlLite用SQLiteTransaction快速导入数据
mysql与sql server都有整表导入的类库,但是查遍了资料发现sqlLite没有,除非自己去写个,发现用SQLiteTransaction导入数据也很快,附上代码
/// <summary>
/// 导入major表数据
/// </summary>
/// <param name="con"></param>
/// <param name="dt"></param>
public static void InsertMajor(string con, DataTable dt)
{
try
{
SQLiteConnection connection = new SQLiteConnection("data source=" + con);
connection.Open();
SQLiteCommand command = connection.CreateCommand();
SQLiteTransaction transaction = connection.BeginTransaction(); #region Sql语句
command.CommandText = "INSERT OR IGNORE INTO major " +
"(id," +
"year," +
"major," +
"inter_code," +
"edu_department," +
"report_school ," +
"subject," +
"prm_level ," +
"city," +
"type," +
"level," +
"prm_major," +
"prm_type," +
"major_new)" + "VALUES" +
"(" + "@id," +
"@year," +
"@major," +
"@inter_code," +
"@edu_department," +
"@report_school ," +
"@subject," +
"@prm_level," +
"@city," +
"@type," +
"@level," +
"@prm_major," +
"@prm_type," +
"@major_new)"; #endregion #region
command.Parameters.AddWithValue("@id", "");
command.Parameters.AddWithValue("@year", "");
command.Parameters.AddWithValue("@major", "");
command.Parameters.AddWithValue("@inter_code", "");
command.Parameters.AddWithValue("@edu_department", "");
command.Parameters.AddWithValue("@report_school", "");
command.Parameters.AddWithValue("@subject", "");
command.Parameters.AddWithValue("@prm_level", "");
command.Parameters.AddWithValue("@city", "");
command.Parameters.AddWithValue("@type", "");
command.Parameters.AddWithValue("@level", "");
command.Parameters.AddWithValue("@prm_major", "");
command.Parameters.AddWithValue("@prm_type", "");
command.Parameters.AddWithValue("@major_new", ""); #endregion
for (int i = ; i < dt.Rows.Count; i++)
{
command.Parameters["@id"].Value = dt.Rows[i]["id"].ToString();
command.Parameters["@year"].Value = dt.Rows[i]["year"].ToString();
command.Parameters["@major"].Value = dt.Rows[i]["major"].ToString();
command.Parameters["@inter_code"].Value = dt.Rows[i]["inter_code"].ToString();
command.Parameters["@edu_department"].Value = dt.Rows[i]["edu_department"].ToString();
command.Parameters["@report_school"].Value = dt.Rows[i]["report_school"].ToString();
command.Parameters["@subject"].Value = dt.Rows[i]["subject"].ToString();
command.Parameters["@prm_level"].Value = dt.Rows[i]["prm_level"].ToString();
command.Parameters["@city"].Value = dt.Rows[i]["city"].ToString();
command.Parameters["@type"].Value = dt.Rows[i]["type"].ToString();
command.Parameters["@level"].Value = dt.Rows[i]["level"].ToString();
command.Parameters["@prm_major"].Value = dt.Rows[i]["prm_major"].ToString();
command.Parameters["@prm_type"].Value = dt.Rows[i]["prm_type"].ToString();
command.Parameters["@major_new"].Value = dt.Rows[i]["major_new"].ToString();
command.ExecuteNonQuery();
} transaction.Commit();
command.Dispose();
connection.Dispose();
}
catch (Exception ex)
{
string str = ex.ToString();
}
}
SqlLite用SQLiteTransaction快速导入数据的更多相关文章
- 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间
-- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...
- Oracle快速导入数据工具
sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试.考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入. 基本知识 sqlldr命令语法 sqlldr dbname/ ...
- MySQL 之 LOAD DATA INFILE 快速导入数据
SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...
- redis-cli 通过管道 --pipe 快速导入数据到redis中
最近有个需求,需要把五千万条数据批量写入redis中,方法倒是有很多种!效率最高的就是通过redis-cl管道的方式写入 一:先看看命令 cat redis.txt | redis-cli -h 12 ...
- c# 采用datatable 快速导入数据至MSSQL的方法分享
转自:http://www.maomao365.com/?p=5613 摘要:下文讲述使用c#代码快速将dataTable导入至mssql数据库的方法 实现思路:需要将datatable调整为同目标表 ...
- MySQL InnoDB 快速导入数据
今天把需要分析的数据导入到数据库中. 数据将近7000万条,在txt文件中存放,共5.75G.采用Load data infile 导入,最后花了18个小时导入.主要做了以下修改: 1. MySQL优 ...
- [转]Greenplum 通过gpfdist + EXTERNAL TABLE 并行导入数据
摘要: Greenplum 提供了快速导入数据的方法,下面通过一个例子演示给大家. Greenplum 提供了快速导入数据的方法,下面通过一个例子演示给大家. 我们用TPCH测试中最大的表做导入测试 ...
- MySQL如何快速插入数据
前言: 日常学习和工作中,经常会遇到导数据的需求.比如数据迁移.数据恢复.新建从库等,这些操作可能都会涉及大量数据的导入.有时候导入进度慢,电脑风扇狂转真的很让人崩溃,其实有些小技巧是可以让导入更快速 ...
- MySQL 快速导入大量数据 资料收集
一.LOAD DATA INFILE http://dev.mysql.com/doc/refman/5.5/en/load-data.html 二. 当数据量较大时,如上百万甚至上千万记录时,向My ...
随机推荐
- 对Activity启动模式的理解
对Activity启动模式的理解 应用场景 在已打开多个Activity应用B的前提下,应用A调用应用B后点击返回按钮,需要直接返回到A应用,而不是打开B应用的上一个Activity 一个Task可以 ...
- Centos 文件系统基础命令
目录 centos7的目录结构(linux所以的都文件,万物接文件) 1 pwd 显示当前所在的路径 2 cd 切换目录结构 3 mkdir创建目录信息 4 touch 创建文件(触摸) 5 ls 检 ...
- abstract class 和 interface 有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况.不能创建abstract 类的实例.然 ...
- Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别
Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...
- [AGC034F]RNG and XOR
题目 点这里看题目. 分析 第一步可以将\(A\)数组转化成概率\(P(j)\):每一步操作异或\(j\)的概率. 接着发现,\(x\)从\(0\)变成\(i\)的期望等于\(x\)从\( ...
- turtle绘制彩色螺旋线
代码实现: #绘制彩色螺旋线 import turtle import time turtle.pensize(2) turtle.bgcolor("black") colors ...
- Web测试和app测试区别?
EB测试和APP测试从流程上来说,没有区别.都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动.从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试,性能 ...
- C# WPF - MVVM实现OPC Client管理系统
前言 本文主要讲解采用WPF MVVM模式设计OPC Client的过程,算作对于WPF MVVM架构的学习记录吧!不足之处请不吝赐教,感谢! 涉及知识点 C#基础 Xaml基础 命令.通知和数据绑定 ...
- 入门大数据---Flume 简介及基本使用
一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG ( ...
- jQuery制作div板块拖动层排序
html结构: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...