app.configファイルから接続文字列を取得[VB 2013]

Visual Basic 2010/2008 やさしいADO.NET DBプログラム

   やさしいVB 2010 / 2008 ADO.NET

プロバイダファクトリのインスタンスを使って、SQL Server 2008 Expressでデータベースの開閉をテストするサンプルプログラム。

DbProviderFactory と DbConnection

DB接続テスト

プロバイダファクトリDbProviderFactoryを利用すると、インスタンス生成時の引数と接続文字列を変更するだけで、データベースアクセスに関するプログラムは、ほとんど修正する必要がありません。

手始めに、DbProviderFactory と DbConnectionのインスタンスを生成して、データベースの開閉を確かめるプログラムを作成します。

DbProviderFactory と DbConnectionのインスタンスを生成し、app.configファイルから接続文字列を取得して、SQLServer 2008 Express Edition の販売管理データベースに接続するプログラムを作成します。

最初に参照の追加から、System.ConfigurationとSystem.Data.Commonを追加して、プロジェクトにインポートします。

接続ボタンクリック処理でデータベースの開閉確認をします。データベースの開閉をメッセージボックスに表示します。

【注意】接続状態を確認するために
   Dim con As DbConnection = fa.CreateConnection()
  Using con
とコーディングしていますが、通常は
  Using con As DbConnection = fa.CreateConnection()
とコーディングします。

Option Strict On
Imports System.Data.Common
Imports System.Configuration

Public Class FormProviderFactory

    Private Sub Button1_Click _
        (ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click

        Try
            'SQL ServerのDbProviderFactoryインスタンス生成
            Dim fa As DbProviderFactory

            fa = DbProviderFactories.GetFactory("System.Data.SqlClient")

            'DbConnectionインスタンス生成
            Dim con As DbConnection = fa.CreateConnection()

            Using con
                Dim settings As ConnectionStringSettings
               
                '接続文字列をapp.configファイルから取得
                settings = ConfigurationManager. _
                    ConnectionStrings("販売管理ConnectionString")

                If settings Is Nothing Then
                    '接続文字列取得エラー
                    MessageBox.Show("app.configに未登録","接続文字列")
                    Exit Sub
                Else
                    '接続文字列の設定
                    con.ConnectionString = settings.ConnectionString
                    'DBを開く
                    con.Open()
                    '【DBの接続状態を確認】
                    MessageBox.Show(con.State.ToString, "開いた直後")
                End If

            End Using

            '【DBの接続状態を確認】
            MessageBox.Show(con.State.ToString, "End Using直後")

        Catch ex As Exception
            MessageBox.Show(ex.ToString, "接続テストで【例外発生】")

        End Try

    End Sub

End Class

次回は、プロバイダファクトリを使って、社員マスターを検索するプログラムを作成します。


Copyright© やさしいVB2012/2010 ADO.NET. All rights reserved.