SQLite简单使用记录
SQLite,一种轻量级的数据库
想要使用的话首先下载安装包。
https://www.sqlite.org/download.html
下载sqlite-netFx20-setup-bundle-x86-2005-1.0.102.0.exe后安装
默认.dll文件所在路径为C:\Program Files (x86)\System.Data.SQLite\2005\bin\System.Data.SQLite.dll
打开VS,新建项目,引用System.Data.SQLite.dll 编写基本操作数据库的类。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Text; namespace Test
{
public class SQLHelper
{
private SQLiteConnection conn = null; private static SQLHelper _Instance = null;
public static SQLHelper Instance
{
get
{
if (_Instance == null)
{
_Instance = new SQLHelper();
}
return _Instance;
}
}
private SQLHelper()
{
string dbPath = "Data Source =" + Environment.CurrentDirectory + "/face.db"; //创建数据库实例,指定文件位置
conn = new SQLiteConnection(dbPath); //打开数据库,若文件不存在会自动创建
conn.Open();
} ~SQLHelper()
{
try
{
conn.Close();
conn.Dispose();
}
catch
{
}
_Instance = null;
} public int ExecuteNonQuery(string sqlstr,params SQLiteParameter[] praam)
{
SQLiteCommand cmdInsert = new SQLiteCommand(sqlstr, conn); foreach (SQLiteParameter p in praam)
{
cmdInsert.Parameters.Add(p);
} return cmdInsert.ExecuteNonQuery();
} public DataSet Query(string sqlstr)
{
DataSet ds = new DataSet();
using (SQLiteCommand cmd = new SQLiteCommand(sqlstr,this.conn))
{
using (SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd))
{
sda.Fill(ds);
}
}
return ds;
} }
}
创建数据库结构可以通过语句在程序中建立也可以使用其它可视化工具进行。
下载了SQLiteStudio感觉使用起来还不错、软件还自带简体中文(选择之后程序界面一半中文一半英文,反而感觉奇怪)
建好一张表后使用程序进行insert和select测试,一切顺利。
List<SQLiteParameter> list = new List<SQLiteParameter>();
list.Add(new SQLiteParameter("@Id", md5));
list.Add(new SQLiteParameter("@Name", "TEST"));
list.Add(new SQLiteParameter("@Code", "AABBCC"));
list.Add(new SQLiteParameter("@Size", ));
list.Add(new SQLiteParameter("@Text", ""));
list.Add(new SQLiteParameter("@AddDate", DateTime.Now));
SQLHelper.Instance.ExecuteNonQuery("insert into info values(@Id,@Name,@Code,@Size,@Text,@AddDate)", list.ToArray()); DataTable Info = SQLHelper.Instance.Query("select * from Info").Tables[];
SQLite简单使用记录的更多相关文章
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- 【转】 iOS开发数据库篇—SQLite简单介绍
开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中 ...
- SQLite简单介绍
一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyed ...
- 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感
上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...
- Python简单爬虫记录
为了避免自己忘了Python的爬虫相关知识和流程,下面简单的记录一下爬虫的基本要求和编程问题!! 简单了解了一下,爬虫的方法很多,我简单的使用了已经做好的库requests来获取网页信息和Beauti ...
- redis5.0.3单实例简单安装记录
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
- Oracle触发器简单入门记录
写在前面: 最近,老项目新增了日报优化的需求,丽姐让我用触发器去实现当数据插入或者更新的时候,实现对日报表数据更新操作.嗯嗯嗯呢,之前学习数据库的时候,有碰到过触发器,但都是一跳而过,也没怎么去真正的 ...
- 27:简单错误记录SimpleErrorLog
题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: ...
- Android SQLite 简单使用演示样例
SQLite简单介绍 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也很的强大. 袖珍型的SQLite能够支持高达2TB大小的数据库, ...
随机推荐
- confluence输入数学公式之mathjax
1.概述 公司大数据业务需求,需要一些计算公式写入到confluence里面,并且可能会不断修改,如果上传图片的话修改起来不是很方便.于是google了一把,发现收费的有Latex Math下载量还是 ...
- django2.1---admin 修改模块的名字为中文显示
只需要写两个地方 1.应用下的__init__.py default_app_config = 'user.apps.UserConfig' 2.应用下apps.py from django.apps ...
- tabs自动切换功能的实现
<html><head><!-- Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href= ...
- Spring基础(4) : bean重写
@Configuration public class Config1 { @Bean() public Person getP(){ Person p = new Person(); p.setNa ...
- MFC进程的创建销毁、线程的创建与交互
进程的创建 STARTUPINFO si; //**成员DWORD dwFlags;表示结构体当中哪些成员有效.**STARTF_USESHOWWINDOW|STARTF_USEPOSITION PR ...
- 【模板】堆优化 + dij +pair 存储
就是短 感谢Cptraserdalao的博客 #include<bits/stdc++.h> using namespace std; struct node { int val,num; ...
- Java代码优化笔记
指定类.方法的final修饰符 为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写.如果指定了一个类为final,则该类所有的方法都是final的.Java ...
- HDU2444(KB10-B 二分图判定+最大匹配)
The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- socket 模拟 HTTP请求
一.socket介绍 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层.socket则是对TCP/I ...
- 说说对npm的开发模式和生产模式的理解
nodejs这些年的发展非常快,相信没有哪个前端不知道的了,npm也成为了前端开发中经常用到了的一个命令.那么npm不是只用一个 "npm install xxx"命令就够了吗?实 ...