App.configファイルの活用
アプリケーション構成ファイルのApp.configに作成した接続文字列を利用して、データベースの開閉をテストするサンプルプログラムを作成します。
アプリケーション構成ファイルApp.configから接続文字列を取得するためには、ConnectionStringSettingsオブジェクトを利用します。
ConfigurationManagerクラスのConnectionStringsプロパティに、addタグのname属性を設定すると、アプリケーション構成ファイルから接続文字列を取得できます。
ConfigurationManagerクラスを使うためには、メニューの[プロジェクト]→[参照の追加]をクリックして、System.Configurationを追加してください。
App.config ファイル connectionString の name属性の既定値は長すぎるので、"販売管理ConString"と変更しました。
App.configの接続文字列を使った Open Close サンプルプログラム
新規プロジェクトを作成し、DB接続状態確認テストのボタンをひとつ追加します。この接続確認ボタンをクリックして、データベースの開閉状態を確認します。
StateプロパティでDBの開閉状態が分かるので、このプロパティ値を文字列に変換し、メッセージボックスに表示します。
コントロール | nameプロパティ | 設定値 |
---|---|---|
Label | 既定値 | Text:SQl Server Express Edition |
Button | BtnTest | Text:DB接続状態確認テスト |
接続状態を確認するために、
Dim con As New SqlConnection
Using con
とプログラミングしていますが、これは、End Using 後に con のプロパティを参照しているからです。通常は、
Using con As New SqlConnection
とプログラミングします。
ソースリストの枠内をクリックすると全選択できます。
Option Strict On Imports System.Data.SqlClient Imports System.Configuration Public Class ConTest Private Sub BtnTest_Click(sender As Object, e As EventArgs) _ Handles BtnTest.Click Try Dim con As New SqlConnection ' 通常 Using con As New SqlConnection Using con Dim settings As ConnectionStringSettings ' 接続文字列をApp.configファイルから取得 settings = _ ConfigurationManager.ConnectionStrings("販売管理ConString") If settings Is Nothing Then ' 接続文字列取得エラー MessageBox.Show("App.configに未登録", "接続文字列エラー") Else ' 接続文字列の設定 con.ConnectionString = settings.ConnectionString ' DBを開く con.Open() '【接続状態の確認】 MessageBox.Show(con.State.ToString, "Open直後") End If End Using '【接続状態の確認】 MessageBox.Show(con.State.ToString, "End Using直後") Catch ex As Exception MessageBox.Show(ex.ToString, "接続テスト【例外発生】") End Try End Sub End Class
テスト結果は次のようになればOKです。