irpas技术客

C# 使用WinForm进行SQLite操作_内含子only_winform使用sqlite

网络 6663

文章目录 前言一、安装配置SQLite二、VS环境配置三、数据库连接四、执行SQL语句五、注意? 读写操作过慢该怎么办?


前言 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();


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #winform使用SQLite #一安装配置SQLite使用 #db #Browser #for