Procedure

Unityでデータベース操作

Procedure
この記事は約4分で読めます。
スポンサーリンク

友人がUnityでデータベースを操作したいということで、操作できるまでに時間が掛かったので足跡として残しておきます。

基本、qiitaに記載している方法ですが、このやり方だとwindowsでデータベース操作することができません。

少し手を加えることでできるようになりました。

  1. データベースを作成するために、SQLiteのツールをダウンロードします
    ここ展開し、展開したディレクトリでcmdを開きます
    以下のコマンドを打つ(データベースを作成しています)

    C:\sqlite-tools-win32-x86-3150200> sqlite3 config.db
    sqlite> create table user(id integer, name text, old integer, address text);
    sqlite> .exit
    
  2. SQLiteUnityKitをクローンまたはダウンロードします
    ここ
  3. SQLiteのバイナリをダウンロードします
    windows32bitの場合:http://sqlite.org/2016/sqlite-dll-win32-x86-3150200.zip
    windows64bitの場合:http://sqlite.org/2016/sqlite-dll-win64-x64-3150200.zip
  4. Unityを開きます
  5. Assetsに各種ダウンロードしたファイル以下のように入れます
    Assets\Plugin\Android\libsqlite3.so
    (32bitの場合)Assets\Plugin\x86\sqlite3.dll
    (64bitの場合)Assets\Plugin\x64\sqlite3.dll
    Assets\Script\DataTable.cs
    Assets\Script\SqliteDatabase.cs
  6. データベースを操作するためのスクリプトファイルを作成します
    ここではDatabase.csとしています

    using UnityEngine;
    using System.Collections;
    
    public class Database : MonoBehaviour {
    
       // Use this for initialization
       void Start () {
      // Insert
      SqliteDatabase sqlDB = new SqliteDatabase("config.db");
      string query = "insert into user values(1, 'hoge', 20, 'america')";
      sqlDB.ExecuteNonQuery(query);
    
      // Select
      string selectQuery = "select * from user";
      DataTable dataTable = sqlDB.ExecuteQuery(selectQuery);
    
      string name = "";
      foreach(DataRow dr in dataTable.Rows){
          name = (string)dr["name"];
          Debug.Log ("name:" + name);
          }
        }
        // Update is called once per frame
        void Update () {
        }
    }
    
  7. GameObjectを作成し、作成したスクリプトをAddComponentします

 

Gitにソースコード上げました

GitHub - Momijinn/SampleSQLiteUnityKit: Unityでデータベースをするサンプルプログラム
Unityでデータベースをするサンプルプログラム. Contribute to Momijinn/SampleSQLiteUnityKit development by creating an account on GitHub.

 

スポンサーリンク

参考文献

  1. http://ameblo.jp/mk-soundtrack/entry-12086698310.html
  2. http://qiita.com/hiroyuki7/items/5335e391c9ed397aee50
  3. http://qiita.com/hiroyuki7/items/5335e391c9ed397aee50

コメント

タイトルとURLをコピーしました