我是Unity和SQLite的新手。 我正在做一个Android应用,应该可以离线使用。这是我第一次使用Unity和SQLite。
我只是尝试连接到我的SQLite数据库文件TrilhoVerde.db
。我使用SQLiteAdministrator创建了它。我创建了一个数据库,但为空。我将在C#文件中创建必要的表(由于外键)。这是我的代码:
private IDbConnection connection;
private IDbCommand command;
private IDataReader reader;
// Start is called before the first frame update
void Start()
{
Connection();
}
private void Connection()
{
string dbFile = "URI=File:"+ Application.dataPath +"/Plugins/TrilhoVerde.db:";
connection = (IDbConnection) new SqliteConnection(dbFile);
connection.Open();
command = connection.CreateCommand();
string createTable = "select * from Avatar;";
command.CommandText = createTable;
reader = command.ExecuteReader();
}
但是当我在Unity中运行它时,出现了此错误:
SqliteSyntaxException:无法打开数据库文件 Mono.Data.SqliteClient.SqliteCommand.GetNextStatement(System.IntPtr pzStart,System.IntPtr&pzTail,System.IntPtr&pStmt)(位于<9f65d62b5efa4334801a8fece4acee8a>:0) Mono.Data.SqliteClient.SqliteCommand.ExecuteReader(System.Data.CommandBehavior行为,System.Boolean want_results,System.Int32&rows_affected)(位于<9f65d62b5efa4334801a8fece4acee8a>:0) Mono.Data.SqliteClient.SqliteCommand.ExecuteNonQuery()(位于<9f65d62b5efa4334801a8fece4acee8a>:0) carrega.Connection()(位于Assets / scipts / carrega.cs:30) carrega.Start()(位于Assets / scipts / carrega.cs:17)
我正在使用这些视频中的教程:
https://www.youtube.com/watch?v=QtDtBvAyzOQ
https://www.youtube.com/watch?v=CtDSQkLdlZg
我认为我已完成所有步骤。我知道有很多与此问题有关的问题,但到目前为止,如果它们解决了我的问题,则没有任何问题。如果缺少某些东西来了解我的所作所为和错误之处,请告诉我。
有人知道我在做什么错吗? 很抱歉,这真的很简单,但是,就像我说的那样,我是Unity和SQLite的新手。
更新
我使用另一个程序创建了一个新的数据库文件,并注释了代码的命令部分。现在它没有引发任何错误。撤消该评论,再次出错。
问题出在以下特定行:
reader = command.ExecuteReader();
我还将表添加到数据库文件中,而不是C#中。 Stil不知道问题出在哪里。
答案 0 :(得分:0)
我真的很抱歉失去那些在此上浪费时间的人,我也感到很尴尬。数据库文件名称错误。我应该去TrilhoVerde.db,但是在脚本中有TrilhoVerde.bd:。