C# SQLite数据库的帮助类
SQLite帮助类的示例,它包含了常见的数据库操作方法,如打开和关闭数据库连接、执行SQL查询和更新语句、以及获取数据表中的数据等。
1 using System.Data.SQLite; 2 3 /// <summary> 4 /// SQLite帮助类 5 /// </summary> 6 public class SQLiteHelper 7 { 8 9 private SQLiteConnection connection; 10 11 /// <summary> 12 /// 打开数据库连接 13 /// </summary> 14 /// <param name="dbPath">数据库文件路径</param> 15 public void OpenConnection(string dbPath) 16 { 17 connection = new SQLiteConnection($"Data Source={dbPath};Version=3;"); 18 19 connection.Open(); 20 } 21 22 /// <summary> 23 /// 关闭数据库连接 24 /// </summary> 25 public void CloseConnection() 26 { 27 connection.Close(); 28 } 29 30 31 32 /// <summary> 33 /// 执行SQL查询语句 34 /// </summary> 35 /// <param name="sql">SQL查询语句</param> 36 /// <returns>查询结果</returns> 37 public DataTable ExecuteQuery(string sql) 38 { 39 var command = new SQLiteCommand(sql, connection); 40 var adapter = new SQLiteDataAdapter(command); 41 var dataTable = new DataTable(); 42 adapter.Fill(dataTable); 43 return dataTable; 44 } 45 46 /// <summary> 47 /// 执行SQL更新语句 48 /// </summary> 49 /// <param name="sql">SQL更新语句</param> 50 /// <returns>更新的行数</returns> 51 public int ExecuteUpdate(string sql) 52 { 53 var command = new SQLiteCommand(sql, connection); 54 return command.ExecuteNonQuery(); 55 } 56 57 /// <summary> 58 /// 获取数据表中的所有数据 59 /// </summary> 60 /// <param name="tableName">数据表名称</param> 61 /// <returns>数据表中的所有数据</returns> 62 public DataTable GetAllData(string tableName) 63 { 64 var sql = $"SELECT * FROM {tableName}"; 65 return ExecuteQuery(sql); 66 } 67 68 }
在上面的代码中,我们使用了SQLiteConnection类来打开和关闭数据库连接,使用SQLiteCommand类来执行SQL查询和更新语句,以及使用SQLiteDataAdapter类来获取数据表中的数据。我们还编写了一个GetAllData方法,该方法可以获取数据表中的所有数据。
使用这个SQLite帮助类非常简单。首先,我们需要创建一个SQLiteHelper对象,并调用OpenConnection方法打开数据库连接。然后,我们可以使用ExecuteQuery和ExecuteUpdate方法执行SQL查询和更新语句,或者使用GetAllData方法获取数据表中的所有数据。最后,我们需要调用CloseConnection方法关闭数据库连接。
以下是一个使用SQLite帮助类的示例:
1 var helper = new SQLiteHelper(); 2 helper.OpenConnection("test.db"); 3 4 // 执行SQL查询语句 5 var dataTable = helper.ExecuteQuery("SELECT * FROM users"); 6 7 // 执行SQL更新语句 8 var rowsAffected = helper.ExecuteUpdate("UPDATE users SET name='John' WHERE id=1"); 9 10 // 获取数据表中的所有数据 11 var allData = helper.GetAllData("users"); 12 13 helper.CloseConnection();
总之,编写一个SQLite帮助类可以大大简化代码,并使数据库操作更加方便和可靠。
上面类也可以写成下面这样,它包含了连接数据库、执行查询、插入、更新和删除数据等常用操作。
1 using System.Data.SQLite; 2 3 public class SQLiteHelper 4 { 5 private string connectionString; 6 public SQLiteHelper(string connectionString) 7 { 8 this.connectionString = connectionString; 9 } 10 11 /// <summary> 12 /// 执行查询并返回结果集 13 /// </summary> 14 public DataTable ExecuteQuery(string sql) 15 { 16 using (var connection = new SQLiteConnection(connectionString)) 17 { 18 connection.Open(); 19 using (var command = new SQLiteCommand(sql, connection)) 20 { 21 var adapter = new SQLiteDataAdapter(command); 22 var dataTable = new DataTable(); 23 adapter.Fill(dataTable); 24 return dataTable; 25 } 26 } 27 } 28 29 /// <summary> 30 /// 执行插入、更新或删除操作 31 /// </summary> 32 public int ExecuteNonQuery(string sql) 33 { 34 using (var connection = new SQLiteConnection(connectionString)) 35 { 36 connection.Open(); 37 using (var command = new SQLiteCommand(sql, connection)) 38 { 39 return command.ExecuteNonQuery(); 40 } 41 } 42 } 43 44 /// <summary> 45 /// 执行查询并返回第一行第一列的结果 46 /// </summary> 47 public object ExecuteScalar(string sql) 48 { 49 using (var connection = new SQLiteConnection(connectionString)) 50 { 51 connection.Open(); 52 using (var command = new SQLiteCommand(sql, connection)) 53 { 54 return command.ExecuteScalar(); 55 } 56 } 57 } 58 59 /// <summary> 60 /// 执行事务 61 /// </summary> 62 public void ExecuteTransaction(Action<SQLiteTransaction> action) 63 { 64 using (var connection = new SQLiteConnection(connectionString)) 65 { 66 connection.Open(); 67 using (var transaction = connection.BeginTransaction()) 68 { 69 try 70 { 71 action(transaction); 72 transaction.Commit(); 73 } 74 catch (Exception) 75 { 76 transaction.Rollback(); 77 throw; 78 } 79 } 80 } 81 } 82 }
这个SQLite帮助类包含了以下方法:
ExecuteQuery:执行查询并返回结果集。
ExecuteNonQuery:执行插入、更新或删除操作。
ExecuteScalar:执行查询并返回第一行第一列的结果。
ExecuteTransaction:执行事务。
使用这个帮助类非常简单,只需要创建一个实例并调用相应的方法即可。例如:
var helper = new SQLiteHelper("Data Source=mydatabase.db"); var dataTable = helper.ExecuteQuery("SELECT * FROM mytable");
这个SQLite帮助类可以大大简化我们在C#中使用SQLite数据库的代码,使我们能够更加专注于业务逻辑的实现。
————————————————
本文转自CSDN博主「m0_58015531」原文链接:https://blog.csdn.net/m0_58015531/article/details/131327712