C#SqliteHelper

首先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();
		}
	}
}

你可能感兴趣的:(c#,开发语言,sqlite)