我正在尝试使用C#访问我的数据库。数据库是SQLite,我试图像这样访问它:
string CurrentDatabase = Path.FullName + "\\stock.sqlite";
SQLiteBase db = new SQLiteBase(CurrentDatabase);
我使用的是我在这里找到的SQLite DLL来访问数据库:
http://www.codeproject.com/KB/database/cs_sqlitewrapper.aspx
但是我收到了这个错误:
无法加载DLL的'sqlite3': 找不到指定的模块。 (HRESULT异常:0x8007007E)
我想我知道什么是错的,我的系统上的任何地方都没有sqlite3
DLL ...但我希望这个应用程序是可移植的,所以我不能指望用户已经安装了这个DLL。我已经阅读过从另一个已经在某处获得此DLL的应用程序加载DLL,Firefox就是一个很好的例子。它安装在我所有的公司机器上,如果我可以将一些sqlite3
DLL从Firefox Program Files目录加载到我的应用程序中它应该可以正常工作,不是吗?如果这真的是解决方案,我需要帮助实际加载DLL,因为我不知道如何做到这一点。
感谢。
答案 0 :(得分:4)
将sqlite3.dll复制到您的DLL包装器所在的同一目录中,并在完成后将其作为应用程序可分发的一部分提供,这样就不会出现与dll版本不匹配相关的废话..你可以下载来自http://sqlite.org
的最新版本答案 1 :(得分:1)
我建议使用System.Data.SQLite,它是SQLite的ADO.NET提供程序。然后,您可以使用ADO.NET API进行编程。它的DLL包含sqlite3.dll,因此您不必包含它。