文章目录
前言
C# 使用WinForm进行sqlite操作。
一、安装配置SQLite
使用 DB Browser for SQLite 生成和配置SQLite文件。
该软件安装完毕以后,界面为中文。
完成 *.db文件的生成。
; 二、VS环境配置
添加NuGet引用。
选择正确包,不要点.Core
插入引用
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/
转载文章受原作者版权保护。转载请注明原作者出处!