如何在统一3d 5中连接sqlite DB?(没有插件)

Far*_*DIN 1 c# sqlite android unity-game-engine

您好我正在使用unity3d 5(语言c#)中的一个Android游戏项目,需要将一些数据保存到sqlite数据库.游戏没有很多数据存储它只有1个表.有一些连接到sqlite但我不想使用它们的统一插件.那么如何将我的数据存储在sqlite文件中?

Hos*_*hno 7

你可以在这里找到答案

  1. 在资产文件夹下创建新文件夹重命名它插件.
  2. sqlite3.defsqlite3.dll复制到Unity项目的Assets/Plugins中.您可以在这里下载这些文件 http://www.sqlite.org/download.html for windows(Windows的预编译二进制文件)
  3. 下载SQLite浏览器http://sourceforge.net/projects/sqlitebrowser/http://sqliteadmin.orbmu2k.de/下载SQLite管理员工具
  4. 使用SQLite Browser在Unity项目的Assets文件夹中创建数据库.
  5. 从**C:\ Program Files(x86)\ Unity\Editor\Data\Mono\lib\mono\2.0*复制System.Data.dllMono.Data.Sqlite.dll并将它们粘贴到Assets/Plugins*文件夹中在你的团结项目中.
  6. 使用Mono.Data.Sqlite添加这些命名空间; 使用System.Data; 使用系统;
  7. string conn ="URI = file:"+ Application.dataPath +"/ PickAndPlaceDatabase.s3db";

将PickAndPlaceDatabase.s3db替换为您的数据库名称

void Start () {
    string conn = "URI=file:" + Application.dataPath + "/PickAndPlaceDatabase.s3db"; //Path to database.
    IDbConnection dbconn;
    dbconn = (IDbConnection) new SqliteConnection(conn);
    dbconn.Open(); //Open connection to the database.
    IDbCommand dbcmd = dbconn.CreateCommand();
    string sqlQuery = "SELECT value,name, randomSequence " + "FROM PlaceSequence";
    dbcmd.CommandText = sqlQuery;
    IDataReader 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;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

进一步的SQLite帮助请访问:http://www.tutorialspoint.com/sqlite/