データベースに接続する

.aspx ページから SQL Server に接続するサンプルをご紹介します。

データベースの環境を用意していない場合は、先に データベースを使うための準備をするデータベース サーバーに接続する をご覧ください。

 

sample1.aspx

   1:  <%@ import namespace="System.Data.SqlClient" %>
   2:   
   3:  <script runat="server" language="C#">
   4:      void btnConnect_click(object sender, EventArgs ev)
   5:      {
   6:          string connection_string = ConfigurationManager.AppSettings["con.str"];
   7:   
   8:          var con = new SqlConnection(connection_string);
   9:          using (con)
  10:          {
  11:              con.Open();
  12:          }
  13:      }
  14:  </script>
  15:   
  16:  <html>
  17:  <head>
  18:  <title>sample 1</title>
  19:  </head>
  20:  <body>
  21:  <form runat="server">
  22:      <asp:button runat="server" id="btnConnect" text="connect" onclick="btnConnect_click" />
  23:  </form>
  24:  </body>
  25:  </html>

今回は DB に接続 (Open) し、直ちに切断 (Close) する、ただそれだけのサンプルです。動作しているのを見るなら こちら へ。

22 行目のボタンをクリックすると、4 ~ 13 行目のコードが実行されます。

6 行目でデータベースに接続するための情報を web.config ファイル (の 9 行目) から取得します。

8 行目で DB 接続用のオブジェクト (SqlConnectin クラスのインスタンス con) を作り、11 行目で接続 (Open) しています。

DB 切断 (Close) は書かなくても構いません。なぜなら、9 行目で con を using で囲んでいるので、10 行目の { と 12 行目の } を抜ける際に自動で DB 切断相当の処理がなされるためです。

 

web.config

   1:  <configuration>
   2:      
   3:  
   4:  
   5:  
   6:  
   7:   
   8:      <appSettings>
   9:          <add key="con.str" value="server=AAA; user=BBB; password=CCC; database=DDD; " />
  10:      </appSettings>
  11:   
  12:      <system.codedom>
  13:          <compilers>
  14:              <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
  15:                  <providerOption name="CompilerVersion" value="v3.5"/>
  16:                  <providerOption name="WarnAsError" value="false"/>
  17:              </compiler>
  18:          </compilers>
  19:      </system.codedom>
  20:   
  21:  </configuration>
  22:   

12 ~ 19 行目は .NET Framework 3.5 を使うためのおまじないです。

sample1.aspx の 8 行目に var を使っているので、このおまじないが必要になります。

var を使わず、

SqlConnection con = new SqlConnection(connection_string);

と書くなら、12 ~ 19 行目のおまじないは不要です。

今回重要なのは 9 行目。

SQL Server に接続する際は、Windows 認証もしくは SQL Server 認証を使います。

で、今回のサンプルでは SQL Server 認証を使っています。

SQL Server 認証の場合、接続文字列には・・・上記 web.config の 9 行目をご覧ください・・・データベース サーバー、データベース ユーザー、パスワード、これら三つを指定します。上記の例では、おまけで初期データベースも指定しています。

 

 

 

参考になるページ

SqlConnection.Open メソッド (System.Data.SqlClient)

SqlConnection.ConnectionString プロパティ (System.Data.SqlClient)

ConfigurationManager.AppSettings プロパティ (System.Configuration)