我正在尝试使用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中打开数据库,所以我相信它是一个正确的数据库。
答案 0 :(得分:0)
事实证明,我使用SQLite Administrator创建的数据库在某种程度上是错误的。正如我在我的问题中提到的,数据库可以在SQLite Administrator中打开,但不能在SQLite数据库浏览器中打开(v 2.0 b1)。我使用相同的sql语句在SQLite数据库浏览器中创建数据库,我的代码可以读/写数据库。