データベースのOpen,Close
プロバイダファクトリのインスタンスを使って、SQL Server 2008 Expressでデータベースの開閉をテストするサンプルプログラムを作成します。
プロバイダファクトリ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