• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

C# 使用WinForm进行SQLite操作

武飞扬头像
内含子only
帮助1


前言

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
系列文章
更多 icon
同类精品
更多 icon
继续加载