2012-06-08 62 views
0

我們將更改Settings.vb中的連接字符串,以便我們不必擔心其應用程序在其他計算機上運行時的情況比開發電腦。動態連接字符串的「數據源」參數需要計算機名稱

我們的代碼看起來是這樣的:

Partial Friend NotInheritable Class MySettings 

    Dim strComputerName As String 
    Dim strConnectionString As String 

    Private Sub MySettings_SettingsLoaded(ByVal sender As Object, ByVal e As System.Configuration.SettingsLoadedEventArgs) Handles Me.SettingsLoaded 

     ' strComputerName = 

     ' Build a new construction string. 
     '--------------------------------- 
     strConnectionString = "Data Source=" & strComputerName & "\sqlexpress" & _ 
           ";Integrated Security=True;User Instance=True" 

     ' Change to the new connection string. 
     '------------------------------------- 
     Me.Item("Kemal_Business_SolutionConnectionString") = (strConnectionString) 
    End Sub 
End Class 

你能告訴我如何獲得計算機名,因爲我們需要這些信息放到連接字符串的「數據源=」的一部分?

更新:這是什麼最後的編碼看起來像。謝謝大家對您的回覆:

Partial Friend NotInheritable Class MySettings 

    Dim strComputerName As String 
    Dim strConnectionString As String 

    Private Sub MySettings_SettingsLoaded(ByVal sender As Object, ByVal e As System.Configuration.SettingsLoadedEventArgs) Handles Me.SettingsLoaded 

     strComputerName = Environment.MachineName 
     'strComputerName = My.Computer.Name 

     ' Build a new construction string. 
     '--------------------------------- 
     strConnectionString = "Data Source=" & strComputerName & "\sqlexpress;" & _ 
           "Initial Catalog=""Kemal Business Solution"";" & _ 
           "Integrated Security=True" 

     ' Change to the new connection string. 
     '------------------------------------- 
     Me.Item("Kemal_Business_SolutionConnectionString") = (strConnectionString) 
    End Sub 
End Class 
+0

你嘗試了'.'或'(本地)'?你也確定每臺電腦都有一個名爲'sqlexpress'的命名實例嗎? –

+0

是的,他們都是這樣。我們將在目標機器上安裝sqlexpress。 –

回答

2

或者更爲神祕。

strComputerName = Environment.MachineName 
+0

感謝大家的快速回復。 My.Computer.Name和Evironment.MachineName都工作。我們打算使用這個Environment.MachineName。哪一個是最喜歡的? –

+1

真的沒關係。我在VB中可用,並加入了一些您可能需要的幫助關於屏幕或OS兼容性檢查的相關內容。所以如果你需要更多的零件,你可能會發現我更加容易。 –

1

由於您使用的VB.net,你就可以訪問到My命名空間,這使得這個超級簡單。

strComputerName = My.Computer.Name 

工作完成。

1

您還可以嘗試以下任意一行代碼。這裏Data Source=.;從本地計算機指示數據庫

strConnectionString = "Data Source=.\sqlexpress;Integrated Security=True;User Instance=True" 

- 或 -

strConnectionString = "Data Source=.;Integrated Security=True;User Instance=True" 
相關問題