C# 下sqlite简单使用
1. 对数据库增, 删, 改
//数据库文件存储路径,(Environment.CurrentDirectory:为当前工作目录的完全路径)
string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db";
//创建连接数据库实例,指定文件位置
SQLiteConnection con = new SQLiteConnection(dbPath);
//打开数据库,若文件不存在会自动创建
con.Open();
//建表语句
string sql = "CREATE TABLE IF NOT EXISTS student(id integer, name varchar(20), sex varchar(2));";
//创建sql执行指令对象
SQLiteCommand com = new SQLiteCommand(sql, con);
//如果不带参数时, 使用一下语句赋值
//com.CommandText = sql;
//com.Connection = con;
//执行sql指令创建建数据表,如果表不存在,创建数据表
com.ExecuteNonQuery(); //给表添加数据
//1. 使用sql语句逐行添加
com.CommandText = "INSERT INTO student VALUES(1, '小红', '男')";
com.ExecuteNonQuery();
com.CommandText = "INSERT INTO student VALUES(2, '小李', '女')";
com.ExecuteNonQuery();
com.CommandText = "INSERT INTO student VALUES(3, '小明', '男')";
com.ExecuteNonQuery();
//2. 使用事务添加
//实例化一个事务对象
SQLiteTransaction tran = con.BeginTransaction();
//把事务对象赋值给com的transaction属性
com.Transaction = tran;
//设置带参数sql语句
com.CommandText = "INSERT INTO student VALUES(@id, @name, @sex)";
for (int i = 0; i < 10; i++)
{
//添加参数
com.Parameters.AddRange(new[] {//添加参数
new SQLiteParameter("@id", i + 1),
new SQLiteParameter("@name", "test" + i),
new SQLiteParameter("@sex", i % 3 == 0 ? "男" : "女")
});
//执行添加
com.ExecuteNonQuery();
}
//提交事务
tran.Commit();
//关闭数据库
con.Close();
2. 读取数据
//数据库路径
string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db";
//创建数据库实例,指定文件位置
SQLiteConnection conn = new SQLiteConnection(dbPath);
//打开数据库,若文件不存在会自动创建
conn.Open();
//查询sql语句
string sql = "select * from student";
//实例化sql指令对象
SQLiteCommand cmdQ = new SQLiteCommand(sql, conn);
//存放读取数值
SQLiteDataReader reader = cmdQ.ExecuteReader();
//显示数据的控件
richTextBox1.Text = "";
//读取每一行数据
while (reader.Read())
{
//读取并赋值给控件
richTextBox1.Text += reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2) + "\n";
}
//关闭数据库
conn.Close();
C# 下sqlite简单使用的更多相关文章
- Visual Studio下SQLite数据库开发环境设置
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...
- SQLite简单介绍
一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyed ...
- mysql 5.7.29 在centos7.6下超简单的本地yum源安装与配置
目录 生成yum源元数据 从网易镜像站下载MySQL 5.7 的 bundle包 创建文件 mysql-local.repo 执行yum install命令 生成yum源元数据 createrepo ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- ios下最简单的正则,RegexKitLite
ios下最简单的正则,RegexKitLite 1.去RegexKitLite下载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中.备用地址:http://www.coco ...
- 【转】 iOS开发数据库篇—SQLite简单介绍
开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中 ...
- Linux下一个简单的日志系统的设计及其C代码实现
1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...
- VIM - visual selection 模式下的简单操作
1. 概述 vim 的 visual selection 模式下的简单操作 2. visual selection 模式 概述 可视化选择 可视化选择 vim 的一种专门用来选择的模式 可以提供相对于 ...
- [Android] Android MVP 架构下 最简单的 代码实现
Android MVP 架构下 最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...
随机推荐
- 【黑马Javaweb】1.1Junit单元测试
黑马第一天学习 今日内容 Junit单元测试: 测试分类: Junit使用:白盒测试 今日内容 1.1Junit单元测试 1.2.反射 1.3.注解 Junit单元测试: 测试分类: 1.黑盒测试:不 ...
- **高效的MySql 随机读取数据
一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BYRAND() LIMIT 5 就可以了. 但是真正测试一下才发现这样效率非常低.一个15万余条的库 ...
- javascript 生成img标签的3种方式(对象、方法、html)
<div id="d1"></div> <script> //HTML function a(){ document.getElementByI ...
- JDBC事务案例学习
package com.loaderman.demo.d_tx; import com.loaderman.demo.utils.JdbcUtil; import java.sql.Connectio ...
- Jmeter如何使用数据库返回值实践
Jmeter如何使用数据库返回值实践 最近使用Jmeter针对产品做性能测试,测试内容是要模拟300并发用户审批休假申请时的性能.由于每个申请人的主管不同,且会根据不同的休假类型,会有一级审批或者二级 ...
- java:nginx(java代码操作ftp服务器)
1.检查是否安装了vsftpd [root@linux01 ~]# rpm -qa|grep vsftpd 2.安装vsftpd [root@linux01 ~]# yum -y install vs ...
- 在web项目中获取ApplicationContext上下文的3种主要方式及适用情况
最近在做web项目,需要写一些工具方法,涉及到通过Java代码来获取spring中配置的bean,并对该bean进行操作的情形.而最关键的一步就是获取ApplicationContext,过程中纠结和 ...
- 【AMAD】beaker -- 用于session和缓存的WSGI中间件
简介 动机 作用 个人评分 简介 Beaker1是一个web session和通用缓存库,并且包含一个WSGI中间件可以用于你的web应用. 动机 Beaker是基于MyghtyUtils2(一个古老 ...
- TCP协议基础(一)
TCP为应用层提供的服务 提供进程和进程之间的通信 答: 怎么区分服务目的主机上的哪个进程呢? 通过提供端口号(well-known port), 如Telnet 23,DNS 53, HTTP 80 ...
- Oracle 多行拼接函数 :[Err] ORA-00904: "WM_CONCAT": 标识符无效
SELECT LISTAGG(GOODSNAME,';') WITHIN GROUP (ORDER BY GOODSNAME) AS sd WM_CONCAT() 方法被替代成:LISTAGG(GO ...