2013-07-06 29 views
1

我的Visual Basic項目適當的方式使用該connecton字符串:什麼是定義的連接字符串VB

Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Admin\Desktop\IzolacCold V2\IzolacCold V2\izolac_cold_dbv2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True 

當我調試它,並進入調試文件夾,或當我「釋放」這則發生問題。如果我運行的exe文件程序正常工作,但它將數據保存在連接字符串中定義的數據庫中,而不是在DEBUG文件夾(或RELESE文件夾)中創建的數據庫中。

如何正確連接到我的數據筆。如何建立適當的連接字符串?

回答

2

您應該使用DataDirectory替代字符串。

例如,你可以寫你的ConnectionString作爲

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\izolac_cold_dbv2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True 

在你的代碼,那麼你可以控制DataDirectory目錄的執行這段代碼的確切位置之前,任何試圖打開一個連接。

Dim commonDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) 
Dim myAppDataFolder = Path.Combine(commonDataFolder, "MyAppName") 
if Not Directory.Exists(myAppDataFolder) Directory.CreateDirectory(myAppDataFolder) 
AppDomain.CurrentDomain.SetData("DataDirectory", myAppDataFolder) 

(本例使用C:\ programdata \ myAppName文件夾,因爲它是由您的應用程序需要讀取/寫入數據文件最合適的位置

你的部署過程應該照顧到創建上述文件夾並將數據庫文件放置在這個位置

+0

謝謝,我會盡力確認的。:) – Sysrq147

+0

我相信你只是阻止了精神制服:)謝謝! – Sysrq147

相關問題