C# 使用WinForm进行SQLite操作

文章目录

前言

C# 使用WinForm进行sqlite操作。

一、安装配置SQLite

使用 DB Browser for SQLite 生成和配置SQLite文件。

C# 使用WinForm进行SQLite操作

该软件安装完毕以后,界面为中文。

C# 使用WinForm进行SQLite操作
完成 *.db文件的生成。

; 二、VS环境配置

添加NuGet引用。

C# 使用WinForm进行SQLite操作
选择正确包,不要点.Core
C# 使用WinForm进行SQLite操作
插入引用
using System.Data;
using System.Data.SQLite;

三、数据库连接

链接到运行目录的hello.db数据库文件。

public SQLiteConnectionStringBuilder connectionString = new SQLiteConnectionStringBuilder();
SQLiteConnection SqlConnection;
connectionString.DataSource = Application.StartupPath + @"\hello.db";
SqlConnection = new SQLiteConnection(connectionString.ToString());
SqlConnection.Open();

注意:要使用绝对路径,否则会报错。

连接后,读取测试。读取log表中UID和Level的记录。如无误,即可证明成功。

var sql = "select * from log";

SQLiteDataAdapter da = new SQLiteDataAdapter(sql, SqlConnection);

DataSet ds = new DataSet();
da.Fill(ds);
DataTable re = ds.Tables[0];

List<string> restr = new List<string>();
foreach (DataRow v in re.Rows)
{
    string key = v["UID"].ToString();
    string value = v["Level"].ToString();
    restr.Add(key + "-" + value);
}

foreach (var v in restr)
{
    richTextBox1.Text += v;
    richTextBox1.Text += "\n";
}

四、执行SQL语句

增记录

var sql = "INSERT INTO Log ( Data, Level, Info) VALUES ( 'Bill', 'Xuanwumen 10', 'Beijing')";
SQLiteCommand SqlCmd = new SQLiteCommand(sql, SqlConnection);
int changedRows = SqlCmd.ExecuteNonQuery();
if (changedRows > 0)
{
    MessageBox.Show("ok");
}
SqlCmd.Parameters.Clear();
SqlCmd.Dispose();

删全部

var sql = "DELETE FROM  Log";
SQLiteCommand SqlCmd = new SQLiteCommand(sql, SqlConnection);
int changedRows = SqlCmd.ExecuteNonQuery();

if (changedRows > 0)
{
    MessageBox.Show("ok");
}
SqlCmd.Parameters.Clear();
SqlCmd.Dispose();

这个比较简单

五、注意

• 读写操作过慢该怎么办?

连接后,如此配置即可

var sql = "PRAGMA synchronous=OFF;";
SQLiteCommand SqlCmd = new SQLiteCommand(sql, SqlConnection);
int changedRows = SqlCmd.ExecuteNonQuery();

sql = "PRAGMA Journal_Mode=WAL;";
SqlCmd = new SQLiteCommand(sql, SqlConnection);
SqlCmd.ExecuteNonQuery();

sql = "PRAGMA Cache_Size=5000;";
SqlCmd = new SQLiteCommand(sql, SqlConnection);
SqlCmd.ExecuteNonQuery();

Original: https://blog.csdn.net/qq_35686321/article/details/123283987
Author: 内含子only
Title: C# 使用WinForm进行SQLite操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815203/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球