Unity 数据库的简单使用
来源:互联网 发布:阿里大数据查询 编辑:程序博客网 时间:2024/05/18 02:36
下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下载下来sqlite-dll-win64-x64-3150100.zip、sqlite-tools-win32-x86-3150100.zip sqlite-dll-win64-x64-3150100.zip包含.def、.dll两个文件sqlite-tools-win32-x86-3150100.zip包含三个执行文件exe将它们一起解压到D:\sqlite文件夹,配置环境变量PATH后追加“D:\sqlite;”
1.创建一个Unity工程,创建一个文件夹命名为Plugins
2.导入两个文件到Plugins文件夹(Mono.Data.Sqlite.dll和System.Data.dll)
3.新建一个脚本用来操作数据库的使用
4.在脚本中引用命名空间Mono.Data.Sqlite(能引用证明成功了)
using System.Collections;using System.Collections.Generic;using UnityEngine;using Mono.Data.Sqlite;public class SqliteTest : MonoBehaviour { void Start () { //打开数据库 SqliteConnection con = new SqliteConnection("data source=" + Application.dataPath + "/data.db"); con.Open(); //创建表 SqliteCommand cmd = new SqliteCommand("create table if not exists User(uid integer, name text)",con); //执行创建表命令 cmd.ExecuteNonQuery(); cmd.Dispose(); //插入一条数据 cmd = new SqliteCommand("insert into User values(1,'令狐冲')", con); //执行插入数据命令 cmd.ExecuteNonQuery(); cmd.Dispose(); //查询当前几条结果 cmd = new SqliteCommand("select count(*) from User", con); object obj = cmd.ExecuteScalar(); int count = System.Convert.ToInt32(obj); Debug.Log("count:" + count); cmd.Dispose(); //查询数据 cmd = new SqliteCommand("select * from User",con); SqliteDataReader reader = cmd.ExecuteReader(); /* 1 令狐冲 2 岳不群 3 任盈盈 */ while (reader.Read()) { //取出第一列 int uid = reader.GetInt32(0); //取出第二列 string name = reader.GetString(1); Debug.Log(uid + " " + name); } cmd.Dispose(); reader.Close(); con.Close(); } void test() { SqliteManager.Instance.Open(Application.dataPath + "/data.db"); //创建表 SqliteManager.Instance.ExecuteNonQuery("create table if not exists User(uid integer, name text)"); //插入一条数据 SqliteManager.Instance.ExecuteNonQuery("insert into User values(2,'岳不群')"); //查询 SqliteDataReader reader = SqliteManager.Instance.ExecuteReader("select * from User"); //.... reader.Close(); SqliteManager.Instance.Close(); }}
其中大家看到了SqliteManager的单例所以我们还需要创建一个管理脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;using Mono.Data.Sqlite;public class SqliteManager : MonoBehaviour { public static SqliteManager Instance; SqliteConnection con; SqliteCommand cmd; SqliteDataReader reader; void Awake () { Instance = this; } //打开数据库 public void Open(string fileName) { con = new SqliteConnection("data source=" + fileName); con.Open(); } //关闭数据库 public void Close() { con.Close(); } //执行增删改 public int ExecuteNonQuery(string command) { cmd = new SqliteCommand(command, con); int count = cmd.ExecuteNonQuery(); cmd.Dispose(); return count; } //执行查 public SqliteDataReader ExecuteReader(string command) { cmd = new SqliteCommand(command, con); reader = cmd.ExecuteReader(); cmd.Dispose(); return reader; }}
这样就实现了数据库的增删改查操作了 不喜勿喷 感谢支持
阅读全文
1 0
- Unity 数据库的简单使用
- Unity IAP的简单使用
- 数据库的简单使用
- unity---EZGUI简单的使用1
- unity关于StartCoroutine的简单线程使用
- Unity DoTween加iTweenPath的简单使用
- Unity 动画插件 DOTween 的简单使用
- unity中扩展方法的简单使用
- Unity回调函数的简单使用
- Unity中random函数的简单使用
- Photon Unity Networking(PUN)的简单使用
- 使用Unity制作一个简单的聊天室
- Photon Unity Networking(PUN)的简单使用
- Unity中的BlendTree的简单使用
- Unity的Android打包(Sqlite数据库使用)
- unity 简单使用protobuf
- 【Unity】简单的分数排行榜功能实现(Web数据库)
- Android 数据库的简单使用
- 博弈论(洛谷1288取数游戏2)
- dp+高精度(洛谷1005 矩阵取数游戏NOIP 2007 提高第三题)
- 开源中文分词FudanNLP
- 动态规划(洛谷1373 小a和uim之大逃离)
- 爆搜+记忆化(洛谷1220 关路灯)
- Unity 数据库的简单使用
- 树形dp(洛谷1040 加分二叉树noip2003提高组第三题)
- 字符串处理排序(洛谷1012 拼数)
- dp+高精度 (洛谷1005 矩阵取数游戏 NOIP 2007 提高第三题)
- 转 浅谈用极大化思想解决最大子矩形问题
- XGBoost源码阅读笔记(2)--树构造之Exact Greedy Algorithm
- 求最大子矩阵悬线法(codevs 1159 最大全0子矩阵)
- JS学习第四天
- java操作Redis数据库的redis工具,RedisUtil,jedis工具JedisUtil,JedisPoolUtil