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

article/2025/8/24 22:57:55

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. 记得销毁对象时释放掉 数据库连接对象, 数据库指令对象,数据库读取对象(否则听说会丢数据)。

http://chatgpt.dhexx.cn/article/CPRL6u8Y.shtml

相关文章

Unity 2020.3.17 从UnityHub下载安装失败(含Android)

欢迎转载&#xff0c;记得标明来源&#xff0c;如能帮到你&#xff0c;我很高兴&#xff0c;有问题可以留言交流&#xff0c;翕翕堂~ 目录 前述 下载UnityHub 选择版本 选择目标旧版本&#xff1a; 问题来了 1、下载文件的目录结构 1、Unity的安装程序 2、Unity的Andr…

【Unity编程】下载和安装Unity

本文为博主原创文章&#xff0c;欢迎转载。请保留博主链接&#xff1a;http://blog.csdn.net/andrewfan 1.1、下载和安装Unity 1.1.1 选取版本 首先找到Unity官方网站https://store.unity.com/cn&#xff0c;如果要下载最新版本&#xff0c;可以选择“立即下载”。不过我建议…

Unity入门--Unity的下载安装及基本使用

一、Unity的下载安装 1.打开网址&#xff1a;https://unity3d.com/cn/,注册并登陆&#xff0c;点击“获取Unity” 2.点击“Try Personal” 3.点击“Download Installer” 4.双击运行并安装 二、创建项目 1.在弹出的窗口或双击运行后选择“create project” 2.unity项目窗口 3…

新人Unity下载安装

本文是叫新手上网搜索安装unity (免费版) –注-- unity 有很多安装路径&#xff0c;我写的只是其中一种 1 网上搜索Unity 找到Unity 官网&#xff0c;点击打开 unity 版本的选择 Unity 自2008年问世以来&#xff0c;每年都会更新许多版本 &#xff0c;不同的版本可以在电脑上…

unity下载和安装

unity下载和安装 1. 下载unity安装包 unity官网下载 2. 选择你需要的版本 这里我选择windows / Unity Editor 64-bit版本 3. 安装 4. 安装完后&#xff0c;第一次启动Unity时弹窗&#xff0c;选择Install 5.然后会弹出如下页面&#xff0c;选择下载Unity Hub&#xff0c;并…

Unity零基础到入门 ☀️| Unity下载安装---使用UnityHub下载各个版本的Unity(收藏)

前言&#xff1a;如果刚开始准备使用Unity做开发&#xff0c;在UnityHub上下载你想要的Unity版本会事半功倍&#xff0c;省掉很多麻烦哦&#xff0c;看这篇文章可以方便快捷安装使用Unity进行开发 注意&#xff1a;在使用Unity之前需要进行环境配置&#xff0c;如果只是进行Wi…

Unity2018.3.11下载安装详细图文教程

1、在官网下载安装包 个人版官方下载网址&#xff1a; https://store.unity.com/download 2、往下滑&#xff0c;选中勾选框&#xff0c;点Download Installer for Windows 3、下载完毕后&#xff0c;可以看到Unity的安装包&#xff0c;双击它后即可进行Unity的安装 4、点Nex…

专利实例撰写技巧

最近需要写一个发明专利&#xff0c;提前做点功课。 参考文章传送门&#xff1a; https://jingyan.baidu.com/article/b7001fe1a49cc50e7282ddb6.html https://wenku.baidu.com/view/982bfc780166f5335a8102d276a20029bc64631b.html 专利包括实用新型专利和发明专利&#x…

如何写专利

原博客地址 手把手教你写专利申请书如何申请专利 摘要 小前言 (一)申请前的准备工作 1、申请前查询 2、其他方面的考虑 3、申请文件准备 (二)填写专利申请系列文档 1、实际操作步骤 2、具体操作 3、经验分享、注意事项 (三)关于费用 (四)其他…

专利撰写概述

最近准备将前几个月在项目中做出的一些成果整理成专利发表&#xff0c;看了前几届师兄师姐发表的专利以及从网上下载本领域的相关专利来看&#xff0c;不得不说&#xff0c;专利的撰写是遵从一定的规律的&#xff0c;有相关的模板以及套路。就在前几天我刚完成我的第一篇专利&a…

发明专利名称的撰写原则和技巧总结

我们在申请实用新型专利时&#xff0c;通常都会为专利的权利保护范围、专利说明书、甚至是附图的选择而头疼&#xff0c;很少人着眼于专利名称&#xff0c;甚至是一笔带过了专利名称。那么专利名称重要吗&#xff1f;国家对专利名称有无特别的要求&#xff1f;实用新型专利名称…

专利撰写步骤

冒泡 1. 分清专利类型2. 准备材料1.技术领域&#xff1a;2. 背景技术&#xff1a;3.发明内容&#xff1a;4. 附图说明&#xff1a;5. 具体实施方式&#xff1a;6. 附图&#xff1a; 。 。 。 。 。 。 好久没写博客了&#xff0c; 这段时间忙着玩 cs go&#xff0c;写了一个专…

如何撰写专利说明书?

1. 专利说明书的结构和内容 专利法实施细则第18条规定了说明书8个部分的内容及行文的顺序,除发明名称外,一般情况下,各部分应当至少使用一个自然段,但不用加序号和列标题。 1)发明或实用新型的名称 名称应当与请求书中名称一致,简洁、明确表达发明或实用新型的主题。名…

方法一 NTC热敏电阻转换温度的计算方式(分段法)

一.硬件 STC15W408AS单片机 10KNTC热敏电阻 二.资料 热敏电阻阻值温度对应表 -30摄氏度~240摄氏度对应的阻值 每个温度对应一个阻值 三.计算方法 根据需求,我这测试只用选取0~100度区间就OK了.也就是100个点 , 用表格绘制曲线图.Y轴是温度,X轴是电阻值,单位KΩ.这是一个…

热敏电阻NTC、PTC

文章目录 前言 一、NTC和PTC是什么&#xff1f; 二、NTC和PTC的用途 1.NTC的用途&#xff1a; 2.PTC的用途有&#xff1a; 三、B值 四、R25 五、原理分析 总结 前言 NTC、PTC是什么&#xff1f;对于没有接触过NTC、PTC或刚接触过NTC、PTC的人来说&#xff0c;NTC、PTC是什么也不…

NTC热敏电阻的主要技术参数

原文 http://blog.sina.com.cn/s/blog_605538500101bd3p.html 零功率电阻值 RT&#xff08;Ω&#xff09; RT指在规定温度 T 时&#xff0c;采用引起电阻值变化相对于总的测量误差来说可以忽略不计的测量功率测得的电阻值。奥沃精诚 电阻值和温度变化的关系式为&#xff1a; R…

NTC热敏电阻的时间常数

热时间常数这个参数在热敏电阻的手册上都会标注出来&#xff0c;是热敏电阻的一个重要参数&#xff0c;百科上说也叫热响应时间(thermal response time)。一般热时间常数越大表明此热敏电阻性能越好。 1、热时间常数定义 实际上&#xff0c;热时间常数是用来衡量NTC热敏…

51单片机NTC热敏电阻温度采集及控制ADC0832 LCD1602

实践制作DIY- GC0051-NTC热敏电阻温度采集及控制 一、功能说明&#xff1a; 基于51单片机设计-NTC热敏电阻温度采集及控制 功能介绍&#xff1a; STC89C52单片机&#xff08;STC89C51/52 AT89C51/52 任选其一&#xff09;LCD1602显示器NTC热敏电阻温度传感器ADC08322个继电…

功率型热敏电阻(NTC)的主要参数及深入介绍

零功率电阻值 RT(Ω) RT指在规定温度 T 时&#xff0c;采用引起电阻值变化相对于总的测量误差来说可以忽略不计的测量功率测得的电阻值。 额定零功率电阻(R25 ) 这个被包含于上一条&#xff0c;要理解清楚。也叫标称电阻值&#xff0c;根据国标规定&#xff0c;NTC热敏电阻器在…