Web.configに登録されているConnectionStringを取得してAccessのデータベースに接続するサンプル

図 Web.configに登録されているConnectionStringを取得してAccessのデータベースに接続するサンプル
このサンプルは、Web.configに登録されているConnectionStringを取得してAccessのNwind.mdbデータベースを開きます。Connect to Access DataBaseのボタンをクリックすると、Web.configからConnectionStringを取得してAccessのNwind.mdbデータベースを開きます。結果は、ラベルに表示されます。
このサンプルでは、以下のノウハウを習得することができます。
▲ Web.configにConnectionStringを登録する方法
▲ Web.configからConnectionStringを取得する方法
サンプルの<form>…</form>には、ButtonとLabelが定義されています。行27-29では、Connect to Access DataBaseのButtonが定義されています。Buttonには、OnClickイベントが登録されています。このイベントでは、Web.configからConnectionStringを取得してAccessのNwind.mdbデータベースを開きます。行31のLabelには、実行結果が表示されます。
26: <form runat="server">
27: <asp:Button
id="btnOpen" runat="server"
28: Text="Connect to Access DataBase"
29: OnClick="btnOpen_Click" />
30: <hr>
31: <asp:Label
id="lblMessage" runat="server" />
32: </form>
Connect to Accessのボタンをクリックすると、OnClickイベントが発生します。OnClickイベントでは、Web.configからConnectionStringを取得してAccessのNwind.mdbデータベースを開きます。行7-8では、OleDbConnectionのインスタンスを生成しています。引数には、Web.configから取得したConnectionStringを指定しています。Web.configからConnectionStringを取得するには、ConfigurationSettingsクラスのAppSettings()メソッドを使用します。AppSettings()メソッドの引数には、<add>タグのkeyを指定します。Web.configには、以下のようなConnectionStringが登録されています。
<configuration>
<appSettings>
<add key="conStringAccNw"
value="PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA
SOURCE=E:\Inetpub\wwwroot\aspado\webdb\Nwind.mdb" />
</appSettings>
</configuration>
Web.configは、XMLで記述されています。ConnectionStringは、<appSettings>…</appSettings>セクション内に記述します。<add>タグのkey=には、conStringAccNwを設定しています。Web.configからConnectionStringを取得するには、ここで設定したキーを使用します。value=には、ConnectionStringを設定します。ConnectionStringのDATA SOURCE=には、Nwind.mdbのフルパルを設定します。
行9-10では、LabelのTextプロパティにOleDbConnectionのConnectionStringプロパティを設定しています。行11では、OleDbConnectionのOpen()メソッドでAccessのNwind.mdbデータベースを開いています。行12-15では、LabelにOleDbConnectionのStateプロパティを設定しています。行16では、OleDbConnectionのClose()メソッドでAccessのNwind.mdbデータベースを閉じています。行17-20では、LabelにOleDbConnectionのStateプロパティを設定しています。Labelには、以下のような情報が表示されます。
ConnectionString:PROVIDER=Microsoft.Jet.OLEDB.4.0;
DATA
Source=E:\Inetpub\wwwroot\aspado\webdb\Nwind.mdb
ConnectionState:Open
ConnectionState:Closed
LabelのConnectionStringには、Web.configから取得した情報が表示されます。
6: Sub btnOpen_Click(s As Object, e As
EventArgs)
7: Dim con As New OleDbConnection( _
8:
ConfigurationSettings.AppSettings("conStringAccNw"))
9: lblMessage.Text = _
10:
String.Format("<b>ConnectionString</b>:{0}<br>", con.ConnectionString)
11: con.Open()
12: If con.State = ConnectionState.Open
Then
13: lblMessage.Text &= _
14:
String.Format("<b>ConnectionState</b>:{0}<br>","Open")
15: End If
16: con.Close()
17: If con.State = ConnectionState.Closed
Then
18: lblMessage.Text &= _
19:
String.Format("<b>ConnectionState</b>:{0}<br>","Closed")
20: End If
21: End Sub