在VS2017 C#中快速用上Sqlite

版权声明:本博客所有原创文章未经准许不得转载或保存转发,本人保留版权法律追诉权。 https://blog.csdn.net/haigear/article/details/85256902

如果我们想编写一个有数据库支持的程序,但是我们又不想安装数据服务器,那么Sqlite我们最好的选择,以前我们还可以选择微软的Access数据库文件MDB,但随着微软的Office的升级,MDB的支持也是越来越错综复杂了,所以这里我们为了快速的实现我们的目标,我们选择了Sqlite。

如何快速的能够将Sqlite用到我们的C#项目中去呢?其实只有三部:
1、找到System.data.SQlite.dll文件(记得要支持最新的.net框架,最好从sqlite的官网下载dll:https://www.sqlite.org/download.html),动态链接文件在这里下载
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
不要用过时的版本,否则会出现框架不一致发生无响应错误。System.BadImageFormatException:“未能加载文件或程序集“System.Data.SQLite, Version=1.0.60.0, Culture=neutral
下载以后打开文件件,找到System.Data.Sqlite.dll
在这里插入图片描述
找到它,打开属性看看,是否是这个文件:
在这里插入图片描述
并通过添加引用添加到项目引用中,如图所示:
在这里插入图片描述

2、通过SqliteStudio建立一个测试用表格
在这里插入图片描述
这里,我们建立了一个表格,TestTab,表中有三个字段id,name,age,随后输入几条记录即可。
在这里插入图片描述
3、在代码中调用
在编写代码前,记得添加引用代码,using System.Data.SQLite;

//读取记录代码 
void loadSqliteRecord(int x=0)
{
//设置连接字符串
string constr = "Data Source=../data/MyDataBase.db;";
//设置SQL查询语句
string sql = "select * from TestTab";
////创建连接对象
SQLiteConnection con = new SQLiteConnection(constr);
//创建命令对象
SQLiteCommand cmd = new SQLiteCommand(sql, con);
con.Open();
SQLiteDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
while (reader.Read())
//向下拉框中添加登录名列表
comboBox1.Items.Add(reader.GetString(x));
con.Close();
cmd = null;
con.Dispose();
}
//添加记录代码
void insertSqliteRecord(string id)
{

Random ra = new Random(20);//这个随机数不是数据库调用的必要语句
string constr = "Data Source=../data/MyDataBase.db;";
//设置SQL查询语句
string sql = "insert into TestTab(id,name,age) values('"+id+"','student0"+ id.TrimStart("stu".ToCharArray())+"','"+ra.Next(16,20)+"')";
////创建连接对象
SQLiteConnection con = new SQLiteConnection(constr);
//创建命令对象
SQLiteCommand cmd = new SQLiteCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
cmd = null;
con.Dispose();

}
上述代码都单独进行了数据的连接和调用,其实如果我们在工程中使用,可以专门建立一个调用数据库的辅助类,就可以避免每次调用都要设置数据库连接字符串以及建立一个连接对象,最后还要单独关闭连接释放连接。通过上述代码我们就能够快速的获取到我们需要的记录以及插入记录。运行效果如下:
在这里插入图片描述
我已经将上述代码工程实例及VS2017中使用的System.data.sqlite.dll打包上传了,这里是下载地址:
源码下载

猜你喜欢

转载自blog.csdn.net/haigear/article/details/85256902