• Sqlite 安装操作使用


    一、什么是 SQLite 数据库

      SQLite 是嵌入式SQL数据库引擎。与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。SQLite 直接读取和写入普通磁盘文件。具有多个表,索引,触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。数据库文件格式是跨平台的-您可以在32位和64位系统之间或在big-endian和 little-endian 体系结构之间自由复制数据库 。这些功能使SQLite成为应用程序文件格式的流行选择。

      它还是一个本地数据库,在本地生成一个数据库文件,不需要借助网络就能访问。

     

    二、SQLite 的下载安装

      官网下载地址:https://www.sqlite.org/download.html

      

      找到你所对应的版本,我这里以 windows 为例,下载 sqlite-tools-win32-x86-3390400.zip 和 sqlite-dll-win64-x64-3390400.zip 两个文件,将文件解压放置单独的文件夹,解压后一共是 5 个文件

      

     

      然后在电脑的环境变量中去配置这个文件夹的路径

       

     

      到这一步,安装和配置已经完成了,接下来就要验证是否安装成功了。打开 CMD 命令版,输入 sqlite3,出现版本信息,则表示安装成功

      如果输入出现提示 sqlite3 不是内部命令,那就是环境变量没有生效,配置环境变量后要重新启动电脑才能生效

      

     

    三、SQLite在程序中使用

      这里以 .Net Framework 的项目为例演示

       1、引用 SQLite 相关的包即可,NuGet 搜索 System.Data.SQLite ,点击安装,会自动下载所依赖的其他包

        注意:不要在官网下载 System.Data.SQLite.dll ,如果你在官网下载这个 dll ,直接添加引用,运行代码时会报错 ,无法加载“DLL “SQLite.Interop.dll”:找不带指定模块”,很难解决

       

     

      2、新建一个文本将文件扩展名改为 db ,这样我们就能本地访问这个数据库

        

     

      3、访问查看 SQLite 数据库,有多种方式

        可以使用官方提供的工具 SQLiteStudio :https://sqlitestudio.pl/

        也可以使用其他的数据库链接工具(这里使用的是 Navicat),如下,选择连接数据库的类型为 SQLite,添加链接,选择现有的数据库文件就行,不需要账号和密码

        

     

      4、写 SQLite 帮助类

        我这里写的比较简单,只有 3 个方法

        因为 SQLite 可以本地读取的数据库,所以数据库链接要写成 绝对路径,如:C:\数据库\xx.db

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Data;
     4 using System.Data.SQLite;
     5 using System.Linq;
     6 using System.Web;
     7 
     8 namespace WebApplication1.DBhelper
     9 {
    10     public static class SqliteHelper
    11     {
    12         /// 
    13         /// 获取连接字符串
    14         /// 
    15         /// 连接字符串
    16         public static string GetSqlConnectionString()
    17         {
    18             //return ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;
    19             return "data source=C:\\TestProject\\DB\\sqliteDb.db";  //xx.db 用绝对路径
    20         }
    21 
    22         /// 
    23         /// 执行查询语句,返回DataSet
    24         /// 
    25         /// 查询语句
    26         /// DataSet
    27         public static DataSet GetDataSet(string SQLString)
    28         {
    29             using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
    30             {
    31                 DataSet ds = new DataSet();
    32                 try
    33                 {
    34                     connection.Open();
    35                     SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
    36                     command.Fill(ds, "ds");
    37                 }
    38                 catch (System.Data.SQLite.SQLiteException ex)
    39                 {
    40                     throw new Exception(ex.Message);
    41                 }
    42                 return ds;
    43             }
    44         }
    45 
    46         /// 
    47         /// 执行查询语句,返回DataTable
    48         /// 
    49         /// 
    50         /// 
    51         /// 
    52         public static DataTable GetDataTable(string SQLString)
    53         {
    54             using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
    55             {
    56                 DataTable dt = new DataTable();
    57                 try
    58                 {
    59                     connection.Open();
    60                     SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
    61                     command.Fill(dt);
    62                 }
    63                 catch (System.Data.SQLite.SQLiteException ex)
    64                 {
    65                     throw new Exception(ex.Message);
    66                 }
    67                 return dt;
    68             }
    69         }
    70 
    71         /// 
    72         /// 执行操作语句,返回成功与否
    73         /// 
    74         /// 
    75         /// 
    76         public static bool RunSQL(string SQLString)
    77         {
    78             using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
    79             {
    80                 try
    81                 {
    82                     connection.Open();
    83                     SQLiteCommand cmd = connection.CreateCommand();
    84                     cmd.CommandText = SQLString;
    85                     cmd.ExecuteNonQuery();
    86                     return true;
    87                 }
    88                 catch (Exception ex)
    89                 {
    90                     return false;
    91                 }
    92             }
    93         }
    94     }
    95 }
    View Code

     

      那么到这里,SQLite 的安装和使用已经结束了。如果你的项目中有部分数据是不需要存储到线上服务器,只需要留存在用户本地的话,使用 SQLite 是个很好的选择,根据项目实际情况而定。

      比如,我在用户使用输入框时,保存了用户的搜索记录,下次用户再搜索时,可将以往的记录展示出来,虽然可以保存在缓存中,但是缓存容易丢失,使用 SQLite 只要数据库文件还在,数据没删,随时可以使用,而且性能也还不错。

      

  • 相关阅读:
    设计模式 - MVC 扩展设计
    vue 02 Vue模板语法
    谷歌双标?拒绝给员工涨薪后,转头将高管工资提高到100万美元
    ruoyi前后端分离版本开发框架解读---让你快速入门
    Spark RDD编程模型及算子介绍(二)
    小分子PEG CAS:1352814-07-3生物素-PEG6-丙酸叔丁酯
    java面试需要掌握知识点
    python pycharm安装pexpect
    手写promis(2)-- 链式编程篇
    2023电工杯数学建模A题思路模型代码
  • 原文地址:https://www.cnblogs.com/liuchenxing/p/16877360.html