C# 操作SQLite数据库 作者:马育民 • 2025-06-06 22:10 • 阅读:10005 # 添加依赖库 添加 `System.Data.SQLite` 依赖,操作如下图: [](https://www.malaoshi.top/upload/0/0/1GW1GMNRGGgT.png) [](https://www.malaoshi.top/upload/0/0/1GW1GMMfBAAN.png) # 封装工具类 ``` public class SQLite3Util { private SQLiteConnection Conn; /// /// 数据库不存在就创建 /// /// /// 如果存在返回true,不存在返回false public bool createDatabaseNotExists(string path) { if (!File.Exists(path)) { SQLiteConnection.CreateFile(path); return false; } return true; } /// /// 连接数据库 /// /// 数据库路径,如:@"Data Source=D:\sqlliteDb\Test.db;Version=3" public void Connect(string path) { //连接数据库 Conn = new SQLiteConnection(path); Conn.Open(); } /// /// 执行查询 /// /// /// public DataTable query(string sql) { SQLiteDataAdapter mAdapter = new SQLiteDataAdapter(sql, Conn); DataTable rs = new DataTable(); mAdapter.Fill(rs); return rs; } public DataTable query(string sql, IDictionary param) { SQLiteCommand command = new SQLiteCommand(sql, Conn); foreach (KeyValuePair kvp in param) { command.Parameters.AddWithValue(kvp.Key, kvp.Value); } SQLiteDataAdapter mAdapter = new SQLiteDataAdapter(command); DataTable rs = new DataTable(); mAdapter.Fill(rs); return rs; } /// /// 执行查询 /// /// /// /// public DataSet query(string sql,string tableName) { SQLiteDataAdapter mAdapter = new SQLiteDataAdapter(sql, Conn); DataSet rs = new DataSet(); mAdapter.Fill(rs, tableName); return rs; } public DataSet query(string sql, string tableName, IDictionary param) { SQLiteCommand command = new SQLiteCommand(sql, Conn); foreach (KeyValuePair kvp in param) { command.Parameters.AddWithValue(kvp.Key, kvp.Value); } SQLiteDataAdapter mAdapter = new SQLiteDataAdapter(command); DataSet rs = new DataSet(); mAdapter.Fill(rs, tableName); return rs; } /// /// 执行增、删、改、建表等sql语句 /// /// public void update(string sql) { SQLiteCommand command = new SQLiteCommand(sql, Conn); command.ExecuteNonQuery(); } public void update(string sql, IDictionary param) { SQLiteCommand command = new SQLiteCommand(sql, Conn); foreach (KeyValuePair kvp in param) { command.Parameters.AddWithValue(kvp.Key, kvp.Value); } command.ExecuteNonQuery(); } public void close() { Conn.Close(); } ``` # 执行 ### 带有占位符的SQL ``` string SQLITE3_INSERT_DOC = @"insert into t_user( id ,username ,password ) values ( @id ,@name ,@pwd)"; IDictionary dictInsert = new Dictionary(); dictInsert.Add("@id", 1); dictInsert.Add("@name", "李雷"); dictInsert.Add("@pwd", "123456"); dictInsert.Add("@md5", md5); sqlite3Util.update(Constant.SQLITE3_INSERT_DOC, dictInsert); ``` 原文出处:http://malaoshi.top/show_1GW1GMRXAHkk.html