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快速导入数据的更多相关文章

  1. 1118ALTER TABLE tabname DISCARD TABLESPACE快速导入数据利用表空间

    -- 快速导入数据如果你有.ibd文件的一个干净的备份,你可以按如下操作从被起源的地方恢复它到MySQL安装中:相当快速 1. 发出这个ALTER TABLE语句: 2. ALTER TABLE tb ...

  2. Oracle快速导入数据工具

    sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试.考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入. 基本知识 sqlldr命令语法 sqlldr dbname/ ...

  3. MySQL 之 LOAD DATA INFILE 快速导入数据

    SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...

  4. redis-cli 通过管道 --pipe 快速导入数据到redis中

    最近有个需求,需要把五千万条数据批量写入redis中,方法倒是有很多种!效率最高的就是通过redis-cl管道的方式写入 一:先看看命令 cat redis.txt | redis-cli -h 12 ...

  5. c# 采用datatable 快速导入数据至MSSQL的方法分享

    转自:http://www.maomao365.com/?p=5613 摘要:下文讲述使用c#代码快速将dataTable导入至mssql数据库的方法 实现思路:需要将datatable调整为同目标表 ...

  6. MySQL InnoDB 快速导入数据

    今天把需要分析的数据导入到数据库中. 数据将近7000万条,在txt文件中存放,共5.75G.采用Load data infile 导入,最后花了18个小时导入.主要做了以下修改: 1. MySQL优 ...

  7. [转]Greenplum 通过gpfdist + EXTERNAL TABLE 并行导入数据

    摘要: Greenplum 提供了快速导入数据的方法,下面通过一个例子演示给大家. Greenplum 提供了快速导入数据的方法,下面通过一个例子演示给大家. 我们用TPCH测试中最大的表做导入测试 ...

  8. MySQL如何快速插入数据

    前言: 日常学习和工作中,经常会遇到导数据的需求.比如数据迁移.数据恢复.新建从库等,这些操作可能都会涉及大量数据的导入.有时候导入进度慢,电脑风扇狂转真的很让人崩溃,其实有些小技巧是可以让导入更快速 ...

  9. MySQL 快速导入大量数据 资料收集

    一.LOAD DATA INFILE http://dev.mysql.com/doc/refman/5.5/en/load-data.html 二. 当数据量较大时,如上百万甚至上千万记录时,向My ...

随机推荐

  1. (一)linux三剑客之grep

    给自己提出以下6个问题,看自己是否真正掌握了grep [1] grep 是什么? [2] grep 有什么作用 ? [4] grep 常用于何处 ? [5] grep 的基本用法 ? [6] grep ...

  2. Mybatis反射修改SQL值

    Mybatis反射修改SQL值 某一些情况下我们需要动态的改变Mybtis的执行的sql语句,有两种方法:1)使用拦截器,2)使用反射,拦截器的比较简单点,这里使用反射实现一次,有一点小坑,记录一下: ...

  3. wget下载网盘等需要cookie的文件的方法

    在浏览器(Chrome.Firefox等)上安装插件cookies 然后进入该网页,导出cookies.txt 使用命令下载: wget -c --load-cookies=cookies.txt & ...

  4. throws,throw,try,catch,finally 分别代表什么 意义?

    Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口. 在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例.当一个方法出现异常后便 抛出一个异 ...

  5. iOS/swift 单选框和复选框

    /** 复选框 */ import UIKit class LYBmutipleSelectView: UIView { var selectindexs:[Int]=[]//选中的 //标题数组 v ...

  6. isinstance用法

    ''' 作用:来判断一个对象是否是一个已知的类型. 其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表((int,list,float)是一个列表). ...

  7. LeetCode 78,面试常用小技巧,通过二进制获得所有子集

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第47篇文章,我们一起来看下LeetCode的第78题Subsets(子集). 这题的官方难度是Medium,点赞 ...

  8. 为什么Web开发人员在2020年不用最新的CSS功能

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/why-masses-are-not-usi ...

  9. rust 编译器工作流

    将源代码转为高级中间表示,在将其转为中级中间表示,在将其转为LLVM IR, 最终输出机器码. rust 租借检查 选项优化,代码生成(宏, 范型) , 都是在MIR层.

  10. ca70a_c++_重载函数_实参类型转换

    /*ca70a_c++_重载函数_实参类型转换转换等级,详见P290 编译选择哪个函数版本呢?1.精确匹配2.通过类型提升3.通过标准转换4.通过类类型转换参数匹配和枚举类型重载和const形参 vo ...