万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    UnityでSQLiteできる

    参考URL:
    http://answers.unity3d.com/questions/188334/unity-sql-database.html

    MacだとここにDLLあるね
    /Applications/Unity/Unity.app/Contents/Frameworks/Mono/lib/mono/2.0/

    ここから↓ををもってくる
    "Mono.Data.dll"、"Mono.Data.Sqlite.dll"、"Mono.Data.SqliteClient.dll"
    ※System.Data.dllも必要?

    Assetsフォルダに入れる(UnityのProjectのところのどこでも)。Pluginsフォルダ作って、その中にSqliteフォルダ作って、その中へ入れるのもいい。

    DLLについての参考公式:http://docs.unity3d.com/Documentation/Manual/UsingDLL.html

    ・使い方(sqlite編)

    sqlite3 SqliteTest.db 
    SQLite version 3.7.7 2011-06-25 16:35:41
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> create table employee(firstname varchar, lastname varchar);
    sqlite> insert into employee values("Taro", "Suzuki");
    sqlite> insert into employee values("Hanako", "Yamada");
    

    ※SqliteTest.dbはプロジェクトフォルダ(Assetsを親ディレクトリにして、その直下)に作った。

    ・使い方(UnityScript編)
    ※先ほどのSqliteTest.dbを入れた状態で行うこと!
    ※SqliteTest.dbは上書きされないよ

    import System.Data;
    import Mono.Data.SqliteClient;
    
    function Start()
    {
        var connectionString : String = "URI=file:SqliteTest.db";
        var dbcon : IDbConnection;
        dbcon = new SqliteConnection(connectionString) as IDbConnection;
        dbcon.Open();
        var dbcmd : IDbCommand = dbcon.CreateCommand();
        var sql : String  =
            "SELECT firstname, lastname " +
            "FROM employee";
        dbcmd.CommandText = sql;
        var reader : IDataReader = dbcmd.ExecuteReader();
        while(reader.Read()) {
            var FirstName : String = reader.GetString (0);
            var LastName : String = reader.GetString (1);
            Debug.Log("Name: " +
            FirstName + " " + LastName);
        }
        // clean up
        reader.Close();
        reader = null;
        dbcmd.Dispose();
        dbcmd = null;
        dbcon.Close();
        dbcon = null;
    }