configファイルに接続文字列を保管
前ページからの続きです。
[データソース構成ウィザード]のデータ接続の選択画面で、[次へ]のボタンを押します。
すると、[選択された接続は、・・・プロジェクトにファイルをコピーして・・・]のダイアログが表示されるので、[はい]ボタンを押せば、アプリケーションルートディレクトリにデータベースファイルがコピーされます。
[いいえ]を押すと、データベースファイルはコピーされません。
[接続文字列をアプリケーション構成ファイルに保存する]ページで、[次の名前で接続を保存する]をチェックします。名前は変更しないで、既定値のまま使います。
さらに、[次へ]のボタンを押すと、データベースオブジェクトの選択画面が表示されるので、テーブルを選んで、[完了]ボタンを押せば完成です。
接続文字列は、app.configファイルに生成されます。ソリューションエクスプローラで、app.configファイルを開けば確認できます。たとえば、次のように、configuration要素のconnectionStrings要素内に格納されます。
接続テストのサンプルプログラム
それでは、app.configファイルの接続文字列を取得して、接続テストをします。フォームにボタンをひとつ追加し、データベースに接続するプログラムを作成します。
最初に、参照の追加で、System.Configurationを追加して、プロジェクトにインポートしてください。
接続ボタンを押すと、データベースの開閉をメッセージボックスに表示します。接続状態は、Stateプロパティを文字列に変換すれば、確認できます。
ConnectionStringSettingsオブジェクトを使用すると、ConfigurationManager クラスのConnectionStrings プロパティで、addタグのname属性を指定すると、アプリケーション構成ファイルから接続文字列を取得できます。
Option Strict On Imports System.Data.SqlClient Imports System.Configuration Public Class Connection Private Sub Button1_Click _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try Dim con As New SqlConnection Using con Dim settings As ConnectionStringSettings '接続文字列をapp.configファイルから取得 settings = _ ConfigurationManager.ConnectionStrings _ ("AdoNet.My.MySettings.sampleDBConnectionString") If settings Is Nothing Then '接続文字列取得エラー MessageBox.Show("app.configに未登録","接続文字列") Else '接続文字列の設定 con.ConnectionString = settings.ConnectionString 'DBを開く con.Open() '---<< DBの接続状態を確認>>--- MessageBox.Show(con.State.ToString, "開いた直後") End If End Using '---<< DBの接続状態を確認>>--- MessageBox.Show(con.State.ToString, "閉じた直後") Catch ex As Exception MessageBox.Show(ex.ToString, "接続テストで【例外発生】") End Try End Sub End Class