.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)