1.如果自己手动创建了数据库和字段,则不需要再创建table,基本流程:

1)SQLiteConnectionStringBuilder sb = new SQLiteConnectionStringBuilder();

sb.DataSource = @"AA.db";//数据库名字

var conStr = sb.ToString();

2)using (var con = new SQLiteConnection(conStr)){……}这句话代表跟数据库建立连接

3)在上面建立的连接con中执行命令或事物

using (var cmd = new SQLiteCommand(cmdFormat1, con)){……}// cmdFormat1为command的string SQL语句;

command可以执行Insert、Select、Read等操作;向表格中插入数值除了固定的SQL Insert语句插入方法以外,还可以通过Parameters实现。

const string cmdFormat1 = "INSERT INTO PERSON VALUES(@ID,@NAME,@AGE)";//不规定具体的数值

cmd1.Parameters.Add(new SQLiteParameter("ID", 2));//分别对每个字段赋值

cmd1.Parameters.Add(new SQLiteParameter("NAME","Betty"));

cmd1.Parameters.Add(new SQLiteParameter("AGE", 24));

有时,需要将取得的数据输出,则再cmd中执行:

var reader=cmd1.ExecuteReader();

while (reader.Read())

{

int age = reader.GetInt16(0);//读到的第0列数据,同理,可以读取其他列数据

Console.WriteLine(age);

Console.ReadKey();

}

事务的代码:

using (var trans = con.BeginTransaction())

{

……(在此可以执行各种command等)

Trans.Commit();

}

在对数据库进行操作时,有时可能在执行SQL代码时出现错误,对数据库进行误操作,为了避免这种情况的出现,可用事务先提交,Trans.Commit()始终带try……catch……,当提交出现错误时在catch中进行rollback操作,代码如下

try

{

trans.Commit();

}

catch (System.Exception ex)

{

Console.WriteLine("Commit's exception:{0}",ex.ToString());

try

{

trans.Rollback();

}

catch (System.Exception ex1)

{

Console.WriteLine("Rollback's exception:{0}",ex1.ToString());

}

}

4)在程序中自己创建表格,

const string cmdFormat = "CREATE TABLE PERSON(ID INT,NAME STRING,AGE INT);";

执行该命令,如果该table已经建立了,在command中执行上面的那句话就会出错,为了避免该问题,在command中执行该命令时,加个try……catch……,这样,即使table已经建立,程序可以继续往下执行;

转载于:https://www.cnblogs.com/SherryWang/p/3548162.html

C# SQLite编程总结相关推荐

  1. android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)

    数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据库和查询表中的 ...

  2. Android SQLite编程详解

    SQLite 数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据 ...

  3. SQLite学习(八) - SQLite C编程接口

    老版本的SQLite编程接口很简单,只有5个接口.随着新功能的增加,新版本的SQLite有185个编程接口. 但是不用担心,核心API还是很容易理解的. 1. 先来介绍核心对象和接口 (1) 数据库连 ...

  4. 【编程实践】SQLite 极简教程

    1 SQLite 教程 SQLite 简介 本教程帮助您了解什么是 SQLite,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式. SQLite 是一个软件库,实现了自给自足的 ...

  5. wp7——sqlite数据库操作 from:http://blog.csdn.net/wp_lijin/article/details/7370790

    wp7的数据库是个头痛的问题,因为它目前不支持数据库,当然,你也可以使用微软的收费数据库或者云端,或者独立存储,不过综合下,如果你要设计一个数据管理类软件,数据库是必不可少的,下面我介绍一下Sqlit ...

  6. SQLite学习手册(锁和并发控制)

    一.概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable).在含有数据 ...

  7. SQLite 命令(http://www.w3cschool.cc/sqlite/sqlite-commands.html)

    SQLite 命令 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令.些命令被称为 SQLite 的点命令,这些命令的不同之处在于它们不以分号(;)结束. 让我们在命令提示符下键入一个简 ...

  8. 01.SQLite 教程(http://www.w3cschool.cc/sqlite/sqlite-tutorial.html)

    SQLite 教程 SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受 ...

  9. linux c编程操作数据库(sqlite3应用)

    C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理(创建数据库.创建表格.插入数据.查询.数据.删除数据等). 首先要编译好 sqlite的库文件 :       libsqlite3 ...

最新文章

  1. 软件工程(2019)第三次个人作业
  2. MySQL模糊查询—like关键字
  3. 【云快讯】之五十五《IBM推出Data Warehouse数据仓库云服务》
  4. DICOM C-GET vs C-MOVE
  5. layui上传展示进度条
  6. Java-基础---继承,方法重写,super关键字
  7. silverlight:贝塞尔曲线
  8. 老男孩linux运维50期-谢江平
  9. 高性能网络编程(二):上一个10年,著名的C10K并发连接问题
  10. 图解R树的原理及相关操作
  11. qp_查看表的数据是否更新了指定的某一天数据
  12. Google引擎搜索技巧
  13. 情感天地 - 自作诗词 - 《船夫奇恋曲》
  14. 八股文--->JAVA基础
  15. 格式化代码_格式化代码是什么意思
  16. 明天老外要上课,先准备一下词汇:)
  17. 剑指offer刷题(一刷)笔记 2019.12.15
  18. with torch.no_grad()
  19. 一些关于计算机视觉的思考和学习方法
  20. 写给普通人看的自媒体分享|万事开头难,勇于分享自己,我们都很棒!

热门文章

  1. python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案
  2. 高考与机器学习训练测试
  3. 逻辑回归是个什么逻辑
  4. 【通知】有三AI更新420页14万字视觉算法工程师成长指导手册,可下载收藏打印...
  5. 【NLP】如何利用BERT来做基于阅读理解的信息抽取
  6. 新手如何从0开始做东南亚电商lazada平台?
  7. ubuntu下chrome以代理模式启动
  8. 关于项目进度慢的思考----如何提高整体开发效率
  9. centos7搭建SVN并配置使用http方式访问SVN服务器
  10. assembly x86(nasm)串比较