C# SQLite数据库的帮助类

SQLite帮助类的示例,它包含了常见的数据库操作方法,如打开和关闭数据库连接、执行SQL查询和更新语句、以及获取数据表中的数据等。

using System.Data.SQLite;

/// <summary>
/// SQLite帮助类
/// </summary>
public class SQLiteHelper
{
    private SQLiteConnection connection;

    /// <summary>
    /// 打开数据库连接
    /// </summary>
    /// <param name="dbPath">数据库文件路径</param>
    public void OpenConnection(string dbPath)
    {
        connection = new SQLiteConnection($"Data Source={dbPath};Version=3;");
        connection.Open();
    }

    /// <summary>
    /// 关闭数据库连接
    /// </summary>
    public void CloseConnection()
    {
        connection.Close();
    }

    /// <summary>
    /// 执行SQL查询语句
    /// </summary>
    /// <param name="sql">SQL查询语句</param>
    /// <returns>查询结果</returns>
    public DataTable ExecuteQuery(string sql)
    {
        var command = new SQLiteCommand(sql, connection);
        var adapter = new SQLiteDataAdapter(command);
        var dataTable = new DataTable();
        adapter.Fill(dataTable);
        return dataTable;
    }

    /// <summary>
    /// 执行SQL更新语句
    /// </summary>
    /// <param name="sql">SQL更新语句</param>
    /// <returns>更新的行数</returns>
    public int ExecuteUpdate(string sql)
    {
        var command = new SQLiteCommand(sql, connection);
        return command.ExecuteNonQuery();
    }

    /// <summary>
    /// 获取数据表中的所有数据
    /// </summary>
    /// <param name="tableName">数据表名称</param>
    /// <returns>数据表中的所有数据</returns>
    public DataTable GetAllData(string tableName)
    {
        var sql = $"SELECT * FROM {tableName}";
        return ExecuteQuery(sql);
    }
}

在上面的代码中,我们使用了SQLiteConnection类来打开和关闭数据库连接,使用SQLiteCommand类来执行SQL查询和更新语句,以及使用SQLiteDataAdapter类来获取数据表中的数据。我们还编写了一个GetAllData方法,该方法可以获取数据表中的所有数据。

使用这个SQLite帮助类非常简单。首先,我们需要创建一个SQLiteHelper对象,并调用OpenConnection方法打开数据库连接。然后,我们可以使用ExecuteQuery和ExecuteUpdate方法执行SQL查询和更新语句,或者使用GetAllData方法获取数据表中的所有数据。最后,我们需要调用CloseConnection方法关闭数据库连接。

以下是一个使用SQLite帮助类的示例:

var helper = new SQLiteHelper();
helper.OpenConnection("test.db");

// 执行SQL查询语句
var dataTable = helper.ExecuteQuery("SELECT * FROM users");

// 执行SQL更新语句
var rowsAffected = helper.ExecuteUpdate("UPDATE users SET name='John' WHERE id=1");

// 获取数据表中的所有数据
var allData = helper.GetAllData("users");

helper.CloseConnection();

总之,编写一个SQLite帮助类可以大大简化代码,并使数据库操作更加方便和可靠。

上面类也可以写成下面这样,它包含了连接数据库、执行查询、插入、更新和删除数据等常用操作。

using System.Data.SQLite;

public class SQLiteHelper
{
    private string connectionString;

    public SQLiteHelper(string connectionString)
    {
        this.connectionString = connectionString;
    }

    /// <summary>
    /// 执行查询并返回结果集
    /// </summary>
    public DataTable ExecuteQuery(string sql)
    {
        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();
            using (var command = new SQLiteCommand(sql, connection))
            {
                var adapter = new SQLiteDataAdapter(command);
                var dataTable = new DataTable();
                adapter.Fill(dataTable);
                return dataTable;
            }
        }
    }

    /// <summary>
    /// 执行插入、更新或删除操作
    /// </summary>
    public int ExecuteNonQuery(string sql)
    {
        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();
            using (var command = new SQLiteCommand(sql, connection))
            {
                return command.ExecuteNonQuery();
            }
        }
    }

    /// <summary>
    /// 执行查询并返回第一行第一列的结果
    /// </summary>
    public object ExecuteScalar(string sql)
    {
        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();
            using (var command = new SQLiteCommand(sql, connection))
            {
                return command.ExecuteScalar();
            }
        }
    }

    /// <summary>
    /// 执行事务
    /// </summary>
    public void ExecuteTransaction(Action<SQLiteTransaction> action)
    {
        using (var connection = new SQLiteConnection(connectionString))
        {
            connection.Open();
            using (var transaction = connection.BeginTransaction())
            {
                try
                {
                    action(transaction);
                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
    }
}

这个SQLite帮助类包含了以下方法:

  • ExecuteQuery:执行查询并返回结果集。
  • ExecuteNonQuery:执行插入、更新或删除操作。
  • ExecuteScalar:执行查询并返回第一行第一列的结果。
  • ExecuteTransaction:执行事务。

使用这个帮助类非常简单,只需要创建一个实例并调用相应的方法即可。例如: 

var helper = new SQLiteHelper("Data Source=mydatabase.db");
var dataTable = helper.ExecuteQuery("SELECT * FROM mytable");


这个SQLite帮助类可以大大简化我们在C#中使用SQLite数据库的代码,使我们能够更加专注于业务逻辑的实现。

上面内容用于记录自己的学习与分享,分享让技术更进一步!

技术来源于思想自由、独立思考、辩证分析、逻辑思维与人类自由的创新,来服务于人类生活各种方便,而不是为了用技术打造思想鸿沟围城来制造愚蠢;技术是好的与坏的,好人用技术是更好的,坏人用技术是更坏的。推荐好书:乔治.奥威尔的《1984》、扎米亚京《我们》、阿道司·赫胥黎《美丽新世界》,有多个译本,选择喜欢且好的译本就行了;还有柏拉图的《理想国》、[法]孟德斯鸠的《论法的精神》、哈耶克《通向奴役之路》(港版)(港版翻译较好大陆版本,英语过硬的最好看英文原版),现在网店都有售卖!阅读好书,阅读大部分人未阅读过与课堂没有的书,阅读这片土地没有的知识就能增加一种思辨思维与智慧,才能走出狭隘思维偏见的洞穴!

柏拉图在他的巨著《理想国》的第七卷里写到了洞穴理论阐明:一群从小被囚禁生活在洞穴里人,在洞穴外面的光线照明下,往内看是一片片黑影,往外看是光明的海阔天空,越看越明亮!

见多识广,包容的人更自信、思维更多元,包容好的文化使人更强大,越自信越包容越强大!包容让你用上网络、电话、各种电器、汽车、芯片、铁路、高铁................

猜你喜欢

转载自blog.csdn.net/m0_58015531/article/details/131327712
今日推荐