SQLite异常:文件已加密或不是数据库

时间:2013-11-11 19:16:45

标签: c# wpf database sqlite

我正在尝试使用SQLite作为我的WPF应用程序的数据库。我查看了一些可用的文章,特别是this one。乍一看似乎很容易。

我使用SQLite Administrator(v 0.8.3.1)创建了一个数据库。然后我使用以下代码进行测试:

SQLiteConnection conn = new SQLiteConnection("Data Source=Database/MyTestDB.s3db");
conn.Open();

SQLiteCommand cmd = new SQLiteCommand(conn);
cmd.CommandText = "Delete from TestTable";
cmd.ExecuteNonQuery();
conn.Close();

MyTestDB位于名为Database的子文件夹中。并且TestTable中没有任何内容。

我在第cmd.ExecuteNonQuery()行中不断获取“文件已加密或不是数据库”;

我尝试过ExecuteScalar,但它没有用。我也尝试使用Insert命令向表中添加记录,它也不起作用。错误消息是相同的。我没有加密数据库,我不需要。可以在SQLite Administrator中打开数据库,所以我相信它是一个正确的数据库。

1 个答案:

答案 0 :(得分:0)

事实证明,我使用SQLite Administrator创建的数据库在某种程度上是错误的。正如我在我的问题中提到的,数据库可以在SQLite Administrator中打开,但不能在SQLite数据库浏览器中打开(v 2.0 b1)。我使用相同的sql语句在SQLite数据库浏览器中创建数据库,我的代码可以读/写数据库。