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方法打开数据库连接。然后,我们可以使用ExecuteQueryExecuteUpdate方法执行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

posted @ 2023-09-01 03:47  soliang  阅读(661)  评论(0编辑  收藏  举报