2017-01-22 28 views
0

我有一個訪問數據庫實例的WPF應用程序。我在我的個人計算機上開發,應用程序將在另一臺機器和數據庫實例上運行。有沒有一種方法或最佳做法來存儲WPF應用程序之外的實例名稱,我可以在應用程序啓動時讀取它?目前我有評論,並且在我從一臺機器移動到另一臺機器時取消註釋數據庫實例名稱。我希望在本地機器上存儲一些我可以在應用程序啓動時讀取的內容。WPF,什麼是存儲啓動時要使用的常量的最佳方式?

這是我目前做的:

try 
     { 
      if (sqlConn != null) 
      { 
       sqlConn.Close(); 
      } 

      strConnection = "Data Source=" + strDBInstance + "; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True"; 
      //strConnection = "Data Source=CASS-LAPTOP\\SQLEXPRESS; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True"; 
      //strConnection = "Data Source=KENTS-WORK-PC\\CASS_SQLEXPRESS; Initial Catalog=NBFoodPantry;Integrated Security=true; MultipleActiveResultSets = True"; 

      sqlConn = new SqlConnection(@strConnection); 
      try 
      { 
       sqlConn.Open(); 
      } 
      catch (Exception ex) 
      { 
       string strMsg; 

       WriteErrorLog(strErrorLogFile, "ConnectToDatabase", ex.Message, false); 
       strMsg = "ConnectToDatabase: SQL Open failed. Please make sure that you database "; 
       strMsg += "instance and name are correct. Also make sure that the SQL engine is running."; 
       System.Windows.MessageBox.Show(strMsg); 
      } 
     } 
     catch (Exception ex) 
     { 
      string strMsg; 

      WriteErrorLog(strErrorLogFile, "ConnectToDatabase", ex.Message, false); 
      strMsg = " ConnectToDatabase: failed with error, " + ex.Message + "."; 
      System.Windows.MessageBox.Show(strMsg); 
     } 
+0

您可以在應用程序中創建靜態只讀字段。但隨後會出現問題,您將如何從一臺機器傳輸到另一臺機器。 **編輯:**如果您只需要使用該常量來加載數據庫的連接名稱,則可以將其存儲在web.config中,或者從任何API中加載它。但這不是最好的方法。 –

+0

您應該發佈您的努力的snipp代碼 –

+1

請參閱MSDN上的[使用應用程序設置和用戶設置](https://msdn.microsoft.com/en-us/library/bb397750(v = vs.110).aspx) 。您的數據庫連接字符串應該是應用程序設置(在App.config中,而不是Web.config中)。 – Clemens

回答

0

這就是應用程序設置旨在處理。在項目的屬性節點下,打開設置。這已經內置支持連接字符串:

Settings Dialog

然後,你可以通過它的名字在你的代碼中訪問的設置:

Properties.Settings.Default.ConnectionString 

所有這一切都被存儲在你的App.config,這您可以在各種機器上修改爲具有不同的值。

+0

#Clemens和#John Koemer - 這正是我需要的。謝謝。 – Cass

+0

@Cass您可能還想使用此工具查看調試/發佈或其他轉換https://marketplace.visualstudio.com/items?itemName=WillBuikMSFT.SlowCheetah-XMLTransforms – kenny

相關問題