「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
