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 ...
随机推荐
- ios支付签名认证
一.解析json中参数的含义 private Long id; @ApiModelProperty(value = "创建时间") private Date gmtCreate; ...
- Linux系统如何设置开机自动运行脚本?
大家好,我是良许. 在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务.在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Li ...
- 168.Excel列表名称
Document 2020-03-16 Excel表列名称 1 -> A. 2 -> B: 26 -> Z 27 -> AA 28 -> AB 示例: 输入: s = & ...
- 7.kubernetes集群版本升级
1.查看原集群的Node节点的版本号 [root@hdss7-22 opt]# kubectl get node -o wide 2.将要升级的kubernetes版本上传到node节点上并解压(v1 ...
- 跨云厂商部署 k3s 集群
原文链接:https://fuckcloudnative.io/posts/deploy-k3s-cross-public-cloud/ 最近一两年各大云服务商都出了各种福利活动,很多小伙伴薅了一波又 ...
- shell 脚本操作informix数据库
shell 脚本操作informix数据库的简单模板: functionName(){ dbaccess << ! database 库名; sql语句; ! } 栗子1:更新数据 fun ...
- skywalking7 源码解析 (3) :agent启动服务分析以及性能影响
skywalking必看的文章,转载自https://blog.csdn.net/u010928589/article/details/106608864/
- 33_栈程序演示.swf
pBottom执行栈底有效元素的前一个节点,该节点没有存储有效数据,这样设计是便于栈的管理,向链表一样pHead指向链表的第一个节点,该节点是不存储有效数据的 pTop执行栈顶最新的节点 如果pTop ...
- android面试详解
前台就是和用户交互的进程 可见进程例如一个activity被一个透明的对话框覆盖,该activity就是可见进程 服务:service进程 后台一个activity按了home按键就是从前台退回到后台 ...
- ant +jmeter+jenkins接口自动化测试二
[Jmeter篇]Jmeter+Ant+Jenkins接口自动化测试集成之半路逆转(二) 橙子探索测试发表于橙子探索测试订阅 72 [Jmeter篇]jmeter+Ant+Jenkins接口自动化测试 ...