2013-03-26 157 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中的啓動標記中。