我正在尝试从本地sqlite数据库中的表Condition
中读取所有数据。但是我收到了这个错误:
SQL逻辑错误或缺少数据库没有这样的表
数据库与调用它的文件位于同一目录中。
这是我的代码:
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=myDatabase.sqlite;Version=3;");
m_dbConnection.Open();
try
{
string sql = "select * from Condition";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["id"]);
Console.ReadLine();
return null;
}
catch (Exception exc)
{
return null;
}
finally
{
m_dbConnection.Close();
}
答案 0 :(得分:8)
我通过使用绝对路径而不是相对路径来解决问题。 感谢Eternal21 https://stackoverflow.com/a/20083762/3483812
答案 1 :(得分:4)
数据库应位于bin
文件夹中,或者指定.sqlite文件的绝对路径。
答案 2 :(得分:0)
我在 Linux 系统上收到了相同的错误消息。创建数据库时,程序以 root 身份运行:发生错误时,程序以我的身份运行。基本上,我没有对该文件的写权限。