SQL Serverデータベースの作成とデータソースの作成

2010年11月17日(水)
PROJECT KySS

本連載では、WCF RIA Servicesの機能を使って、DataGridに表示されたSQL Serverデータベースの編集や、データの新規追加を解説していきます。WCF RIA Servicesを使うとクライアントからサーバー上のデータにアクセスができ、検索、編集、保存が可能になるといったメリットがあります。クライアントとサーバー間の通信にWCF(Windows Communication Foundation)が使用されます。ほとんどのコードが自動生成され、ユーザーが記述するコードはごく僅かです。

第1回では、SQL Serverデータベースの作成と、ADO.NET Entity Data Modelの作成、Domain Service Classの作成方法について解説します。Domain Service Classを作成することで、DomainServiceのデータソースが作成されます。このDomainServiceを使ってクライアントにサービスを公開します。これらの追加作業はウィザードに従うだけで容易に作成することができます。

では、まず初めに、このプログラムで実装する機能の動作を、下記に解説しておきます。

DataGridに表示されているデータはDataPagerと関連付けられており、ページングが可能になっています。任意のデータをダブルクリックして編集し、[更新]ボタンをクリックすると、変更がSQL Serverデータベースに反映されます(図1)。また、[追加]ボタンをクリックすると、新規データ追加ボックスが表示され、データの追加が可能になります。

データを追加し、[追加]ボタンをクリックすると、DataGridにデータの追加が行われます。SQL Serverデータベースにもデータが追加されています(図2)。「画像」セルは編集時にComboBoxが表示され、その中から画像ファイル名の一覧を選択できます。

図1:DataGridのデータが編集され、変更がSQL Serverデータベースにも反映されている。この例では、「かきあげうどん」の画像が「月見うどん」に替わっている(クリックで拡大)

図2:データを新規追加し、DataGridとSQL Serverデータベースに反映されている(クリックで拡大)

完成したサンプル・ファイルは最終回(第3回)でダウンロードできます。

新規プロジェクトの作成

早速サンプルを作っていきましょう。

VS 2010のメニューから「ファイル(F)/新規作成(N)/プロジェクト(P)」を選択します。本稿では開発言語にVisual Basicを用います。次に、「Silverlight アプリケーション」を選択して、「名前(N)」に任意のプロジェクト名を指定します。ここでは「SL4_udon」という名前を付けています。

.NET Frameworkのバージョンはデフォルトの「4」、「新しいSilverlightアプリケーション」の[オプション]の「Silverlightのバージョン(L)」も、デフォルトの「Silverlight 4」を選択します。一番下に記述されている「WCF RIAサービスを有効にする(A)」にチェックを入れ(図3)、[OK]ボタンをクリックします。

図3:「WCF RIAサービスを有効にする(A)」にチェックを入れる

SQL Serverデータベースを作成する

今回使用するSQL Serverデータベースを作成します。ソリューションエクスプローラー内の、SL4_udon.Webを選択し、マウスの右クリックで表示されるメニューから「追加(D)/新しい項目(W)」と選択します。「新しい項目の追加」画面が表示されますので、「インストールされたテンプレート」から「データ」を選択し、「SQL Serverデータベース」を選択します(図4)。「名前(N)」はデフォルトのままで、[追加(A)]ボタンをクリックします。

  • [※]環境によっては、SQL Serverデータベース作成時に「ユーザー インスタンスのプロセスを起動中のエラーにより、SQL Server のユーザーインスタンスを生成できませんでした。接続は閉じられます。」のメッセージが出て、SQL Serverに接続できない場合があります。その場合は下記の手順に従ってみてください(Windows7 Professionalの場合)。
    C:\User(ユーザー)\User名(ユーザー名)\AppData\Local\Microsoft\Microsoft SQL Server Data内のSQLEXPRESSフォルダを丸ごと削除してください。このフォルダは接続時に自動的に作成されますので、削除しても大丈夫です。AppDataフォルダはデフォルトで隠しフォルダになっていますので、「フォルダオプション」から、表示されるよう設定してください。

図4:「SQL Serverデータベース」を選択する(クリックで拡大)

作成するSQL Serverデータベースを、App_Dataフォルダに配置する旨のメッセージボックスが表示されますので、[はい(Y)]を選択します(図5)。

図5:App_Dataフォルダ内にSQL Serverデータを配置する旨のメッセージボックス

ソリューションエクスプローラー内のSL4_udon.Webの配下にApp_Dataというフォルダが作成され、Database1.mdfというSQL Serverデータベースが配置されます(図6)。

図6:App_Dataフォルダ内にDatabase1.mdfファイルが配置される

ソリューションエクスプローラー内のSL4_udonを選択し、マウスの右クリックで表示されるメニューから、「追加(D)/新しいフォルダ(D)」と選択して、Imageというフォルダを作っておきます。その中に、「追加(D)/既存の項目(G)」と選択して「うどん」のPNG画像を追加しています。ダウンロードされるファイルには画像は追加済みです。

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています