Changes between Version 21 and Version 22 of HowTo/VisualStudioWeb2013Tutorial


Ignore:
Timestamp:
Sep 4, 2014, 12:54:58 PM (10 years ago)
Author:
村山 俊之
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowTo/VisualStudioWeb2013Tutorial

    v21 v22  
    529529掲示板に書き込まれるデータはどこかに保存しなければなりません。ファイルに保存とかでもいいのですが… 普通に Microsoft SQL 使いましょう。
    530530
     531==== データベースファイルを追加する ====
     532
    531533まず、プロジェクトにデータベースファイルを追加する必要があります。データベースファイルは、プロジェクトの App_Data フォルダ下に作成します。ソリューションエクスプローラーのツリーにて、App_Data フォルダを右クリックしてみてください。
    532534
     
    545547[[Image(fig-append-database-03.PNG, align=center)]]
    546548
     549==== データベースにテーブルを追加する ====
     550
     551次に、データベース内で実際にデータが格納されるテーブルを作成するのですが、その前に、掲示板で使用するデータベーステーブルについてレイアウトを考える必要があります。
     552
     553今回は認証もなく、スレッドを分けたりといったことも考慮しないので、コメントを保存するテーブルが 1つだけあれば事足りるでしょう。テーブルの仕様は以下の通りとします。
     554
     555 * テーブル名: !MessageBoardTable
     556 * フィールド:
     557   * !MessageNum ... ユニークな通し番号 (int型, Primary Key, NULL 非許容)
     558   * Author ... 投稿者名 (nvarchar型 32文字まで, NULL 非許容)
     559   * !PostDateTime ... 投稿日時 (datetime2型, NULL 非許容)
     560   * Detail ... メッセージ内容 (Text型, NULL 非許容)
     561
    547562{{{#!html
    548 <p>次に、サーバーエクスプローラを開き、ツリー表示の「データ接続」配下の「!HelloWorldDatabase.mdf」を選んで、その左端にある「&#9657;」マークをクリックします。すると、データベースに接続された状態となり、ツリーが展開されます。</p>
     563<p>それでは、実際にテーブルを追加してみましょう。 Visual Studio にてサーバーエクスプローラを開き、ツリー表示の「データ接続」配下にある「!HelloWorldDatabase.mdf」を選んで、その左端にある「&#9657;」マークをクリックします。すると、データベースに接続された状態となり、ツリーが展開されます。</p>
    549564}}}
    550565
    551566[[Image(fig-connect-database.png, align=center)]]
     567
     568ここで、「テーブル」フォルダを右クリックし、「新しいテーブルの追加」を選択しましょう。
     569
     570[[Image(fig-append-dbtable-01.PNG, align=center)]]
     571
     572[[Image(fig-dbtable-design-01.png, 640px, align=center)]]
     573
     574するといきなり、上図のような、テーブルレイアウトを設計する画面が表示されます。画面は上下に分かれていて、上がテーブルレイアウトのデザインを表示・編集する領域、下は、テーブルを実際に生成する際に使用する CREATE TABLE ステートメントの SQL 文[[FootNote(よく DDL と呼ばれているものですね。)]]自体を表示・編集する領域となっています。
     575
     576まず、テーブル名を設定する必要がありますが、それは SQL 文を直接編集することによって行います。 SQL 文の
     577
     578{{{#!sql
     579CREATE TABLE [dbo].[Table]
     580}}}
     581
     582となっている行を、
     583
     584{{{#!sql
     585CREATE TABLE [dbo].[MessageBoardTable]
     586}}}
     587
     588と修正してください。
     589
     590SQL に詳しい方であれば、このままフィールドの定義も SQL 文に直接書き加えていっても構わないのですが、こちらは画面上の方で入力しましょう。まず、 1行目の Id フィールドは名前を !MessageNum に変更します。 2行目は名前を Author 、データ型を nvarchar(32) 、そして「Null を許容」の列のチェックを外します。
     591
     592このような容量で、テーブルレイアウトのデザインを、以下の表のとおりになるように入力してください。
     593
     594||= 鍵マーク =||= 名前 =||= データ型 =||= Null を許容のチェック =||= 規定 =||
     595|| 付ける || !MessageNum || int || 外す ||  ||
     596||  || Author || nvarchar(32) || 外す ||  ||
     597||  || !PostDateTime || datetime2(7) || 外す || SYSDATETIME() ||
     598||  || Detail || text || 外す ||  ||
     599
     600デザイン情報を入力していくと、 SQL 文の方も変更に応じて自動的に書き換わっていきます。よくできてますねー。
     601
     602最後に、 !MesageNum は自動的に通し番号を設定するようにしたいので、 SQL 文にて、
     603
     604{{{#!sql
     605        [MessageNum] INT NOT NULL PRIMARY KEY,
     606}}}
     607
     608となっている行を、以下のように修正してください。
     609
     610{{{#!sql
     611        [MessageNum] INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
     612}}}