2012-01-11 5 views
0

한 줄의 코드를 사용하여 MS-SQL 2008 R2 데이터베이스에 연결하면 코드가 단순화됩니다. 그러나 로그인/암호 오류시 msgbox를 표시하고 싶습니다. 여기에 코딩이 있습니다.Try Catch를 사용하여 (App.Config) 연결 문자열에 대한 로그인 실패 표시

My.Settings.Item("CustomerConnectionString") = "Data Source=.\SQLEXPRESS; Initial   
Catalog=customer; uid = temp ; pwd = temp" 

<< catch error required >> 

감사합니다.

+0

귀하의 질문은 무엇입니까? btw, 당신은 아마도 단순한 SQL 주입 해킹을 막기 위해이 코드를 단순화하는 것이 더 나을 것입니다. – Afshin

답변

0

먼저 연결 문자열을의 app.config에 값을 할당합니다

My.Settings.Item("CustomerConnectionString") = "Data Source=FAROOK-PC\SQLEXPRESS;Initial 
Catalog= '" & Me.ComboBox1.Text & "'; uid = '" & Me.Login1.Text & "'; pwd = '" & 
Me.Password1.Text & "'" 

다음 블록을 잡아보십시오 사용합니다. 연결이 실패하면 catch 블록에서 yor 메시지 상자를 사용하십시오.

Dim sqlCnn As New SqlConnection 
Dim connString as string = My.Settings.Item("CustomerConnectionString").value 

Try 
    sqlCnn = New SqlConnection(connString) 
    sqlCnn.open() 
    globalConnStr = connString 
Catch ex As SqlException 
    MsgBox("Login Failed") 
Finally 
    sqlCnn.close() 
End Try 

는 전역 변수로 globalConnStr를 선언하고이 로그인 자격 증명의 확인으로 완료되면 globalConnStr에 대한 연결 문자열을 지정합니다. 이 후에는 프로그램에서 원하는만큼 globalConnStr 문자열을 사용할 수 있습니다.

+0

괴짜, 위의 코드가 작동합니다. 코드를 붙이고 테스트 한 후에 다시 돌아올 것입니다. – Farook

+0

괴짜 코드가 잘 작동합니다. .Settings.Conn .. 값을 얻을 수 없습니다. 그래서 ToString을 사용했습니다. 나는이 게시물을 답으로 틱 할 것이다. 고마워! – Farook

+0

환영합니다. 그리고 솔루션이 도움이 되었다면 이전 질문도 대답으로 표시하십시오. http://stackoverflow.com/questions/8817040/how-to-display-a-login-failure-messagebox-for-app-config-connection-string – Harsh

관련 문제