Привет! Я использую SQLite в качестве базы данных в своем проекте Unity. По какой-то причине файл базы данных был поврежден, но, к счастью, у меня была резервная копия, поэтому я ничего не потерял. Я думаю, что причиной коррупции было использование единого коллаба для обмена файлами базы данных. У меня вопрос, что я могу сделать, чтобы не повредить файл снова? Также может ли он испортиться после выпуска игры в локальных файлах игрока?
А вот статические методы, которые я использую для выполнения команд, возможно, с этим что-то не так.
public static void Execute(string command, ref DataTable datatable)
{
string dbPath = ("Data Source=" + Application.dataPath + "/database.s3db");
using (SqliteConnection cnt = new SqliteConnection(dbPath))
{
using (SqliteCommand cmd = new SqliteCommand(command, cnt))
{
using (SqliteDataAdapter adapter = new SqliteDataAdapter(cmd))
{
adapter.Fill(datatable);
}
}
}
}
public static void Execute(string command)
{
string dbPath = ("Data Source=" + Application.dataPath + "/database.s3db");
using (SqliteConnection cnt = new SqliteConnection(dbPath))
{
using (SqliteCommand cmd = new SqliteCommand(command, cnt))
{
cnt.Open();
cmd.ExecuteNonQuery();
cnt.Close();
}
}
}