SQL逻辑错误或缺少数据库没有这样的表

时间:2015-03-25 08:07:13

标签: c# sqlite

我正在尝试从本地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();
}

3 个答案:

答案 0 :(得分:8)

我通过使用绝对路径而不是相对路径来解决问题。 感谢Eternal21 https://stackoverflow.com/a/20083762/3483812

答案 1 :(得分:4)

数据库应位于bin文件夹中,或者指定.sqlite文件的绝对路径。

答案 2 :(得分:0)

我在 Linux 系统上收到了相同的错误消息。创建数据库时,程序以 root 身份运行:发生错误时,程序以我的身份运行。基本上,我没有对该文件的写权限。