Unity3d 5.3.5使用sqlite3

2023-05-16

国内讲的乱七八糟,更有故作神秘提供Mono.Data.Sqlite.dll System.Data.dll的,就是不告诉你这两文件在哪里。。我很无语。
看国外的,多靠谱。
http://answers.unity3d.com/questions/743400/database-sqlite-setup-for-unity.html


中文版如下。
1.先在Assets下新建Plugins文件夹。将C:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\2.0
下的Mono.Data.Sqlite.dll System.Data.dll拷贝至刚才新建的文件夹Plugins 下。
2.到https://www.sqlite.org/download.html 下载最新版的sqlite Precompiled Binaries版本。或者你喜欢折腾下源码自己编也行。
记住windows64 32位的区别。里面解压出来会有sqlite3.def sqlite3.dll 也拷贝到上面的Plugins下。
3.要在Android底下使用sqlite3 必须到这个帖子下http://forum.unity3d.com/threads/sqlite-for-android-help-please.97043/#post-705960下载一个附件。里面包含了libsqlite3.so这个文件。然后将它放到Assets/Android下。
我不知道它和安卓系统里面的system/lib/libsqlite.so有啥区别。。因为我拿不出来那个文件。所以没有尝试。

3.5,在Player Setting里的 OtherSettings里有个Optimization 下边的API Compatbility Level 选择.NET 2.0。--这步漏了,补上

4.连接字符串.conn = "URI=file:" + Application.persistentDataPath + "/test.db";  不管什么版本,都必须是这个目录。不推荐什么streaming asset 什么aseet。因为跨平台的版本,只有这个目录拥有可读写权限。

哪怕因此带来一些麻烦也没关系。(至于那些datasource=什么什么,我没有去试,也不想去弄清楚他们的区别)
这个值 windows下目录对应为:C:\Users\你的用户名\AppData\LocalLow\公司名\项目名
而在安卓下 对应为/data/data/包名/files 发布的时候必须注意。
至于ios....首先我得先有个ios再说吧.穷人装不起那个逼。
5.代码示例。从上面的老外连接照抄。不推荐什么sqllite hleper.cs当然,你要用我也没意见。代码如下:防止天草哪天心情不好又不给访问了。
   string conn = "URI=file:" + Application.dataPath + "/PickAndPlaceDatabase.s3db"; //Path to database.
     SqliteConnection dbconn;
     dbconn =  new SqliteConnection(conn);
     dbconn.Open(); //Open connection to the database.
     SqliteCommand dbcmd = dbconn.CreateCommand();
     string sqlQuery = "SELECT value,name, randomSequence " + "FROM PlaceSequence";
     dbcmd.CommandText = sqlQuery;
     SqliteDataReader reader = dbcmd.ExecuteReader();
     while (reader.Read())
     {
         int value = reader.GetInt32(0);
         string name = reader.GetString(1);
         int rand = reader.GetInt32(2);
        
         Debug.Log( "value= "+value+"  name ="+name+"  random ="+  rand);
     }
     reader.Close();
     reader = null;
     dbcmd.Dispose();
     dbcmd = null;
     dbconn.Close();
     dbconn = null;
 }


如果一定要用什么什么helper,推荐使用http://www.xuanyusong.com/archives/831 或者http://www.w2bc.com/Article/49868 这里的。其实没啥区别...
另外我能吐槽一下么。。。你们两个在构造函数里打开数据库,酱紫真的好处理返回值么?里面throw了异常,外面的包装函数又不处理异常,又不抛出异常,你们这是坑爹造不?
当然,上面的示例调用也没有处理异常...


附带一些多余的话.
Debug.log有时候中文会乱码。只要将.cs文件的编码改成utf-8 无bom即可。用VS的话来讲 叫:utf8-无签名。为了跨平台,推荐都使用UTF-8。具体请自行搜索..

sqlite3 管理工具 推荐使用SQLite Expert Personal


最后是真相



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3d 5.3.5使用sqlite3 的相关文章

  • Unity UGUI的RawImage(原始图片)组件的介绍及使用

    Unity UGUI的RawImage 原始图片 组件的介绍及使用 1 什么是RawImage组件 RawImage是Unity UGUI中的一个组件 用于显示原始图片 与Image组件不同 RawImage可以直接显示原始图片的像素数据
  • 嵌入式数据库——sqlite3

    前言 数据库是 按照数据结构来组织 存储和管理数据的仓库 是一个长期存储在计算机内的 有组织的 可共享的 统一管理的大量数据的集合 数据库是以一定方式储存在一起 能与多个用户共享 具有尽可能小的冗余度 与应用程序彼此独立的数据集合 可视为电
  • Unity3D方向键控制人物移动的代码

    代码 var v Input GetAxis Vertical var h Input GetAxis Horizontal transform Translate transform forward Time deltaTime move
  • unity多个贴图shader

    在一个Material上放多个贴图的测试 比如一个plane上放四个贴图 Shader aaa Properties MainTex Texture 2D white MainTex2 Texture 2D white MainTex3 T
  • Unity 实现选框选中物体

    最近在看RTS游戏视频注意到了选框功能 就尝试做了一下 功能实现 脚本挂载到Camera上 要不然OnPostRender 函数无法调用 rectMat新建一个材质球 设置成默认的Sprites就可以了 using System Colle
  • 服务器时间管理器

    时间戳管理器 using System using UnityEngine public class SyncTime Singleton
  • 关于unity3的中关于创建方法的总结

    关于创建基本物体 有些情况会使用上 物体碰撞 游戏里怪物和英雄的触发事件上 创建一个简单物体 隐藏mesh可以作为简单的触法器使用 多次创建预制体Prefab 方法Instantiate original Object position V
  • unity3d实现简单的打飞碟游戏

    游戏内容 游戏有n个round 每个round发射10次trial 每个trial的飞碟都可能不同 包括速度角度得分等 使用鼠标进行射击 点中即表示射击成功 游戏要求 使用带缓存的工厂模式来管理飞碟的生产与再利用 工厂使用单例模式 游戏的设
  • Unity+Pico 手柄按键控制

    一 定义手柄按键API 1 InputDevices GetDeviceAtXRNode 通过XRNode获取对应的设备 2 XRNode是一个枚举类型 包含LeftEye RightEye CenterEye Head LeftHand
  • untiy的纹理格式介绍

    Desktop RGB Compressed DXT1 压缩的RGB纹理 这是最常见的漫反射纹理格式 4位 像素 32 KB 256x256 RGBA Compressed DXT5 压缩的RGBA纹理 这是漫反射和高光控制纹理的主要格式
  • Unity编辑器扩展——进度条显示通用方法

    在我们使用Unity编辑器扩展做一些批处理的工具时 通常会需要显示一个进度条 这样不会让Unity一直卡住不动 使得使用者不知道当前的进展 那么如何显示进度条呢 涉及的相关API有 EditorUtility ClearProgressBa
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E
  • Unity使用Newtonsoft报错的解决方案

    文章目录 Unity 使用 Newtonsoft 报错的解决方案 问题描述 解决方法 方法一 使用 Unity 的 Package Manager 自动导入 方法二 访问 GitHub 下载 unitypackage 文件手动导入 Unit
  • unity3d 理解刚体(Rigidbody)和碰撞体(Collider)以及触发器(Is Trigger),边学边更新

    unity3d 理解刚体 Rigidbody 和碰撞体 Collider 以及触发器 Is Trigger 边学边更新 分类 Unity3D 2014 04 01 16 50 2755人阅读 评论 2 收藏 举报 刚体 Rigidbody
  • Unity3D如何修改Button显示的文字以及深入了解Button组件

    在创建了一个Button后 结构如图 先仔细观察一下Button的Inspector视图 发现其中竟然有一个叫Button的脚本组件 新建脚本 代码如下 并将该脚本绑定给Canvas组件 using UnityEngine UI using
  • Unity3D:按键生成物件,Instantia…

    在按下按键之后 可以在画面中生成之前定义好了的物体 这里使用了Instantiate函数来生成 1 先在游戏中定一个空物件GameObject 创建空物件快捷键 ctrl shift n 2 在视图中放置 3 编写脚本 脚本 SpaceCh
  • Unity3d获得android和ios设备的唯一标识

    android为mac地址 ios为advertisingIdentifier 函数都比较简单 网上也搜得到 我也就不多说了 主要是对于我们没做过安卓和IOS开发的人来说 整合进工程有各种的问题 我也就直接上网盘了点击打开链接 代码包里看得
  • Mecanim Any State

    Any State表示任意状态 任意状态是 一个一直存在的特殊状态 他的存在是为了保证你在无意转移至某个你当前正处于的特殊状态而准备的 为你的状态机中的每个状态设置相同的对外转移是一个快捷的方式 假如有Walk Run Fly Die这四个
  • Unity在UI界面上显示3D模型/物体,控制模型旋转

    https blog csdn net ChinarCSDN article details 81058773
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w

随机推荐

  • (六) 更新glibc版本

    glibc版本太低 xff0c 造成个别脚本会执行报错 xff0c 如下错误 1 查看系统glibc支持的版本 strings lib64 libc so 6 grep GLIBC 可以看到最高只支持2 12版本 xff0c 所以考虑编译解
  • (八)、JMeter使用代理录制App手机端性能测试脚本

    1 环境准备 xff1a 1 手机 2 wifi 3 Jmeter 2 具体步骤 xff1a 1 启动Jmeter xff1b 2 测试计划 中添加 线程组 xff1b 3 工作台 中添加 HTTP代理服务器 xff1b 4 配置代理服务器
  • 五、Python编写接口自动化

    1 总结结果 2 详细代码 xff1a coding utf 8 import requests import json class web requests object def init self pass def Interface
  • 十二、VMware vSphere 6.7虚拟化云管理之12、VCSA6.7更新vCenter Server许可

    1 更新vCenter Server许可 1 许可过期提醒 当我们进入系统时 xff0c 上方会有个明显的提示 xff1a 清单中包含许可证已过期或即将过期的 vCenter Server 系统 从官方下载的都是申请60天试用的 xff0c
  • 十三、VMware vSphere 6.7虚拟化云管理之13、VCSA6.7设置主机许可

    1 添加主机许可 1 进入分配许可 管理您的许可证 许可证 添加新许可 2 输入许可证秘钥 这里的许可证可以直接取esxi上的许可即可 3 编辑许可证名称 4 许可证信息核对 5 许可证添加成功之后 xff0c 信息如下 从灰色 可以得知
  • 十四、VMware vSphere 6.7虚拟化云管理之13、VCSA6.7导入主机集群管理

    1 导入主机集群管理 1 新建数据中心 右键 xff0c 选中数据中心 填写数据中心名称 2 添加主机 xff08 1 xff09 选中数据中心 xff0c 右键 xff0c 之后选择 添加主机 xff08 2 xff09 添加至 vCen
  • 常用自动化测试工具

    1 Appium 官网 xff1a http appium io AppUI 自动化测试 Appium 是一个移动端自动化测试开源工具 xff0c 支持iOS 和Android 平台 xff0c 支持Python Java 等语言 xff0
  • android FAILED Binder Transaction 问题的原因

    今天在做一个widget的时候需要填充一个ImageView xff0c 图片来自与网络 发现都会出现FAILED Binder Transaction这个问题 通过google得知 xff0c 原来图片的size不能超过40k Activ
  • 加sudo后执行.sh报错command not found

    今天执行一个 sh文件时 xff0c 刚开始没加sudo xff0c 报了错 xff1a jetson1 64 jetson1 span class token operator span desktop span class token
  • windows 安装zabbix客户端安装

    1 下载安装zabbix agent 打开zabbix的官网下载地址 xff0c 根据自己的zabbix server的版本选择对应的agent版本 zabbix 官网下载地址 由于前文我使用的是zabbix 5 4 xff0c 所以此处我
  • Qt编译arm linux版本-qt everywhere 5.14.0

    本教程仅适用于qt everywhere 5 14 0 迄2021 07 14本人发布为止 xff0c 这是互联网上能找到的最新的交叉编译版本教程 真实 详细 半可用 xff08 后续未测试是否能运行 xff09 1 首先下载qt http
  • 内置googletts并且内置中文语音包

    先上补丁 diff git a frameworks base core java android speech tts TextToSpeech java b frameworks base core java android speec
  • rk3128 7.1修复插入键盘后软键盘仍然弹出的bug

    有客户反馈说 xff0c 3128插入物理键盘后 xff0c 输入时软键盘仍然弹出来 测试测了一下果然是这样 xff0c 一开始还以为前任码农改出来的问题 xff0c 试了一下最新sdk xff0c 仍然如此 卧槽 然后上网搜 xff0c
  • RK3128 7.1新SDK开otg

    dts xff1a usb0 usb 64 10180000 0 Normal 1 Force Host 2 Force Device rockchip usb mode 61 lt 2 gt 这个是重点 device mk PRODUCT
  • 给logcat添加额外的输出

    打logcat的时候 xff0c 通常是需要排bug的时候 我们希望知道这是什么固件 xff0c 系统已运行多久当前的内存情况等信息 可以这么改 system core logcat logcat cpp void dumpSysInfo
  • Chromium源码获取与编译--附加一个简单例子的编译

    从工作到现在 xff0c 一直弄界面相关的东西 xff0c 弄了好多年 xff0c 包括前公司也买了一套UI xff0c 但是用下来以后发现不是这个问题就是那个问题 现在新的公司还在用MFC MFC其实没什么不好 xff0c 就是不能改源码
  • windows下使用cmake编译zlib与libpng 留此备份

    首先准备工具 cmake http www cmake org cmake resources software html zlib http www zlib net libpng http www libpng org pub png
  • opengl下png图片的加载与显示

    首先说明 部分代码来自http www cnblogs com IamEasy Man archive 2009 12 14 1624023 html 至于里面的源地址什么的我不管 然后吐槽 xff0c 国内的资料各种坑爹 xff0c 竟没
  • opengl透明mask图片做蒙版效果的实现

    hello xff0c 朋友们 xff0c 我又来了 xff0c 还记得上篇文章提到的事情否 xff1f 没错 xff0c 加载png只是第一步 xff0c 接下来要实现用mask图扣掉png中不需要的部分 xff08 也就是cocos2d
  • Unity3d 5.3.5使用sqlite3

    国内讲的乱七八糟 xff0c 更有故作神秘提供Mono Data Sqlite dll System Data dll的 xff0c 就是不告诉你这两文件在哪里 我很无语 看国外的 xff0c 多靠谱 http answers unity3