SQLite从下载安装到使用的流程

  • !!!一开始的准备工作
    • 在Unity里面使用SQLite需要用到3个文件
  • 1. 下载安装
  • 2. 创建Test表
  • 3. Sqlite的增删改查
  • 4. 创建项目
  • 5. 用Unity来连接SQLite
  • 6. 总结

!!!一开始的准备工作

在Unity里面使用SQLite需要用到3个文件

mono.data.sqlite.dll,System.data.dll,sqlite3.dll

  1. mono.data.sqlite.dll,System.data.dll
    这两个文件每个人的Unity版本不一样,需要自己到Unity安装位置下找。

这篇文章使用Unity2021.3.6f1c1版本, 这两个文件在 Unity安装目录\Editor\Data\MonoBleedingEdge\lib\mono\unityjit-win32 可以找到。

其他版本可以百度查找一下对应版本的路径,路径不太一样。找到两个文件后,后续操作是一样的。

  1. sqlite3.dll 这个文件等会下载安装的时候就有。

1. 下载安装

SQLite数据库的下载地址(第三个文件的下载地址也在这)

  1. 进去下载地址后往下滑找到 Precompiled Binaries for Windows, 32位和64位的安装包查看电脑系统是32位的还是64位的进行选择。
  2. 两个压缩包解压出来一共有3个文件(32位和64位都一样),选择一个路径保存好
  3. 配置环境变量

3-1. 右键此电脑 - 属性 - 高级系统设置 - 环境变量 - 系统变量下的path

3-2. 点击新建,并将刚刚保存解压后的文件的地址填入,然后点确定

3-3. 按 win+R 输入 cmd , 在命令行窗口输入 sqlite3 , 出现以下窗口即安装完成

  1. 安装可视化工具,方便创建数据库(SQLiteStudio)
    下载地址:https://sqlitestudio.pl/

    下载后解压即可使用。

2. 创建Test表

2-1. 打开可视化工具

2-2. 添加数据库


2-3. 添加表和字段

2-4. 添加表数据

3. Sqlite的增删改查

  1. 插入全部数据
    Insert Into 表名称 Values(值1,值2,值3)

  2. 插入部分数据
    Insert Into 表名称 (字段名称1,字段名称2) Values (值1,值2)

  3. 修改数据:
    Update 表名称 Set 字段名称1=新值 Where 要修改的那一行的某个字段=某个值;

  4. 查询数据:
    Select 字段名称 From 表名称 Where 列名 = 某值 (and/or)

  5. 删除数据:
    Delete From 表名称 Where (条件)

4. 创建项目

3-1. 创建新项目

3-2. 创建文件夹( PluginsStreamingAssets ) 【注】 文件夹名称不能修改
a. 将 一开始准备的三个dll文件 放到 Plugins文件夹
b. 将创建好的数据库文件放到 StreamingAssets文件夹


如果报错 Loading assembly failed “Assets/Plugins/Mono.Data.Sqlite.dll ,说明你的 mono.data.sqlite.dllSystem.data.dll 没有找对。

5. 用Unity来连接SQLite

(注意在脚本里的操作都会影响到数据库里的表,记得先备份)

创建Test脚本(挂载在空对象)

需要知道的三个类

 // 数据库连接对象,用于打开或关闭数据库连接private SqliteConnection con;// 数据库指令对象,用于编写或执行Sql语句private SqliteCommand command;// 数据库读取对象,用于保存查询多个数据结果的对象private SqliteDataReader reader;

reader对象的常用方法

>  reader.GetValue(列数) 获取当前列的值
>  reader.GetName(列数)  获取当前列的字段名
>  reader.Read()         读取下一行,没有下一行了就返回false
>  reader.FieldCount      返回查询到的结果的列数

脚本思路:

  1. 引入 Mono.Data.Sqlite 库: using Mono.Data.Sqlite;
  2. 实例化数据库连接对象:con = new SqliteConnection(path);
  3. 打开连接:con.Open();
  4. 实例化数据库指令对象:command = con.CreateCommand();
  5. 写sql语句:command.CommandText = "Select * from Test1";
  6. 执行sql语句(3种方法)

第一种:ExecuteNonQuery()
作用:执⾏SQL语句,并返回受影响的⾏
使⽤范围:增删改

第二种: ExecuteScalar()
作用: 返回第一行第一列的数据
使用范围: 查询单个数据

第三种: ExecuteReader() 需要 数据库读取对象
作用: 返回查询到的结果
使用范围: 查询多个数据

  1. 关闭连接:con.Close();
  2. 释放指令对象:command.Dispose();
  3. 关闭读取对象:reader.Close();
  4. 具体脚本内容
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mono.Data.Sqlite;public class Test : MonoBehaviour
{[Header("数据库名称")]public string dbFileName = "Test.db";// 数据库路径private string path;// 数据库连接对象private SqliteConnection con;// 数据库指令对象private SqliteCommand command;// 数据库读取对象private SqliteDataReader reader;private void Start(){// 在编辑器和window(打包)的路径是一样的path = "data source=" + Application.streamingAssetsPath +  "/" + dbFileName;// 实例化数据库连接对象con = new SqliteConnection(path);// 打开连接con.Open();// 实例化数据库指令对象command = con.CreateCommand();#region 执行sql语句(3种执行方法)// 第一种执行方法command.CommandText = "Select * from Test1"; // 写sql语句object val = command.ExecuteNonQuery(); // 执行sql语句Debug.Log(val); // 由于查的操作没有影响到行数,所以返回的是0// 第二种执行方法command.CommandText = "Select * from Test1"; // 写sql语句val = command.ExecuteScalar(); // 执行sql语句Debug.Log(val); // 第一行第一列的结果是 1// 第三种执行方法command.CommandText = "Select * from Test1"; // 写sql语句reader = command.ExecuteReader();  // 读取对象接收返回结果// 读取下一行,没有下一行了就跳出循环while (reader.Read()){// 用字符串来打印一列数据的结果string str = "";for(int i = 0; i < reader.FieldCount; i++){// 将当前的列的值一个一个加到字符串str += reader.GetValue(i);str += "\t";}// 打印结果Debug.Log(str);}#endregion}private void OnDestroy(){// 释放conif(con != null){con.Close();}// 释放commandif (command != null){command.Dispose();}// 释放readerif(reader != null){reader.Close();}}}

代码运行结果对比


6. 总结

  1. 不要找错 mono.data.sqlite.dll,System.data.dll。
  2. 注意三个执行语句的不同效果。
  3. 记得销毁对象时释放掉 数据库连接对象, 数据库指令对象,数据库读取对象(否则听说会丢数据)。

Unity2021中使用SQLite数据库(下载安装到unity使用)相关推荐

  1. sqlite数据库下载安装和初步操作和所遇到的问题near sqlite3:syntax error

    1.下载sqlite数据库:http://www.sqlite.org/download.html 如果是在window上安装需要在 Windows 区下载预编译的二进制文件.如图下载下载 sqlit ...

  2. SQLite数据库下载安装、配置、测试

    1.首先观看大神操作 2.如何使用呢 C:\Users\z>D:D:\>sqlite3 SQLite1.db SQLite version 3.35.5 2021-04-19 18:32: ...

  3. uwp连接mysql数据库_在 UWP 应用中使用 SQLite 数据库

    在 UWP 应用中使用 SQLite 数据库Use a SQLite database in a UWP app 06/26/2020 本文内容 可以使用 SQLite 在用户设备上的轻量级数据库中存 ...

  4. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  5. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  6. .NET中防止Access数据库下载

    .net中防止access数据库下载 如何防止access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨asp.net下防止access数据库被下载的方法,有些是对以前方法的总结,部 ...

  7. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  8. [原创].NET中防止Access数据库下载

    .NET中防止Access数据库下载 如何防止Access数据库下载是一个很老的话题了,网上的讨论也比较多.在这里只是探讨ASP.NET下防止Access数据库被下载的方法,有些是对以前方法的总结,部 ...

  9. Windows系统中 Xmanager 6 企业版下载安装激活教程

    Windows系统中 Xmanager 6 企业版下载安装激活教程 1. Xmanager 6 下载网址:https://yunpan.360.cn/surl_yrJrWq3GmjN 2. 双击 Xm ...

最新文章

  1. Python培训基础教程都教哪些
  2. 点一下按钮调两次接口?浅谈接口设计的幂等性
  3. 格式化字符串的几种方式
  4. java中类加载机制、类加载过程和类加载器层次
  5. 模式识别之Shape Context---利用Shape Context进行形状识别
  6. Stream流中的常用方法_map
  7. windows phone画板程序
  8. c++判断ftp服务器文件存在性判断_BitTorrent协议与传统文件分发协议对比
  9. java.lang.IllegalStateException: Ambiguous mapping found. Cannot map ' ' bean method
  10. java使用内部类的好处及其初始化
  11. event事件的坐标 offsetWidth client scroll
  12. Verilog初级教程(13)Verilog中的块语句
  13. 脉歌蓝牙耳机线评测_感受震撼,更贴耳的蓝牙耳机,脉歌MT70让你感受超值音效...
  14. 前瞻性研究(Prospective study)
  15. 超实用的 Python 技巧,异步操作数据库!
  16. pb公共变量怎么找_pb 实用方法
  17. 计算机一个小键盘按不出来怎么办,电脑小键盘打不出字怎么办?
  18. mysql多数据源配置
  19. 麦克风有电流声怎么办?
  20. angular : 自定义组件双向绑定 [(ngModel)]

热门文章

  1. 明天的节日,赠女神程序员巧克力式爱心键盘( 10 把)
  2. java导出Excel增加下拉框选项,解决小数据量和大数据量下拉框选项的问题
  3. 推荐7个冷门手机APP,每一个都让我相见恨晚
  4. 我们分析了200款“二次元游戏”,最终发现了这些
  5. android 抽屉组件,Android 抽屉控件 VerticalDrawerLayout
  6. 2022春招面试题总结-C++方向
  7. gwr模型用什么做_虎钳的三维模型制作你会吗?用UG软件来做这个轻松搞定
  8. cad字体库大全2485种字体
  9. mysql 查询一个月的数据
  10. 逆向工程如何进行sql语句的查询