SQL Azure Databaseを使ったサンプルの作成
それでは、実際にSQL Azure Databaseを使用してサンプルアプリケーションを作成してみましょう。
サンプルの内容
図2のような商品データの管理を行うシンプルなアプリケーションを作成します。
サンプルは、ListViewコントロールを用いて、商品データのCRUD(作成、読み出し、更新、削除)操作を実現しています。
説明の流れ
まず、ADO.NETやデータコントロールを使用してSQL Server 2008(サンプルでは無償のExpress Editionを使用)にアクセスする一般的なASP.NET Webアプリケーション(以降、Webアプリケーション)を作成します。
次に、このサンプルをWindows Azureアプリケーション(以降、Azureアプリケーション)に変更します。最後に、ADO.NETを使用したままデータベースをSQL Serverからクラウド上のSQL Azureに変更し、サンプル自体もクラウド環境に配置します。
このようにして、SQL ServerにアクセスするWebアプリケーションが、わずかな変更で、SQL Azureにアクセスするクラウド上のAzureアプリケーションになることがお分かりいただけるでしょう。
最初の一歩
- SQL ServerにアクセスするWebアプリケーション -
サンプルを実行するために、あらかじめSQL Server上に、Shopという名前でデータベースを作成し、Productsテーブルを次の表にある定義で作成します(記事に添付しているサンプルデータのDatabaseフォルダに、何件かのサンプルデータを入力したデータベースファイルShop.mdfが含まれていますので、アタッチして使用することができます)。
列名 | データ型 | 概要 |
ID | int | 商品ID(主キー) |
Name | nvarchar(50) | 商品名 |
Description | nvarchar(MAX) | 説明 |
Price | int | 価格 |
では、ADO.NETを使用してSQL Server上のProductsテーブルにアクセスするWebアプリケーションを、次の手順で作成します。
[1]新しいプロジェクトを作成する
新規にプロジェクトを作成します。テンプレートは「ASP.NET Web アプリケーション」を選択し、「WebApplicationSample」というプロジェクト名で作成します。
[2]Default.aspxにコントロールを配置する
図3のように、Default.aspxの[デザイン]ビューを表示しツールボックスからコントロールを配置します。タイトル表示用にLabelコントロールを、商品データの表示・編集用にListViewコントロールを配置します。
[3]ListViewコントロールの設定
「データ ソース構成ウィザード」を使用して、ListViewコントロールとSQL Server上のShopデータベースのProductsテーブルを関連付けます。
その際に、「ShopConnectionString」という名前で接続文字列を保存します。そして、詳細設定から[INSERT、UPDATE、および DELETE ステートメントの生成]にチェックし、ウィザードを完了します。
次に、ListViewのコントロールのコンテキストメニューから[ListView の構成...]を選び、ダイアログを表示します。[レイアウトの選択]は「グリッド」を、[スタイルの選択]は「プロフェッショナル」を選択します。編集、挿入、削除を有効にする各チェックボックスをチェックします。
手順を終えて、Default.aspxの表示を[ソース]ビューに切り替えてみると、SqlDataSourceコントロールに対して、次のリスト1のようにSQLステートメントが設定されていることが確認できます。
DeleteCommand="DELETE FROM [Products] WHERE [ID] = @ID" InsertCommand="INSERT INTO [Products] ([Name], [Description], [Price]) VALUES (@Name, @Description, @Price)" SelectCommand="SELECT * FROM [Products]" UpdateCommand="UPDATE [Products] SET [Name] = @Name, [Description] = @Description, [Price] = @Price WHERE [ID] = @ID">
以上の手順で作成したプロジェクトをビルドし実行します。先程の図1のように実行結果が表示されるはずです。商品データの表示、編集、削除、挿入を試してみてください。
ここまでで、ADO.NETやデータコントロールを使用してSQL Serverにアクセスする、一般的なWebアプリケーションを作成することができました。