2012-01-11 6 views
0

MS-SQL 2008 R2データベースに接続するコードを1行使用するだけで、コーディングが簡単になります。しかし、私はログイン/パスワードの失敗時に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

オタクのコードは正常に動作します。 .ValueをMy.Settings.Connから取得できません。ToStringを使用しました。私は答えとしてこのポストをティックするつもりです。ありがとう! – Farook

+0

ようこそ。また、解決策が助けられた場合は、前の質問に回答してください。 http://stackoverflow.com/questions/8817040/how-to-display-a-login-failure-messagebox-for-app-config-connection-string – Harsh

関連する問題