【DB】SQLite学习笔记
下载”System.Data.SQLite.DLL”,程序中添加引用即可
//创建数据库文件
SQLiteConnection.CreateFile("sqlitetest.db");
//建立数据库连接并打开数据库
第一种方法:
SQLiteConnection conn = new SQLiteConnection();
SQLiteConnectionStringBuilder connsb = new SQLiteConnectionStringBuilder();
connsb.DataSource = dbName;
connsb.Password = "zlm";
conn.ConnectionString = connsb.ToString();
conn.Open();
第二种方法:
SQLiteConnection conn = new SQLiteConnection("Data Source=sqlitetest.db;Password=zlm");
conn.Open();
//添加表
SQLiteCommand cmd = new SQLiteCommand(conn);
string cmdText = "Create Table User(id int ,Name varchar(20))";
cmd.CommandText = cmdText;
cmd.ExecuteNonQuery();
//插入测试数据
第一方法:
SQLiteCommand cmd = new SQLiteCommand(conn);
cmd.CommandText = "INSERT INTO [TEST] (ID,name) VALUES (1,'acen')";
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO [TEST] (ID,name) VALUES (2,'unique')";
cmd.ExecuteNonQuery();
第二种方法:
SQLiteCommand cmd = new SQLiteCommand(conn);
cmd.CommandText = "insert into User(id,name,econfig) values(@id,@name)";
cmd.Parameters.AddWithValue("@id", );
cmd.Parameters.AddWithValue("@name","zhangsan");
cmd.ExecuteNonQuery();
//读数据
cmd.CommandText = "select * from Test";
SQLiteDataReader dr = cmd.ExecuteReader();
StringBuilder sb = new StringBuilder();
while (dr.Read())
{
sb.Append(dr.GetInt32()).Append("|").Append(dr.GetString()).Append("\n");
}
1. 测试通过,如果把密码去掉再调试,”File opened that is not a database file .file is encrypted or is not a database”,不出所料,出错了。
2. 设置密码的另一个方法:conn.SetPassword("zlm"); 在打开连接之前设置。
3. 修改密码的方法:conn.ChangePassword("dy");必须在打开连接之后操作。
4. SQLite不支持存储过程,虽然它的类SQLiteCommand有一个CommandType属性,但其明确写着目前仅支持CommandType.Text.
【DB】SQLite学习笔记的更多相关文章
- Sqlite学习笔记(四)&&SQLite-WAL原理
Sqlite学习笔记(三)&&WAL性能测试中列出了几种典型场景下WAL的性能数据,了解到WAL确实有性能优势,这篇文章将会详细分析WAL的原理,做到知其然,更要知其所以然. WAL是 ...
- Sqlite学习笔记(四)&&SQLite-WAL原理(转)
Sqlite学习笔记(三)&&WAL性能测试中列出了几种典型场景下WAL的性能数据,了解到WAL确实有性能优势,这篇文章将会详细分析WAL的原理,做到知其然,更要知其所以然. WAL是 ...
- SQLite 学习笔记
SQLite 学习笔记. 一.SQLite 安装 访问http://www.sqlite.org/download.html下载对应的文件. 1.在 Windows 上安装 SQLite. ...
- sqlite学习笔记7:C语言中使用sqlite之打开数据库
数据库的基本内容前面都已经说得差点儿相同了.接下看看如何在C语言中使用sqlite. 一 接口 sqlite3_open(const char *filename, sqlite3 **ppDb) 打 ...
- SQLite学习笔记(七)&&事务处理
说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性.对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性.sqlite也不例外,虽然简单,依然 ...
- SQLite学习笔记(十)&&加密
随着移动互联网的发展,手机使用越来越广泛,sqlite作为手机端存储的一种解决方案,使用也非常普遍.但是sqlite本身安全特性却比较弱,比如不支持用户权限,只要能获取到数据库文件就能进行访问:另外也 ...
- Sqlite学习笔记(一)&&编译安装
Sqlite简介 sqlite是一个开源的嵌入式文件数据库,sqlite以动态链接库的方式供应用程序调用,所有的数据库对象都存储在同一个文件中. sqlite动态库非常小,最新的3.8.11版本也只有 ...
- SQLite学习笔记(十一)&&虚拟机原理
前言 我们知道任何一种关系型数据库管理系统都支持SQL(Structured Query Language),相对于文件管理系统,用户不用关心数据在数据库内部如何存取,也不需要知道底层的存储 ...
- SQLite学习笔记(九)&&pager模块
概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置.它是sqlite的核心模块,充当了多种重要角色.作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性, ...
随机推荐
- PAT 1011
1011. World Cup Betting (20) With the 2010 FIFA World Cup running, football fans the world over were ...
- PAT 1008
1008. Elevator (20) The highest building in our city has only one elevator. A request list is made u ...
- docker container link
http://blog.csdn.net/kongxx/article/details/38676917
- 配置Linux数据转发(给其他接口转发一个接口的internet网络)
配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...
- HTML5拖拽功能drag
1.创建拖拽对象 给需要拖拽的元素设置draggable属性,它有三个值: true:元素可以被拖拽:false:元素不能被拖拽:auto: 浏览器自己判断元素是否能被拖拽. 2.处理拖拽事件当我们拖 ...
- webstorm卡、闪退以及win10中jdk配置
今天 webstorm 突然一直处于 indexing 索引状态,然后就卡死,重装也无法解决. 搜了一下后,有人说使用 64 位客户端打开就ok. 尝试打开 64 位的客户端,但是报错,没有64位 j ...
- ArrayList() 输出
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Li ...
- 关于.NET编译的目标平台(AnyCPU,x86,x64)
转载:http://blog.sina.com.cn/s/blog_78b94aa301014i8r.html 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有D ...
- Apache 流媒体 拖动模块编译
Windows使用apxs独立编译 Apache 模块 http://blog.sina.com.cn/s/blog_43b83d340100mdhl.html 安装 apxs 1.解压apxs.zi ...
- Ext.Net学习笔记17:Ext.Net GridPanel Selection
Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...