「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