【C#高阶】SQLite手把手入门指南

零、为什么要用SQLite

记录需要频繁修改、新增、查询、删除的数据需要专业数据库,比如曲线数据点、用户信息,因为用数据库比起日常办公的excel表格维护更方便,体积也更小。SQL就是一种常用数据库。C#支持内嵌SQLite包,可以实现数据库文件创建、新建数据行、修改数据、删除数据、读取数据等基础操作。本文会细致讲解每一步操作,如果你对数据库操作还不熟悉,请按步骤阅读。

一、怎样引用SQLite

解决方案项目管理器视图,右键项目名称(就是解决方案字样的下一行),选择“管理Nuget程序包”,在“浏览”选项卡中搜索SQLite,安装这几个

在代码上方添加using指令,就可以了。

using System.Data.SQLite;

二、数据库链接

首先,需要把外部数据库文件作为一个变量,传递给C#环境。这个变量我们先命名为connection。GetCon()方法返回数据库链接指令,包含了数据库文件路径与名称信息。如果文件不存在,就会新建该文件,再链接该文件。如果文件已存在,就会直接链接该文件。

SQLiteConnection connection = new SQLiteConnection(GetCon());

现在讲一下链接指令。一般是这样:

private string GetConn()
{
    return "data source= "C:\\User\\Admin\\Desktop\\database1.db;version=3;"
}

注意,文件路径需要是绝对路径,否则会报错说数据库文件不存在。

链接完成后,就开始操作数据库了,多数人链接数据库应该不是就连上试试。这里需要把数据库操作指令与数据库链接关联。像这样:

SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = connection;//关联指令与链接
connection.Open();//打开数据库
cmd.CommandText = GetCommand();//修改指令文本,GetCommand()的返回值自定义
cmd.ExecuteNonQuery();//执行指令文本
connection.Close();//关闭数据库

关联后打开数据库,修改数据库操作指令对象cmd的指令文本属性CommandText,执行指令文本,记得执行完关闭,即可。

那么CommandText应该怎么设置呢?这里只介绍新增数据表与新增数据项,一通百通,看懂这两个操作就可以无障碍阅读其他博文的代码了。

三、新增数据表

private string GetCommand()
{
    return "CREATE TABLE IF NOT EXISTS datatable(详情 string,时间 datetime,数据1 decimal, 数据2 decimal)";
}

指令头部很好理解,就是英文的“如果不存在名为datatable的数据表就创建一个表格,括号里是表格的数据列的名称与类型,用英文逗号分开,注意名称后面需要空格。

试试创建一个数据库表格吧!但创建好以后,怎么查看数据库文件呢?是不是要装专业数据库软件呢?看第四部分。

四、在VScode查看数据库文件

有些博主会推荐用一些轻量级的数据库查看软件,但VScode多数人都会装,用这个不是更香?只要安装SQL拓展即可。

五、新增数据行

以刚刚的表格格式为例,插入新数据行可以是这样

private string GetCommand()
{
    return "INSERT INTO datatable VALUES ('"+DateTime.Now.ToString("s")+"',"+
        "'无详情',1.2,15)";
}

指令头依旧是简单的英文,给datatable插入值……然后是括号,每个数据项直接用逗号分割。如果数据项不是数字,就用单引号引起来。

如果插入的新数据行的数据项目数量少于或多于数据表的列数,就会添加失败。如果你用一个Try-Catch语句捕捉异常信息,会看到“表单有XX列但添加的数据有XX个”,当然啦,是英文版。

六、怎样规避常见SQL报错

本文已经提到了3种:

1. 使用绝对路径。

2. 在插入的非数值数据项两边加引号。

3. 新增数据行数据项目与数据列列数一致,类型对齐。

还有一些报错,本人也遇到过

3. 表格数据列列名不能用数字开头。如果用数字开头,也会抛出异常。

4. 表格数据列列名不能带“-”符号,否则会抛出异常。

相信读到这里,你已经掌握了基本的SQLite指令,去试试吧!

  • 25
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值