C# SQLite编程总结
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编程总结相关推荐
- android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)
数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据库和查询表中的 ...
- Android SQLite编程详解
SQLite 数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据 ...
- SQLite学习(八) - SQLite C编程接口
老版本的SQLite编程接口很简单,只有5个接口.随着新功能的增加,新版本的SQLite有185个编程接口. 但是不用担心,核心API还是很容易理解的. 1. 先来介绍核心对象和接口 (1) 数据库连 ...
- 【编程实践】SQLite 极简教程
1 SQLite 教程 SQLite 简介 本教程帮助您了解什么是 SQLite,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式. SQLite 是一个软件库,实现了自给自足的 ...
- wp7——sqlite数据库操作 from:http://blog.csdn.net/wp_lijin/article/details/7370790
wp7的数据库是个头痛的问题,因为它目前不支持数据库,当然,你也可以使用微软的收费数据库或者云端,或者独立存储,不过综合下,如果你要设计一个数据管理类软件,数据库是必不可少的,下面我介绍一下Sqlit ...
- SQLite学习手册(锁和并发控制)
一.概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable).在含有数据 ...
- SQLite 命令(http://www.w3cschool.cc/sqlite/sqlite-commands.html)
SQLite 命令 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令.些命令被称为 SQLite 的点命令,这些命令的不同之处在于它们不以分号(;)结束. 让我们在命令提示符下键入一个简 ...
- 01.SQLite 教程(http://www.w3cschool.cc/sqlite/sqlite-tutorial.html)
SQLite 教程 SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受 ...
- linux c编程操作数据库(sqlite3应用)
C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理(创建数据库.创建表格.插入数据.查询.数据.删除数据等). 首先要编译好 sqlite的库文件 : libsqlite3 ...
最新文章
- 软件工程(2019)第三次个人作业
- MySQL模糊查询—like关键字
- 【云快讯】之五十五《IBM推出Data Warehouse数据仓库云服务》
- DICOM C-GET vs C-MOVE
- layui上传展示进度条
- Java-基础---继承,方法重写,super关键字
- silverlight:贝塞尔曲线
- 老男孩linux运维50期-谢江平
- 高性能网络编程(二):上一个10年,著名的C10K并发连接问题
- 图解R树的原理及相关操作
- qp_查看表的数据是否更新了指定的某一天数据
- Google引擎搜索技巧
- 情感天地 - 自作诗词 - 《船夫奇恋曲》
- 八股文--->JAVA基础
- 格式化代码_格式化代码是什么意思
- 明天老外要上课,先准备一下词汇:)
- 剑指offer刷题(一刷)笔记 2019.12.15
- with torch.no_grad()
- 一些关于计算机视觉的思考和学习方法
- 写给普通人看的自媒体分享|万事开头难,勇于分享自己,我们都很棒!
热门文章
- python将EXCEL数据导入数据库时日期型数据变成数字并加.0的问题一行代码解决方案方案
- 高考与机器学习训练测试
- 逻辑回归是个什么逻辑
- 【通知】有三AI更新420页14万字视觉算法工程师成长指导手册,可下载收藏打印...
- 【NLP】如何利用BERT来做基于阅读理解的信息抽取
- 新手如何从0开始做东南亚电商lazada平台?
- ubuntu下chrome以代理模式启动
- 关于项目进度慢的思考----如何提高整体开发效率
- centos7搭建SVN并配置使用http方式访问SVN服务器
- assembly x86(nasm)串比较