C#SQLite在我尝试发布时不起作用

I am trying to build a small application that will have an embedded database.For that I used SQLite. The program works fine when I debugg-it in Visual C# 2010 express but when i publish it and try to run it it gives me the following error: Unhandled exception has occured in your application..... strong SQLite Error no such table:

我真的不明白,因为它没有发布时工作正常.... 任何帮助是极大的赞赏 谢谢

0
额外 编辑
意见: 1
您的应用程序是否即时创建数据库文件,还是使用现有的文件?
额外 作者 Idan Arye,
我正在使用System.Data.SQLite.dll
额外 作者 Tzutzu Suntzutzu,
它使用现有的。为了方便起见,我在Debug文件夹中移动了文件...我使用命令行创建了我的数据库。创建的文件没有任何扩展名,所以我向其中添加了.db。它在编辑器中给出了同样的错误,直到我在论坛上阅读,我需要添加一个app.config文件,并在此之后。 app.config文件如下:
额外 作者 Tzutzu Suntzutzu,
你使用什么SQLite库?
额外 作者 flo,

1 答案

SQLite当说在开发机器上工作正常的程序中没有这样的表时,然后确保它正在连接到正确的数据库。

在SQLite中,如果它无法在代码提及的地方找到数据库,它将在那里创建一个数据库。它的大小将是0 KB。它甚至会打开该数据库。从数据中提取数据时出现问题。

然后它给出这个错误。使用一些消息框/调试器来检查你的代码有什么问题。

0
额外
得到它了!我是因为我使用了一个相对路径而不是绝对的......它现在在我的电脑上工作,但我想知道它是否会工作,当我尝试在其他电脑上安装它...我将不得不手动创建一个新文件夹(和我的电脑一样)...不应该自动完成...?非常感谢您的回复!
额外 作者 Tzutzu Suntzutzu,
@TzutzuSuntzutzu:在代码中不要硬编码任何路径。使用 Directory.GetCurrentDirectory()方法来获取应用程序所在的文件夹。此外使用 Path.Combine 来合并路径。
额外 作者 Nikhil Agrawal,
是的,检查数据库文件是否存在,连接字符串是否正确。也许你没有在你的安装包中包含数据库文件?或者,也许你想在打开数据库之前检查文件是否存在并在创建新数据库文件时创建表?
额外 作者 toby,