C# 使用WinForm进行SQLite操作
前言
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();
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakffh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01