string filepath = string.Format("{0}/{1}", Application.persistentDataPath, DATABASE_NAME);
StringBuilder sb = new StringBuilder();
string conn;
string sqlQuery;
IDbConnection dbconn;
IDbCommand dbcmd;
IDataReader dbreader;
conn = "URI=file:" + filepath;
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open();
dbcmd = dbconn.CreateCommand();
dbcmd.CommandText = "DROP TABLE IF EXISTS TEST;";
dbcmd.ExecuteNonQuery();
dbcmd.CommandText = "CREATE TABLE TEST(TestKey TEXT PRIMARY KEY, TestNum INTEGER, TestAge INTEGER);";
dbcmd.ExecuteNonQuery();
dbcmd.CommandText = "BEGIN;";
dbcmd.ExecuteNonQuery();
dbcmd.CommandText = "INSERT INTO TEST(TestKey, TestNum, TestAge) VALUES('TEST', 1, 2);";
dbcmd.ExecuteNonQuery();
dbcmd.CommandText = "INSERT INTO TEST(TestKey, TestNum, TestAge) VALUES('TEST2', 5, 6);";
dbcmd.ExecuteNonQuery();
dbcmd.CommandText = "COMMIT;";
dbcmd.ExecuteNonQuery();
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
}
테이블을 생성과 해당 데이터를 INSERT 하는 형태의 코드
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open();
dbcmd = dbconn.CreateCommand();
dbcmd.CommandText = "SELECT * from TEST;";
dbreader = dbcmd.ExecuteReader();
while (dbreader.Read())
{
sb.Append($"id = {dbreader.GetString(0)}");
sb.Append($", name = {dbreader.GetInt32(1)}");
sb.Append($", age = {dbreader.GetInt32(2)}");
Debug.Log($"[TEST] {sb}");
sb.Clear();
}
dbreader.Close();
dbreader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
}
생성된 테이블의 해당 데이터를 SELECT 하여 해당 데이터의 디버그 로그로 확인하는 형태
'Unity & C#' 카테고리의 다른 글
[모바일] 파일 읽기 쓰기 (0) | 2023.03.24 |
---|