SQLite使用总结(C#版 潘鹏)

前端之家收集整理的这篇文章主要介绍了SQLite使用总结(C#版 潘鹏)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

简述

关系型

优点:

1.嵌入式,我的理解就是跟着程序走,轻便,只需一个dll可享受所有服务
2.速度比MysqL
3.配置简单
4.可移植

缺点:

自己查吧

工具

sqlite下载地址 : http://www.sqlite.org/download.html
sqlite可视化工具:sqlite Database Browser(这个百度一下,种类还不少)

1.部署

  • 安装了sqlite后,其中有System.Data.sqlite,在项目引用

  • 项目—属性—目标平台 与 下载的sqlite版本对应
    -我下载的是.NET 4.5 x64的,目标平台更换为X64,否则报错,图如下

2.连接

private sqliteConnection _connection;
private void ConnectionDb(string dbName,string path = null)
{
    if(null == path)
        path = Environment.CurrentDirectory;

     var connectionString = string.Format(@"Data Source={0}\{1}.db;Pooling=true;FailIfMissing=false",path,dbName);
     _connection = new sqliteConnection(connectionString);
    _connection.Open();
}

1.玩过数据库的人一看也明白什么意思了,就不加注释了

2.由此看出sqlite的后缀是.db

3.连接字符串的写法按网上的写法错误,估计不是版本更新了,就是没有测试就上传博文。错误图如下

4.连接字符串正确的写法可参考我的,或者在你安装sqlite后有一个”Test Application“的exe,可复制它的写法,运行后图如下

3.建库

1.在上面的连接给出的代码中已经有建库的代码,库名dbName

2.dbName,有,连接,无,创建

3.库中没有表是无法看到该库的

4.电脑上建一个txt,后缀改为db,就可以当做sqlite的库来用

4.建表

private void CreateTable(string tableName,List<string> columsName )
{
    var colums = columsName.Aggregate( (current,colum) => current + ("," + colum) ); //建表的列时不用考虑列的类型 var sql = string.Format("create table if not exists {0}({1})",tableName,colums); sqliteCommand cmd = new sqliteCommand(sql,_connection); cmd.ExecuteNonQuery(); }

1.定义表的字段,不用考虑类型

2.ExecuteNonQuery来执行sql语句

5.插入

private void Insert(string tableName,List<string> valueList)
{
    var valus = valueList.Aggregate((current,valu) => current + string.Format(",'{0}' ",valu)); var sqlInsert = new sqliteCommand(_connection); sqlInsert.CommandText = string.Format("insert into {0} values({1})",valus); sqlInsert.ExecuteNonQuery(); }

6.关闭

private void CloseDb()
{
    _connection.Close();
}

题外话1:朋友接的私活,餐馆的管理程序,在数据库方面我给他推荐sqlite,这个我也只是听过,昨晚就先试用走通,暂时只是做了部署、连接、建库、建表、插入数据、关闭,结果图如下:
题外话2:安装sqlite后看到里面有EF6.0的dll,难道可以……

原文链接:https://www.f2er.com/sqlite/199348.html

猜你在找的Sqlite相关文章