在c#中使用sqlite3
Sqlite3是一款优秀的数据库软件,在嵌入式设备和移动端都有使用,我司现在有些项目使用的数据库是access,说实话,对这些不太感冒,我还是喜欢优雅简单的东东,于是乘着这几天休息的时间学习了下在c#中使用sqlite3。先看代码
using System;
using System.Data.SQLite;
using System.IO;
using System.Data;
using System.Linq;
namespace sqlite3
{
class Program
{
static string path = @"./test.sqlite";
static SQLiteConnection connection = null;
static void CreateDB()
{
connection = new SQLiteConnection("data source = " + path);
connection.Open();
connection.Close();
}
static void CreateTable()
{
connection.Open();
// create table
SQLiteCommand command = connection.CreateCommand();
command.CommandText = "CREATE TABLE IF NOT EXISTS t1(id varchar(4), score int)";
command.ExecuteNonQuery();
// insert into some data
Random random = new Random();
for (int i = 0; i < 100; i++)
{
command.CommandText = string.Format("insert into t1(id, score) values({0}, {1})", i+1, random.Next());
command.ExecuteNonQuery();
Console.Clear();
Console.WriteLine("wrote {0} items", i + 1);
}
connection.Close();
}
static void DeleteDB()
{
if (File.Exists(path))
{
File.Delete(path);
}
}
static void QueryDB()
{
connection.Open();
// query the rows
SQLiteCommand command = connection.CreateCommand();
command.CommandText = "select * from t1 limit 10";
SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
DataTable table = new DataTable();
adapter.Fill(table);
foreach(DataRow row in table.Rows)
{
Console.WriteLine($"id: {row["id"]} score: {row["score"]}");
}
// get the rows' count
command.CommandText = "select count(*) from t1";
Int64 cnt = (Int64)command.ExecuteScalar();
Console.WriteLine($"table t1 has {cnt} rows");
connection.Close();
}
static void Main(string[] args)
{
DeleteDB();
CreateDB();
CreateTable();
QueryDB();
Console.ReadKey();
}
}
}
实现了一些简单的操作,比较以往使用的mysql,sqlite3的优点是便捷,安装也简单,性能也可以。
主要参考:
- https://blog.csdn.net/kasama1953/article/details/52655497
- https://www.cnblogs.com/leemano/p/6578050.html
在c#中使用sqlite3的更多相关文章
- python django中使用sqlite3数据库 存储二进制数据ByteArray
在python中使用sqlite3数据库存储二进制流数据ByteArray,在django使用sqlite3数据库时,有时候也要注意最好使用二进制流ByteArray插入字符串. 使用ByteArra ...
- MFC中使用sqlite3操作数据库
需要用到的文件有sqlite3.h .sqlite3.dll.sqlite3.lib.网上很多人分享下载地址这里不再赘述. 将这三个文件拷贝到自己新建MFC项目目录下,在解决方案窗口下 添加现有项,选 ...
- node-webkit中使用sqlite3(MAC平台)
前言 最近使用node-webkit开发一款博客发布软件,来替换难用的Windows Live Writer(主要是对Markdown标签的支持很差劲).为了解决博文信息临时保存的问题,想到了使用sq ...
- 在MFC中支持sqlite3
在vc环境下支持sqlite3的方法有很多,sqlite官网也有推荐sqlitewrappers列表,我选用的是CppSqlite 建立MFC工程的步骤我就不赘述了,以下操作均假设你已经创建好了一个M ...
- Linux系统中关于Sqlite3中文乱码问题及解决办法
新做的一个项目在本地(Win8)测试时没有问题,但传到服务器(Linux)时从Sqlite3数据库查询到的数据中文却是乱码(数据库中是正常的) 将php文件.html文件都设置成统一的utf8还是一样 ...
- centos7 python3.5中引入sqlite3
在centos系统中创建Django app,报错如下: django.core.exceptions.ImproperlyConfigured: Error loading either pysql ...
- node-webkit中使用sqlite3
sqlite3的官方文档提到:nodejs和node-webkit的ABI不同,所以默认的安装方式: npm install sqlite3 安装的sqlite3是无法使用的,需要重新编译. 编译方法 ...
- [置顶] Android中使用sqlite3操作SQLite
SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令.本文档提供一个样使用sqlite3的简要说明. 一.创建数据库: 1.将sqlit ...
- python2中在sqlite3中插入中文
# -*- coding: utf-8 -*- import sqlite3 conn = sqlite3.connect('SWC_Perf_Info.db') cur = conn.cursor( ...
随机推荐
- ACM 韩信点兵 、n的另一种阶乘、6174的问题
3.6174问题 描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作.例如,从1234出发,依次可以得到4321- ...
- Eclipse快捷键和练习题(倒叙,排序)
1 快捷键 内容辅助键 Alt+/ 自动补齐main方法 main 然后 Alt+/ 自动补齐输出语句 syso 然后 Alt+/ 格式化Ctrl+Shift+f 代码区域右键 -- So ...
- Redis缓存相关
Redis缓存服务搭建及实现数据读写 RedisHelper帮助类 /// <summary> /// Redis 帮助类文件 /// </summary> public cl ...
- route -A inet6查看路由 getnameinfo failed [UNKNOWN]解决方案
route -A inet6查看路由 getnameinfo failed [UNKNOWN]解决方案, 结果如下: route -A inet6 -n 查看即可
- Gym - 101498G(Super Subarray )
In this problem, subarray is defined as non-empty sequence of consecutive elements. We define a suba ...
- Apache网站服务
Apache 下载地址: http://mirror.bit.edu.cn/apache/httpd/相关软件下载地址:http://mirror.bjtu.edu.cn/apache/apr/apr ...
- C#基础入门 三
C#基础入门 三 类 类使用class关键字进行声明,前面加一个访问修饰符,public class car{} 访问修饰符:修师傅可以用来修饰类和类成员等,控制它们的可见度 修饰符关键字分别为:pu ...
- 折腾了两天的跨站脚本提交问题,与IIS7有关
根据这里提供的方法,本地测试通过没有问题,但是部署到服务器上之后,只有GET请求可以跨站提交,POST请求继续报错,折腾了两天之后觉得,是不是IIS7的问题?果然,找到了这篇文章,照做之后解决.
- Partition--分区拆分和分区合并
--=========================================== --准备测试数据 USE [DB0001] GO CREATE PARTITION FUNCTION [pf ...
- zTree动态加载
@{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" ...