facebook twitter hatena line email

「Unity/sqlite」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(DBようディレクトリをプロジェクト内に設置)
(DBようディレクトリをプロジェクト内に設置)
行18: 行18:
  
 
この名前にしておくとエンコードなどされなくなる。
 
この名前にしておくとエンコードなどされなくなる。
 +
 +
==dbファイル作成==
 +
cd SqlProject/Assets/StreamingAssets
 +
sqlite3 config.db
 +
create table users(id integer, name text, age integer);
 +
.exit
 +
 +
==dbへアクセス==
 +
User.cs
 +
<pre>
 +
using UnityEngine;
 +
using System.Collections;
 +
public class User {
 +
    // Use this for initialization
 +
    public void Insert() {
 +
        // Insert
 +
        SqliteDatabase sqlDB = new SqliteDatabase("config.db");
 +
        string query = "insert into users values(1, 'taro', 25)";
 +
        sqlDB.ExecuteNonQuery(query);
 +
    }
 +
    public void FindAll() {
 +
        SqliteDatabase sqlDB = new SqliteDatabase("sample.db");
 +
        // Select
 +
        string selectQuery = "select * from users";
 +
        DataTable dataTable = sqlDB.ExecuteQuery(selectQuery);
 +
        foreach(DataRow dr in dataTable.Rows){
 +
            Debug.Log("id:" + dr["id"].ToString());
 +
            Debug.Log("name:" + (string)dr["name"]);
 +
            Debug.Log("age:" + dr["age"].ToString());
 +
        }
 +
    }
 +
}
 +
</pre>
 +
 +
Main.cs
 +
<pre>
 +
User user = new User();
 +
user.Insert();
 +
user.FindAll();
 +
</pre>
 +
 +
==参考==
 +
UnityでSQLiteを扱う方法
 +
https://qiita.com/hiroyuki7/items/5335e391c9ed397aee50
  
 
==参考==
 
==参考==
 
https://qiita.com/hiroyuki7/items/5335e391c9ed397aee50
 
https://qiita.com/hiroyuki7/items/5335e391c9ed397aee50

2019年2月27日 (水) 22:50時点における版

sqlliteライブラリ本体DL

git clone https://github.com/Busta117/SQLiteUnityKit.git

プロジェクト内にsqlliteライブラリ設置

Sqliteを入れたいUnityプロジェクトのAssetsの下で実行

SqlProjectをプロジェクトの例として行く。

mkdir -p SqlProject/Assets/Plugin/Android/
mkdir -p SqlProject/Assets/Script/
mv SQLiteUnityKit/libsqlite3.so SqlProject/Assets/Plugin/Android/
mv SQLiteUnityKit/SqliteDatabase.cs SqlProject/Assets/Script/
mv SQLiteUnityKit/README.md SqlProject/Assets/SqlREADME.md
mv SQLiteUnityKit/DataTable.cs SqlProject/Assets/Script/

DBようディレクトリをプロジェクト内に設置

mkdir SqlProject/Assets/StreamingAssets

この名前にしておくとエンコードなどされなくなる。

dbファイル作成

cd SqlProject/Assets/StreamingAssets
sqlite3 config.db
create table users(id integer, name text, age integer);
.exit

dbへアクセス

User.cs

using UnityEngine;
using System.Collections;
public class User {
    // Use this for initialization
    public void Insert() {
        // Insert
        SqliteDatabase sqlDB = new SqliteDatabase("config.db");
        string query = "insert into users values(1, 'taro', 25)";
        sqlDB.ExecuteNonQuery(query);
    }
    public void FindAll() {
        SqliteDatabase sqlDB = new SqliteDatabase("sample.db");
        // Select
        string selectQuery = "select * from users";
        DataTable dataTable = sqlDB.ExecuteQuery(selectQuery);
        foreach(DataRow dr in dataTable.Rows){
            Debug.Log("id:" + dr["id"].ToString());
            Debug.Log("name:" + (string)dr["name"]);
            Debug.Log("age:" + dr["age"].ToString());
        }
    }
}

Main.cs

User user = new User();
user.Insert();
user.FindAll();

参考

UnityでSQLiteを扱う方法 https://qiita.com/hiroyuki7/items/5335e391c9ed397aee50

参考

https://qiita.com/hiroyuki7/items/5335e391c9ed397aee50