C#操作SQLite数据库

文章目录

1、C#操作SQLite数据库的帮助类

csharp 复制代码
public static class SQLiteHelper
{
    public static string ConStr = "";
    public static int Update(string sql)
    {
        SQLiteConnection DBConnection = new SQLiteConnection(ConStr);
        SQLiteCommand cmd = new SQLiteCommand(sql, DBConnection);
        try
        {
            DBConnection.Open();
            return cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            DBConnection.Close();
        }
    }

    public static object GetSingleResult(string sql)
    {
        SQLiteConnection DBConnection = new SQLiteConnection(ConStr);
        SQLiteCommand cmd = new SQLiteCommand(sql, DBConnection);
        try
        {
            DBConnection.Open();
            return cmd.ExecuteScalar();
        }
        catch (Exception ex)
        {

            throw ex;
        }
        finally
        {
            DBConnection.Close();
        }
    }
    public static SQLiteDataReader GetReader(string sql)
    {
        SQLiteConnection DBConnection = new SQLiteConnection(ConStr);
        SQLiteCommand cmd = new SQLiteCommand(sql, DBConnection);
        try
        {
            DBConnection.Open();
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }
        catch (Exception ex)
        {
            DBConnection.Close();
            throw ex;
        }


    }
    public static DataSet GetDataSet(string sql)
    {
        SQLiteConnection DBConnection = new SQLiteConnection(ConStr);
        SQLiteCommand cmd = new SQLiteCommand(sql, DBConnection);
        SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
        DataSet ds = new DataSet();
        try
        {
            DBConnection.Open();
            da.Fill(ds);
            return ds;
        }
        catch (Exception)
        {
            return null;
        }
        finally
        {
            DBConnection.Close();
        }
    }
}

2、使用示例

2.1 项目中引用SQLite类库

在项目中引用System.Data.SQLite,或者直接去官网下载https://www.sqlite.org/index.html,完成之后,新建一个数据库文件,并加载到VS里面,如下图:

一般要用的SQL语句,都会在这里面测试好,再通过程序调用。

2.2 操作数据库示例

在其他类里面直接调用帮助类,也可以在窗体加载时调用

csharp 复制代码
private void Server_Load(object sender, EventArgs e)
{

  SQLiteHelper.ConStr= "Data Source=" + Application.StartupPath + "\\DataBase\\ScadaDataBase;Pooling=true;FailIfMissing=false"; 
  string sql1 = "insert into SysAdmins(LoginID, LoginName, LoginPwd, Role) values('10006', 'CFO', '008', '9')";
  int rtn =SQLiteHelper.Update(sql1);
}

运行一下,数据库里就插入了一条数据。

相关推荐
●VON5 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
Cosolar5 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
企服AI产品测评局7 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
cfm_29147 小时前
Redis数据安全性解析
数据库·redis·缓存
xiaoshuaishuai87 小时前
C# 内存管理与资源泄漏
开发语言·c#
DIY源码阁7 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
NiceCloud喜云8 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
辞忧九千七8 小时前
Redis 单机一主二从主从复制完整搭建指南
数据库·redis·缓存
lzhdim9 小时前
SQL 入门 16:SQL 事务隔离级别与死锁解析(易懂)
数据库·sql
AI 小老六10 小时前
Claude Code 如何压缩上下文:Microcompact、Prompt Cache 与 cache_edits 工程拆解
数据库·人工智能·ai·语言模型·架构·系统架构