sqlite数据库使用具体案例以及mysqlite.db数据库
本文操作是测试数据库的其中一张表,其中包括清空sqlite数据库MyGroup表中的数据,清空sqlite数据库sqlite_sequence表中的自增变量,sqlite数据库MyGroup直接插入数据 40000000,sqlite数据库MyGroup 参数插入数据 80000000
using System;
using System.Data;
using System.Data.SQLite;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace SupremeConsole
{
class Program
{
static void Main(string[] args)
{
#region 测试sqlite数据库
//GetSqliteData();
GetSqliteData2();
Thread.Sleep(TimeSpan.FromSeconds());
GetSqliteData3();
Thread.Sleep(TimeSpan.FromSeconds());
GetSqliteData4();
Thread.Sleep(TimeSpan.FromSeconds());
GetSqliteData5();
#endregion
Console.ReadLine();
}
/// <summary>
/// 使用sqlite获取数据
/// </summary>
public static void GetSqliteData()
{
SQLiteConnection sqLiteConn = new SQLiteConnection("Data source=" + Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"), "mysqlite.db"));
sqLiteConn.Open();
SQLiteCommand sqLiteCmd = new SQLiteCommand
{
Connection = sqLiteConn,
CommandType = CommandType.Text,
//CommandText = "select * from mydb"//DELETE FROM MyGroup;UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup';
}; SQLiteDataAdapter sqLiteDataAdapter = new SQLiteDataAdapter
{
SelectCommand = sqLiteCmd
};
DataSet dataSet = new DataSet();
sqLiteDataAdapter.Fill(dataSet);
sqLiteConn.Close();
foreach (DataRow item in dataSet.Tables[].Rows)
{
Console.WriteLine($"db_name:{item.ItemArray[2].ToString()},hash_value:{item.ItemArray[3].ToString()}");
}
//string ss =$"编号:{dataSet.Tables[0].Rows[0].ItemArray[2].ToString()},姓名:{dataSet.Tables[0].Rows[0].ItemArray[3].ToString()}";
//return ss;
} /// <summary>
/// 清空sqlite数据库MyGroup表中的数据
/// </summary>
public static void GetSqliteData2()
{
using (SQLiteConnection sqLiteConn = new SQLiteConnection("Data source=" + Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"), "mysqlite.db")))
{
sqLiteConn.Open();
SQLiteTransaction sqLiteTransaction = sqLiteConn.BeginTransaction();
SQLiteCommand sqLiteCmd = new SQLiteCommand
{
Connection = sqLiteConn,
CommandType = CommandType.Text,
Transaction = sqLiteTransaction,
CommandText = "DELETE FROM MyGroup"//DELETE FROM MyGroup;UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup';
};
try
{
int s = sqLiteCmd.ExecuteNonQuery();
Console.WriteLine($"清空sqlite数据库MyGroup表中的数据 ok");
sqLiteTransaction.Commit(); }
catch (Exception)
{
Console.WriteLine($"清空sqlite数据库MyGroup表中的数据 error");
sqLiteTransaction.Rollback();
//throw;
}
finally
{
sqLiteConn.Close();
}
}
} /// <summary>
/// 清空sqlite数据库sqlite_sequence表中的自增变量
/// </summary>
public static void GetSqliteData3()
{
SQLiteConnection sqLiteConn = new SQLiteConnection("Data source=" + Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"), "mysqlite.db"));
sqLiteConn.Open();
SQLiteTransaction sqLiteTransaction = sqLiteConn.BeginTransaction();
try
{
SQLiteCommand sqLiteCmd = new SQLiteCommand
{
Connection = sqLiteConn,
CommandType = CommandType.Text,
//CommandText = "select * from mydb"
Transaction = sqLiteTransaction,
CommandText = "UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup'"//DELETE FROM MyGroup;UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup';
};
sqLiteCmd.ExecuteNonQuery();
sqLiteTransaction.Commit();
Console.WriteLine($"清空sqlite数据库sqlite_sequence表中的自增变量 ok");
}
catch (Exception)
{
sqLiteTransaction.Rollback();
Console.WriteLine($"清空sqlite数据库sqlite_sequence表中的自增变量 error");
}
finally
{
sqLiteConn.Close();
}
} /// <summary>
/// sqlite数据库MyGroup直接插入数据 40000000
/// </summary>
public static void GetSqliteData4()
{
SQLiteConnection sqLiteConn = new SQLiteConnection("Data source=" + Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"), "mysqlite.db"));
sqLiteConn.Open();
SQLiteTransaction sqLiteTransaction = sqLiteConn.BeginTransaction();
try
{
SQLiteCommand sqLiteCmd = new SQLiteCommand
{
Connection = sqLiteConn,
CommandType = CommandType.Text,
//CommandText = "select * from mydb"
Transaction = sqLiteTransaction,
CommandText = "INSERT INTO MyGroup (group_name, start_id, end_id) VALUES ('group01', 0, 40000000)"//DELETE FROM MyGroup;UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup';
};
sqLiteCmd.ExecuteNonQuery();
sqLiteTransaction.Commit();
Console.WriteLine($"sqlite数据库MyGroup插入数据 40000000 ok");
}
catch (Exception)
{
sqLiteTransaction.Rollback();
Console.WriteLine($"sqlite数据库MyGroup插入数据 40000000 error");
}
finally
{
sqLiteConn.Close();
}
} /// <summary>
/// sqlite数据库MyGroup参数插入数据 80000000
/// </summary>
public static void GetSqliteData5()
{
SQLiteConnection sqLiteConn = new SQLiteConnection("Data source=" + Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"), "mysqlite.db"));
sqLiteConn.Open();
SQLiteTransaction sqLiteTransaction = sqLiteConn.BeginTransaction();
try
{ //INSERT INTO MyGroup (group_name, start_id, end_id) VALUES ("group02", 40000000, 80000000);
SQLiteCommand sqLiteCmd = new SQLiteCommand
{
Connection = sqLiteConn,
CommandType = CommandType.Text,
Transaction = sqLiteTransaction,
CommandText = "INSERT INTO MyGroup (group_name, start_id, end_id) VALUES (@group_name, @start_id, @end_id)"//DELETE FROM MyGroup;UPDATE sqlite_sequence SET seq = 0 WHERE name = 'MyGroup';
};
SQLiteParameter sQLiteParameter = new SQLiteParameter("@group_name", DbType.String);
sQLiteParameter.Value = "group02";
sqLiteCmd.Parameters.Add(sQLiteParameter);
SQLiteParameter sQLiteParameter1 = new SQLiteParameter("@start_id", DbType.Int32);
sQLiteParameter1.Value = ;
sqLiteCmd.Parameters.Add(sQLiteParameter1);
SQLiteParameter sQLiteParameter2 = new SQLiteParameter("@end_id", DbType.Int32);
sQLiteParameter2.Value = ;
sqLiteCmd.Parameters.Add(sQLiteParameter2);
sqLiteCmd.ExecuteNonQuery();
sqLiteTransaction.Commit();
Console.WriteLine($"sqlite数据库MyGroup插入数据 80000000 ok");
}
catch (Exception)
{
sqLiteTransaction.Rollback();
Console.WriteLine($"sqlite数据库MyGroup插入数据 80000000 error");
}
finally
{
sqLiteConn.Close();
}
}
}
}
以上仅仅是根据本作者的sqlite数据库来写的操作,具体情况需要具体修改。
附加数据库:mysqlite.db
sqlite数据库使用具体案例以及mysqlite.db数据库的更多相关文章
- jmeter通过org.sqlite.JDBC驱动连接db数据库
最近遇到个项目,默认业务库为内置db数据库,在性能脚本编辑过程中要通过正则表达式提取器(关联)获取对应的id号,通过该id号到db数据库中查找对应的数据源name字段内容,为下一个post请求做par ...
- APICloud框架—db数据库模块
db数据库模块 db 模块封装了手机常用数据库 sqlite 的增删改查语句,可实现数据的本地存储,极大的简化了数据持久化问题,本模块已支持同步接口. 官方文档地址 打开/新建一个数据库 functi ...
- AndroidStudio 中查看获取MD5和SHA1值以及如何查看手机应用信息以及读取*.db数据库里面数据
查看获取MD5和SHA1值具体操作方式链接 查看获取MD5和SHA1值实际操作命令CMD语句: C:\Users\Administrator>cd .android C:\Users\Admin ...
- atitit.数据验证--db数据库数据验证约束
atitit.数据验证--db数据库数据验证约束 1. 为了加强账户数据金额的安全性,需要增加验证字段..1 2. 创建帐户1 3. 更改账户2 4. ---code3 5. --fini4 1. 为 ...
- BDB (Berkeley DB)数据库简单介绍(转载)
近期要使用DBD,于是搜了下相关的资料,先贴个科普性的吧: 转自http://www.javaeye.com/topic/202990 DB综述DB最初开发的目的是以新的HASH訪问算法来取代旧的hs ...
- 5. 文件上传下载 与 db数据库
文件上传 formidable multer npm i formidable multer 如何使用见: https://www.npmjs.com/ util.inspect 自己查 文件上传:表 ...
- Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008
Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008 全文索引操作 4.全文索引和like语句比较 1 5.倒排索引 inverted index 1 2.SQ ...
- Atitit.软件仪表盘(4)--db数据库子系统-监测
Atitit.软件仪表盘(4)--db数据库子系统-监测 连接数::: 死锁表列表:死锁基础列表(最近几条记录,时间,sql等) 3.对服务器进行监控,获取CUP,I/O使用情况 4.对数据库进行 ...
- Atitit.软件仪表盘(4)--db数据库子系统-监測
Atitit.软件仪表盘(4)--db数据库子系统-监測 连接数::: 死锁表列表:死锁基础列表(近期几条记录,时间,sql等) 3.对server进行监控.获取CUP.I/O使用情况 4.对数据 ...
随机推荐
- poll_wait阻塞/唤醒
1. 应用阻塞 应用程序使用 select() 或 poll() 调用设备驱动程序的 poll() 函数,该函数把输入输出复用处理的等待队列追加到由内核管理的进程的 poll_table()上 #in ...
- HttpClient实战三:Spring整合HttpClient连接池
简介 在微服务架构或者REST API项目中,使用Spring管理Bean是很常见的,在项目中HttpClient使用的一种最常见方式就是:使用Spring容器XML配置方式代替Java编码方式进行H ...
- Linux命令——chattr、lsattr
简介 chattr用于设置文件隐藏属性,lsattr用于查看文件隐藏属性.隐藏属性对系统很有用,尤其是系统安全这一块.但是这两个命令只能在Ext2/Ext3上面有用,其他文件系统可能不支持. chat ...
- 树莓派配置samba服务器,实现linux、windows文件共享
一.安装samba服务器 输入如下命令: 二.配置文件smb.conf 找到[homes],将read only那里的yes改为no,允许读写 添加用户和设置密码 sudo smbpasswd -a ...
- 解决 Vue 刷新页面后 store 数据丢失的问题
原来的状态(页面刷新数据会重置) state: { teamA: '主队' }, mutations: { data_teamA(state, x) { state.teamA = x } }, ...
- Product Oriented Recurrence(Codeforces Round #566 (Div. 2)E+矩阵快速幂+欧拉降幂)
传送门 题目 \[ \begin{aligned} &f_n=c^{2*n-6}f_{n-1}f_{n-2}f_{n-3}&\\ \end{aligned} \] 思路 我们通过迭代发 ...
- 项目Beta冲刺(1/7)(追光的人)(2019.5.23)
所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...
- Python开发应用-操作excel
一. openpyxl读 95%的时间使用的是这个模块,目前excel处理的模块,只有这个还在维护 1.workBook workBook=openpyxl.load_workbook('path(. ...
- 2019牛客暑期多校训练营(第三场)G: Removing Stones(启发式分治)
题意:给定N,表示N堆石子,每堆石子数为a[],问多少个区间,可以满足“石子总和若为偶数,那么可以两两取来自不同堆的石子,直到取完: 如果为奇数,那么排除其中一个,然后可以两两取来自不同堆的石子,直到 ...
- Linux操作系统性能调优的方法
http://www.cnblogs.com/L-H-R-X-hehe/p/3963442.html Linux是一套免费使用和自由传播的类Unix操作系统,Linux不同的发行版本和不同的内核对各项 ...