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. SwiftUI - iOS10本地推送通知教程UserNotifications在Swift中的实现方式

    简介 消息推送相信在很多人的眼里都不陌生了吧?像即时聊天微信,好友发信息给你时会在顶部弹下小窗口提醒你.也像是在影院APP预订了电影票,在开场前一小时你也会收到提醒.这类推送是需要经过后端发送请求的, ...

  2. Python 抓取网页tag操作

    1. 获取操作tag 获取操作tag的接种方式: soup.find_all(name=None, attrs={}, recursive=True, text=None, limit=None, * ...

  3. Python 报错:NameError: name 'ctypes' is not defined

    使用python中的ctypes模块可以很方便的调用windows的dll(也包括linux下的so等文件) 引入ctypes库 有两种方法 from ctypes import * import c ...

  4. (四)Maven项目工程目录约定

    使用maven创建的工程我们称它为maven工程,maven工程具有一定的目录规范,如下: src/main/java 存放项目的.java文件 src/main/resources 存放项目资源文件 ...

  5. 机器学习中的标准化方法(Normalization Methods)

    希望这篇随笔能够从一个实用化的角度对ML中的标准化方法进行一个描述.即便是了解了标准化方法的意义,最终的最终还是要:拿来主义,能够在实践中使用. 动机:标准化的意义是什么? 我们为什么要标准化?想象我 ...

  6. Android学习笔记使用Notication 显示通知

    实现步骤 代码实现 创建MainActivity和DetailActivity(点击通知后要跳转的Activity),两个Activity的布局文件就是添加一张全屏的背景图,老规矩,不粘贴. Main ...

  7. LNMP 环境更换Nginx 服务器为Tengine

    本人之前所使用 LNMP 环境一直是原生的Nginx服务器,最近几天看了好多大网站使用 淘宝团队基于Nginx开发的 Tengine 决定给自己的虚拟机也装个玩玩. 关于Tengine的介绍就不多说了 ...

  8. selenium(1)-详细解读元素定位的八种方式

    安装selenium和下载webdriver 安装selenium pip install selenium pip install selenium  -U  (判断是否有最新版本) 下载drive ...

  9. Mysql Workbench中EER Diagram逆向生成表

    选择链接 选择需要生成的表

  10. 几个超级实用但很少人知道的 VS 技巧

    大家好,今天分享几个我知道的实用 VS 技巧,而这些技巧我发现很多人都不知道.因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS "骚"操作 ...