知识准备
- sqlite命令教程
- SqliteConnection 连接数据库
- SqliteCommand 执行sql命令
示例
using UnityEngine;
using Mono.Data.Sqlite;
using System.IO;
public class SqliteHelper : MonoBehaviour
{
string databaseFilePath = Application.streamingAssetsPath + "/database/Test.db";
SqliteConnection connection;
private void Awake()
{
if (!File.Exists(databaseFilePath))
{
if (!Directory.Exists(databaseFilePath))
Directory.CreateDirectory(databaseFilePath + "/..");
SqliteConnection.CreateFile(databaseFilePath);
}
connection = new SqliteConnection("Data Source=" + databaseFilePath);
connection.Open();
}
private void OnGUI()
{
if (connection.State != System.Data.ConnectionState.Open)
{
return;
}
if (GUILayout.Button("添加表"))
{
SqliteCommand command = new SqliteCommand("create table student(Id Int Primary key Not Null,Name Text Not Null);", connection);
command.ExecuteNonQuery();
}
if (GUILayout.Button("删除表"))
{
SqliteCommand command = new SqliteCommand("drop table student", connection);
command.ExecuteNonQuery();
}
if (GUILayout.Button("添加数据"))
{
SqliteCommand command = new SqliteCommand("insert into student(Id,Name) values(0,'小明');", connection);
command.ExecuteNonQuery();
}
if (GUILayout.Button("删除数据"))
{
SqliteCommand command = new SqliteCommand("DELETE FROM student WHERE Id=0", connection);
command.ExecuteNonQuery();
}
if (GUILayout.Button("修改数据"))
{
SqliteCommand command = new SqliteCommand("UPDATE student SET Name='小红' WHERE Id=0", connection);
command.ExecuteNonQuery();
}
if (GUILayout.Button("查询数据"))
{
SqliteCommand command = new SqliteCommand("select Id,Name from student where Id=0", connection);
var reader = command.ExecuteReader();
while (reader.Read())
Debug.Log((reader[0], reader[1]));
reader.Close();
}
}
private void OnDestroy()
{
if (connection != null)
{
connection.Close();
}
}
}