首先nuget安装System.Data.SQLite.Core(不是System.Data.SQLite)
然后就可以使用下面这个工具类了
public static class SqliteHelper
{
//连接字符串,指定了文件名
private static string connStr = "data source=db.sqlite"; //数据库文件名字:db.sqlite
//在这里创建所有表,可以反复执行,程序启动后调用
public static void CreateDB()
{
//建表
var tablePrinterName = "create table if not exists PrintConfig (PrintType varchar(64), Key varchar(64), Value varchar(512))";
SqliteHelper.ExecuteNonQuery(tablePrinterName);
}
//执行命令的方法:insert,update,delete
//params:可变参数,目的是省略了手动构造数组的过程,直接指定对象,编译器会帮助我们构造数组,并将对象加入数组中,传递过来
public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps)
{
//创建连接对象
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
//创建命令对象
SQLiteCommand cmd = new SQLiteCommand(sql, conn);
//添加参数
cmd.Parameters.AddRange(ps);
//打开连接
conn.Open();
//执行命令,并返回受影响的行数
return cmd.ExecuteNonQuery();
}
}
//获取结果集
public static DataTable GetDataTable(string sql, params SQLiteParameter[] ps)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
//构造适配器对象
SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn);
//构造数据表,用于接收查询结果
DataTable dt = new DataTable();
//添加参数
adapter.SelectCommand.Parameters.AddRange(ps);
//执行结果
adapter.Fill(dt);
//返回结果集
return dt;
}
}
//获取首行首列值的方法
public static object ExecuteScalar(string sql, params SQLiteParameter[] ps)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
SQLiteCommand cmd = new SQLiteCommand(sql, conn);
cmd.Parameters.AddRange(ps);
conn.Open();
//执行命令,获取查询结果中的首行首列的值,返回
return cmd.ExecuteScalar();
}
}
}