Unity 资料库开发

进入资料库开发阶段,对于unity该使用何种资料库,优劣点为何,
研究了一下,一点心得记录如下
sqlserver VS sqllite VS arcclet

sqlserver
是我取熟悉的资料库,但将来发布在手机上,连线伺服器,资料库的安全性待考量
sqllite
unity 很多搭配用的资料库,优点免钱,好用,但不算伺服器,是跟随单机的
arcclet
看起不错用,待还没研究

先测试了sqllite
参考教学 http://blog.csdn.net/sinat_20559947/article/details/49331731
但试了很长一时间,一直卡在 DB open ,无法读取,或是 reader 时出问题~~
后来发现原来和引用的DLL版本大有关係
基本要有的DLL
专案里要有资料匣 >Plugins
里面要有三个DLL
Mono.Data.Sqlite.dll
sqlite3.dll
System.Data.dll
我的unity 版本是 5.5.1
三个DLL 版本

Mono.Data.Sqlite.dll 1.0.61.0
sqlite3.dll
System.Data.dll 2.0.50727

连资料库
string appDBPath = Application.dataPath + "/123.db";
DbAccess db = new DbAccess(@"Data Source=" + appDBPath);

建table
db.CreateTable("momo",new string[]{"name","qq","email","blog"}, new string[]{"text","text","text","text"});

insert DATA
db.InsertInto("kkk", new string[]{ "'obbbb'" });
读取资料
SqliteDataReader dr;
string sss;
dr= db.ExecuteQuery ("select aa from kkk");
while (dr.Read()) //read every data
{
//ttt =GameObject.Find("ttt").GetComponent();

        sss = dr["aa"].ToString();        ttt =GameObject.Find("ttt").GetComponent<Text>();         ttt.text = sss;         }    dr.Close ();

如果有用到 system.data
要特别注意到引用DLL 版本的问题~
可以参考文章~
http://lolikitty.pixnet.net/blog/post/24327577-%E4%BD%BF%E7%94%A8unity3d%E5%85%A7%E7%BD%AE%E7%9A%84mono%E6%A1%86%E6%9E%B6%E6%87%89%E6%B3%A8%E6%84%8F%E7%9A%84%E5%95%8F%E9%A1%8C%EF%BC%88%E9%99%84%E6%9C%89
以我的环境为例~
要用 C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0 \system.data.dll
如果用到 C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\system.data.dll 的DLL,,发布到android 后会无法执行

以上


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章