2015-11-07 87 views
-4
Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click 
    Dim connetionString As String 
    Dim cnn As SqlConnection 
    connetionString = "Server=localhost;Initial Catalog=acernis;User ID=root;Password=password" 
    cnn = New SqlConnection(connetionString) 
    Try 
     cnn.Open() 
     MsgBox("Connection Open ! ") 
     cnn.Close() 
    Catch ex As Exception 
     MsgBox("Can not open connection ! ") 
    End Try 
End Sub 

當前在我的代碼中,我的代碼上面的SQL用戶名和傳遞是正確的,因爲是數據庫。我有WAMP運行,並使用Navicat來確保我可以連接。哪裏不對?VB.Net無法連接到SQL

+1

通過SQL,你的意思是SQL Server?究竟發生了什麼?你有錯誤嗎?拋出異常嗎?是這樣,異常的完整消息+堆棧跟蹤是什麼? – sstan

+0

引發異常「無法打開連接!」我怎樣才能讓它顯示更多信息? – Brandon

+2

這不是例外。例外是'ex',你忽略了。嘗試向MsgBox調用添加異常:'MsgBox(「無法打開連接!」&ex.ToString)''。或者在該行上放置一個斷點,並在調試時檢查「ex」的內容。 – sstan

回答

0

如果你使用MS SQL服務器,那麼你的問題是連接字符串。試試這個:

connetionString = "Server=localhost;Database=acernis;User ID=root;Password=password" 

但是如果你的意思是MySQL的,那麼你需要改變的不僅僅是connectio串更

試試這個:

Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click 
    Dim connetionString As String 
    connetionString = "Server=localhost;Database=acernis;Uid=root;Pwd=password;" 

    Dim conn As New MySqlConnection(connetionString) 
    Try 
     conn.Open() 
     MsgBox("Connection Open ! ") 
    Catch ex As MySqlException 
     MsgBox("Can not open connection Error: " & ex.ToString()) 
    Finally 
     conn.Close() 
    End Try 
End Sub 

找出什麼是連接字符串最好的套房,爲您參閱網站

http://www.connectionstrings.com/

0
Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click 
Dim connetionString As String 
Dim cnn As SqlConnection 
connetionString = "Server=localhost\<InstanceName>;Initial Catalog=acernis;User ID=root;Password=password" 
cnn = New SqlConnection(connetionString) 
Try 
    if not cnn.State=ConnectionState.Open then cnn.Open() 
    MsgBox("Connection Open ! ") 
    cnn.Close() 
Catch ex As Exception 
    MsgBox("Can not open connection ! ") 
End Try 

末次

按觀察,如果您使用的是SQL Server,則需要在Server屬性來指定<Instance Name>

另外,在catch節中不要使用類Exception,而應該使用特定的exceptoin類;在這種情況下,使用SQLException