LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

如何在C#中实现SQLite基本操作

admin
2024年12月27日 21:35 本文热度 104

前言

SQLite是一款非常轻量级的关系数据库系统,以SQL为基础,并支持多数SQL92标准。由于其轻量、易用和跨平台特性而被广泛使用。使用SQLite时,通过访问数据库的程序直接从磁盘上的数据库文件进行读写操作。本文探讨如何在C#中实现操作SQLite数据库,主要通过连接数据库、执行增、删、改和查等基本操作。

实现操作

1、实现前提

C#实现SQLite数据库操作需要引用System.Data.SQLite,我们可以通过NuGet包管理器安装引用它。

Install-Package System.Data.SQLite

SQLite是直接访问磁盘上的数据库文件,因此在执行相关操作前,需要创建好SQLite数据库文件。数据库名的后缀可以直接指定,甚至没有后缀都可以。

// 创建数据库 方式一string dbFilename = string.Format("{0}db{1}{2}", AppDomain.CurrentDomain.BaseDirectory, Path.PathSeparator, "test.db");if (!File.Exists(dbFilename)){    // 创建数据库文件    FileStream fileStream = File.Create(dbFilename);}
// 创建数据库 方式二string dbFilename = string.Format("{0}db{1}{2}", AppDomain.CurrentDomain.BaseDirectory, Path.PathSeparator, "test.db");if (!File.Exists(dbFilename)){    // 创建数据库文件    SQLiteConnection.CreateFile(dbFilename);}

2、连接数据库

下面代码段演示如何连接SQLite数据库:

// 数据库未设置密码string connectionString =string.Format("Data Source={0}; Version=3; ",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();}
// 数据库设置了密码string connectionString =string.Format("Data Source={0}; Version=3; Password={1};",dbFilename,"123456");// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();}

3、设置数据库密码

下面代码段演示给未设置密码的数据库设置密码:

// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 设置密码    connection.ChangePassword("123456");}

4、创建数据表

下面代码段演示在数据库里创建数据表,如用户表:

// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 执行SQL的语句    string commandText = "CREATE TABLE IF NOT EXISTS Users (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name VARCHAR(100), Code VARCHAR(100),Password VARCHAR(100))";    // 创建 SQLiteCommand     using (SQLiteCommand command = new SQLiteCommand(commandText, connection))    {        // 执行语句        command.ExecuteNonQuery();    }}

5、增加数据库表数据

下面代码段演示往用户表增加一行数据:

​// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 执行SQL的语句    string commandText = "insert into Users (Name, Code,Password) values (@name, @code,@password)";    // 创建 SQLiteCommand     using (SQLiteCommand command = new SQLiteCommand(commandText, connection))    {        // 设置参数值        command.Parameters.AddWithValue("@name""管理员");        command.Parameters.AddWithValue("@code""admin");        command.Parameters.AddWithValue("@password""pwd123456");        // 执行语句        command.ExecuteNonQuery();    }}

6、修改数据库表数据

下面代码段演示修改数据库表数据,如修改用户密码:

// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 执行SQL的语句    string commandText = "update Users SET Password=@password WHERE Code = @code";    // 创建 SQLiteCommand     using (SQLiteCommand command = new SQLiteCommand(commandText, connection))    {        // 设置参数值        command.Parameters.AddWithValue("@code""admin");        command.Parameters.AddWithValue("@password""admin123456");        // 执行语句        command.ExecuteNonQuery();    }}

7、查询数据库表数据

下面代码段演示查询数据库表数据,如查询用户表数据:

// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 执行SQL的语句    string commandText  = "select * from Users";    // 创建 SQLiteCommand     using (SQLiteCommand command = new SQLiteCommand(commandText, connection))    {        // 执行语句 返回查询数据        using (SQLiteDataReader reader = command.ExecuteReader())        {            // 输出数据            while (reader.Read())            {                //                 Console.WriteLine($"ID: {reader["Id"]}, 名称: {reader["Name"]}, 编码: {reader["Code"]}");            }        }    }}

8、删除数据库表数据

下面代码段演示删除数据库表数据,如删除用户表数据:

// 数据库未设置密码string connectionString = string.Format("Data Source={0};Version=3;",dbFilename);// 连接数据库using (SQLiteConnection connection = new SQLiteConnection(connectionString)){    // 打开数据库连接    connection.Open();    // 执行SQL的语句    string commandText = "delete from  Users where Code = @code";    // 创建 SQLiteCommand     using (SQLiteCommand command = new SQLiteCommand(sql, connection))    {        // 设置参数值        command.Parameters.AddWithValue("@code""admin");        // 执行语句        command.ExecuteNonQuery();    }}

小结

通过上述示例,能够清晰地了解如何在C#中有效地操作SQLite数据库,并快速上手。可在此基础上扩展更复杂的功能,并在实际项目中运用。


该文章在 2024/12/28 12:08:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved