在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( ...
随机推荐
- CodeForces 347B Fixed Points (水题)
题意:给定 n 数,让你交换最多1次,求满足 ai = i的元素个数. 析:很简单么,只要暴力一遍就OK了,先把符合的扫出来,然后再想,最多只能交换一次,也就是说最多也就是加两个,然后一个的判,注意数 ...
- 使用火蜘蛛采集器Firespider采集天猫商品数据并上传到微店
有很多朋友都需要把天猫的商品迁移到微店上去.可在天猫上的商品数据非常复杂,淘宝开放接口禁止向外提供数据,一般的采集器对ajax数据采集的支持又不太好. 还有现在有了火蜘蛛采集器,经过一定的配置,终于把 ...
- sql语言的一大类 DML 数据的操纵语言
-DML(insert,update,delete) 1.插入数据insert into 表名(列,列...)values(值,值...)//当插入的数据与表格一一对应时,列可以省略insert in ...
- IT技术公众号推荐
获取二维码方法:http://open.weixin.qq.com/qr/code/?username=公众账号,例如:cjscwe_2015 目录 全栈 编程语言 前端开发 移动开发 数据库 操 ...
- 使用 FireMonkey 构建优秀专业 Android 应用的10点提示
原文链接:http://www.firemonkeyx.com/ten-tips-for-building-stunning-professional-android-apps-with-firemo ...
- Android-广播概念
Android中的消息机制 1.Handler+Message消息机制,是用于子线程与主线程的通讯: 2.广播+广播接收者也是消息机制,是重量级别的,四大组件之一,需要激活组件,是用于组件和组件之间通 ...
- Time 模块中asctime()、time()、localtime()、ctime()、gmtime()的用法
Time 模块包含了以下内置函数,既有时间处理的,也有转换时间格式的: time.asctime([tupletime]) 接受时间元组并返回一个可读的形式“Tue Dec 11 18:07:14 2 ...
- mvc4验证码&输出图像的处理方式
/// <summary> /// 绘制验证码 /// </summary> /// <returns></returns> public Action ...
- django drf 初探serializer
1.定义Model对应的serializer from rest_framework import serializers class GoodsSerializer(serializers.Seri ...
- MySQL数据库(四)
操作数据库表的内容: -- 向表中插入数据:insert into table_name values(now(),'a'); insert into student (id,name,sex) va ...