Добрый день У меня возникла проблема с доступом к моей базе данных на мобильном устройстве Android. Кажется, что он не читает мою базу данных, или я не знаю, что моя база данных не включена в сборку. Но вот улов, моя база данных отлично работает в редакторе единства. Я не могу найти проблему на своем мобильном устройстве, потому что у меня нет доступа на консоль. Кстати вот мой код:База данных не загружена на устройство, но работает на Unity Editor
Чтение базы данных:
void readDatabase(){
string conn = "URI=file:" + Application.dataPath + "/Database/AtlasDB.sqlite";
string sqlQuery = "SELECT * FROM UserScore";
using (SqliteConnection c = new SqliteConnection(conn))
{
c.Open();
using (SqliteCommand cmd = new SqliteCommand(sqlQuery, c))
{
using (SqliteDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
currHighScore = rdr.GetInt32(0);
// string name = reader.GetString(1);
currHighDist = rdr.GetInt32(1);
Debug.Log("High Score : " + currHighScore + ", High Distance: " + currHighDist);
}
}
}
}
}
базы данных Обновление:
void highscoreChecker(){
string conn2 = "URI=file:" + Application.dataPath + "/Database/AtlasDB";
string sqlQuery2 = "UPDATE UserScore SET Highscore = '" + MoveSanji.scoreAccumulate + "'";
using (SqliteConnection c = new SqliteConnection(conn2))
{
c.Open();
using (SqliteCommand cmd = new SqliteCommand(sqlQuery2, c))
{
if (MoveSanji.scoreAccumulate > currHighScore) {
cmd.ExecuteReader();
}
}
}
string sqlQuery3 = "UPDATE UserScore SET HighDistance = '" + Mathf.RoundToInt(MoveSanji.distanceRun)+ "'";
using (SqliteConnection c = new SqliteConnection(conn2))
{
c.Open();
using (SqliteCommand cmd = new SqliteCommand(sqlQuery3, c))
{
if (Mathf.RoundToInt(MoveSanji.distanceRun) > currHighDist) {
cmd.ExecuteReader();
}
}
}
}
Im использованием SQLite
Примечание: Я сделал свою базу данных с помощью SQLite Database Browser 2.0 b1 - База данных находится в моей папке базы данных в папке с активами - У меня есть Mono.Data, Mono.Data.Sqlite, sqlite3.dll, sqlite3.def, Syste m.Data.dll в моей папке с плагинами
она до сих пор не работает для меня Я использовал эту ссылку в качестве справки: http://docs.unity3d.com/Manual/StreamingAssets.html и изменил мою строку подключения к этому: «банка: файл: // "+ Application.dataPath +"! /assets/AtlasDB.sqlite "; – VonnCC