2013-03-26 88 views
-1

大家好希望有人能帮助我。C#SQLite数据库连接WPF崩溃

我写了一个小型WPF应用程序,它读取SQL数据库的密码并在屏幕上为用户显示它。它在SQL数据库上工作正常,但我们已经更改为使用SQLite,并且在我的机器上(我已经在其上编写该程序)上正常工作,但是当我将.exe文件提供给用户时,程序会崩溃,因为只要他们点击一个按钮到OpenFileDiaglog()(这样用户可以选择数据库来检索密码)

经过一些试验和错误(评论部分代码)后,它似乎会崩溃击中这条线。

SQLiteConnection Dbcon = new SQLiteConnection("Data Source= " + Myfile); 

但在机器我试图上的错误运行该程序在事件查看器是

说明:该工艺由于终止未处理的异常 异常信息:System.IO .FileNotFoundException

我试图在几个不同的机器上使用.exe文件(vista,xp,win 7),所有这些机器上都安装了.net framework 4.0。

就像我说的只是当它移动时,我的机器上的所有作品都会出现错误。

任何帮助将大大appricated

+0

SQLite是如何安装的?你在使用System.Data.Sqlite吗?您是否在用户计算机上运行安装exe文件? – Kek 2013-03-26 10:10:10

+0

'Myfile'的价值是什么? – 2013-03-26 11:18:39

+0

Myfile是用户将选择的局部变量。 – CM99 2013-04-17 11:49:30

回答

0

因为宇必须调整你的用户计算机上的数据库的路径,你有你的数据源,当你部署

Data Source= Path of your databse 

虚假的路径,我建议你这个代码

"Data Source=" + System.IO.Path.Combine(System.IO.Path. GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), YourFile) 
+0

我不会为我工作。经过很多seraching后,我添加到连接字符串(@“Data Source = c:\ Myfile.db; Version = 3; New = True;”+ Myfile); – CM99 2013-04-17 11:50:23

+0

但现在抛出一个新的错误部分“”的无效连接字符串格式,没有等号发现错误是在Dbcon.Open(); – CM99 2013-04-17 11:51:31

0

同样的问题,但这并没有解决它对我来说。对我来说问题是我的主要应用程序是在.net 4中,并且sql lite dll是.net 2,因此将useLegacyV2RuntimeActivationPolicy="true"作为属性添加到app.config中的启动标记中。