次の方法で共有


Visual Studio を使用して .NET Framework アプリケーションでデータベースを作成し、テーブルを追加する

DataSet クラスと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初頭のレガシ .NET Framework テクノロジです。 このテクノロジは、ユーザーがデータを変更し、変更をデータベースに保持できるアプリに特に役立ちます。 データセットは実証済みの成功したテクノロジですが、新しい .NET アプリケーションには Entity Framework Core を使用することをお勧めします。 Entity Framework は、オブジェクト モデルとして表形式データを操作するより自然な方法を提供し、よりシンプルなプログラミング インターフェイスを備えています。

Visual Studio を使用して、SQL Server Express LocalDB でローカル データベース ファイルを作成および更新できます。 Visual Studio の SQL Server オブジェクト エクスプローラー ツール ウィンドウで Transact-SQL ステートメントを実行して、データベースを作成することもできます。 このトピックでは、テーブル デザイナーを使用して、 .mdf ファイルを作成し、テーブルとキーを追加します。

[前提条件]

このチュートリアルを完了するには、Visual Studio にインストールされている .NET デスクトップ開発およびデータ ストレージと処理ワークロードが必要です。 インストールするには、Visual Studio インストーラー を開き、変更したい Visual Studio のバージョンの横にある [変更] (または [その他の >変更])を選択します。 Visual Studio の変更に関するページを参照してください。

この記事の手順は、.NET Framework Windows フォーム プロジェクトにのみ適用され、.NET Core Windows フォーム プロジェクトには適用されません。

プロジェクトとローカル データベース ファイルを作成する

  1. 新しい Windows フォーム アプリ (.NET Framework) プロジェクトを 作成し、 SampleDatabaseWalkthrough という名前を付けます。

  2. メニュー バーの [プロジェクト] > [新しい項目の追加] を選択します。 ファイル名のボックスが含まれた小さなダイアログ ボックスが表示される場合は、[ すべてのテンプレートを表示] を選択します。

  3. 項目テンプレートの一覧で、下にスクロールし、[ サービス ベースのデータベース] を選択します。

    サービス ベースのデータベース > 新しい項目を追加する

    サービス ベースのデータベース > 新しい項目を追加する

  4. データベース SampleDatabase.mdfに名前を付け、[ 追加] を選択します。

データ ソースの追加

  1. [データ ソース] ウィンドウが開いていない場合は、Shift キー+Alt+D キーを押すか、メニュー バーの [表示>その他の Windows>Data ソース] を選択して開きます。

  2. [ データ ソース ] ウィンドウで、[ 新しいデータ ソースの追加] を選択します。

    Visual Studio で新しいデータ ソースを追加する

    Visual Studio で新しいデータ ソースを追加する

    データ ソース構成ウィザードが開きます。

  3. [ データ ソースの種類の選択 ] ページで、[ データベース ] を選択し、[ 次へ] を選択します。

  4. [ データベース モデルの選択 ] ページで、[ 次へ ] を選択して既定値 (データセット) をそのまま使用します。

  5. [ データ接続の選択 ] ページで、ドロップダウン リストで SampleDatabase.mdf ファイルを選択し、[ 次へ] を選択します。

  6. [ アプリケーション構成ファイルへの接続文字列の保存 ] ページで、[ 次へ] を選択します。

  7. [ データベース オブジェクトの選択] ページに、データベースにオブジェクトが含まれていないことを示すメッセージが表示されます。 を選択し、を完了します。

注意事項

実際のアプリケーションでは、「接続文字列と構成ファイル 説明されているように、接続文字列を安全に格納する必要があります。 最適なセキュリティを確保するには、パスワードを接続文字列に格納することに依存しない認証方法 (オンプレミスの SQL Server データベースの Windows 認証など) を使用します。 「接続文字列保存および編集する」を参照してください。

データ接続のプロパティを表示する

データ接続の [プロパティ] ウィンドウを開くと、 SampleDatabase.mdf ファイルの プロパティ の一部を表示できます。

  • [表示>SQL Server オブジェクト エクスプローラー (または Ctrl+\Ctrl+S) を選択して、SQL Server オブジェクト エクスプローラー ウィンドウを開きます。 (localdb)\MSSQLLocalDB>Databases を展開し、SampleDatabase.mdfを右クリックして (完全なパスとして一覧表示される場合があります)、[プロパティ] を選択します。

  • または、そのウィンドウがまだ開いていない場合は、[ 表示>サーバー エクスプローラー] を選択することもできます。 [プロパティ] ウィンドウを開くには、[ データ接続 ] ノードを展開し、 SampleDatabase.mdfを右クリックし、[ プロパティ] を選択します。

    ヒント

    [データ接続] ノードを展開できない場合、またはSampleDatabase.mdf接続が一覧にない場合は、サーバー エクスプローラーのツール バーの [ データベースへの接続 ] ボタンを選択します。 [接続の追加] ダイアログ ボックスで、[データ ソース] で [Microsoft SQL Server データベース ファイル] が選択されていることを確認し、SampleDatabase.mdf ファイルを参照して選択します。 [OK] を選択して、接続の追加を完了します。

接続文字列を表示するには、ソリューション エクスプローラーで App.config ファイルを開きます。 次のコードのような connectionStrings 要素の下にエントリが表示されます。

    <connectionStrings>
        <add name="SampleDatabaseWalkthrough.Properties.Settings.SampleDatabaseConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SampleDatabase.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

テーブル デザイナーを使用してテーブルとキーを作成する

このセクションでは、2 つのテーブル、各テーブルの主キー、および数行のサンプル データを作成します。 また、外部キーを作成して、一方のテーブルのレコードがもう一方のテーブルのレコードにどのように対応するかを指定します。

Customers テーブルを作成する

  1. サーバー エクスプローラーまたは SQL Server オブジェクト ブラウザーで、[データ接続] ノードを展開し、SampleDatabase.mdf ノードを展開します。

  2. [テーブル] を右クリックし、[新しいテーブルの追加] を選択します。

    テーブル デザイナーが開き、1 つの既定の行を含むグリッドが表示されます。これは、作成しているテーブル内の 1 つの列を表します。 グリッドに行を追加することで、テーブルに列を追加します。

  3. グリッドで、次のエントリごとに行を追加します。

    列名 データの種類 null を許可する
    CustomerID nchar(5) False (解除済み)
    CompanyName nvarchar(50) False (解除済み)
    ContactName nvarchar (50) 有効(選択)
    Phone nvarchar (24) 正しい(選択済み)
  4. CustomerID行を右クリックし、[主キーの設定] を選択します。

  5. 既定の行 (Id) を右クリックし、[削除] を選択 します

  6. 次の例に一致するようにスクリプト ウィンドウの最初の行を更新して、Customers テーブルに名前を付けます。

    CREATE TABLE [dbo].[Customers]
    
  7. Customers テーブルにインデックス制約を追加します。 Phone行の末尾にコンマを追加し、終わりかっこの前に次のサンプルを追加します。

    CONSTRAINT [PK_Customers] PRIMARY KEY ([CustomerID])
    

    次のような内容が表示されます。

    Customers テーブルを含むテーブル デザイナー

    Customers テーブルを含むテーブル デザイナー

  8. テーブル デザイナーの左上隅で、[更新] を選択するか、Shift+Alt+U キーを押します。

  9. [ データベースの更新のプレビュー ] ダイアログ ボックスで、[ データベースの更新] を選択します。

    Customers テーブルは、ローカル データベース ファイルに作成されます。

Orders テーブルを作成する

  1. 別のテーブルを追加し、次の表のエントリごとに行を追加します。

    列名 データの種類 null を許可する
    OrderID int False (解除済み)
    CustomerID nchar(5) False (解除済み)
    OrderDate datetime 真実 (選択済み)
    OrderQuantity int True (選択)
  2. OrderID を主キーとして設定し、既定の行を削除します。

  3. 次のサンプルと一致するようにスクリプト ウィンドウの最初の行を更新して、Orders テーブルに名前を付けます。

    CREATE TABLE [dbo].[Orders]
    
  4. Customers テーブルにインデックス制約を追加します。 OrderQuantity行の末尾にコンマを追加し、終わりかっこの前に次のサンプルを追加します。

    CONSTRAINT [PK_Orders] PRIMARY KEY ([OrderId])
    
  5. テーブル デザイナーの左上隅にある [更新] を選択するか、Shift キー+Alt+U キーを押します。

  6. [ データベースの更新のプレビュー ] ダイアログ ボックスで、[ データベースの更新] を選択します。

    Orders テーブルは、ローカル データベース ファイルに作成されます。 サーバー エクスプローラー[テーブル] ノードを展開すると、次の 2 つのテーブルが表示されます。

    サーバー エクスプローラーで展開された [テーブル] ノード

    サーバー エクスプローラーで展開された [テーブル] ノード

    表示されない場合は、[ 最新の情報に更新 ] ツール バー ボタンをクリックします。

外部キーを作成する

  1. Orders テーブルのテーブル デザイナー グリッドの右側にあるコンテキスト ウィンドウで、[ 外部キー ] を右クリックし、[ 新しい外部キーの追加] を選択します。

    Visual Studio のテーブル デザイナーで外部キーを追加する

    Visual Studio のテーブル デザイナーで外部キーを追加する

  2. 表示されるテキスト ボックスで、 ToTable というテキストを Customers に置き換えます。

  3. T-SQL ペインで、次のサンプルと一致するように最後の行を更新します。

    CONSTRAINT [FK_Orders_Customers] FOREIGN KEY ([CustomerID]) REFERENCES [Customers]([CustomerID])
    
  4. テーブル デザイナーの左上隅にある [更新] (Shift+Alt+U) を選択します。

  5. [ データベースの更新のプレビュー ] ダイアログ ボックスで、[ データベースの更新] を選択します。

    外部キーが作成されます。

テーブルにデータを設定する

  1. サーバー エクスプローラーまたは SQL Server オブジェクト エクスプローラーで、サンプル データベースのノードを展開します。

  2. [テーブル] ノードのショートカット メニューを開き、[最新の情報に更新] を選択し、[テーブル] ノードを展開します。

  3. Customers テーブルのショートカット メニューを開き、[ テーブル データの表示 ] または [ データの表示] を選択します。

  4. 一部の顧客に必要なデータを追加します。

    顧客 ID として任意の 5 文字を指定できますが、この手順の後半で覚えておくことができる文字を少なくとも 1 つ選択してください。

  5. Orders テーブルのショートカット メニューを開き、[ テーブル データの表示 ] または [ データの表示] を選択します。

  6. 一部の注文のデータを追加します。 各行を入力すると、データベースに保存されます。

    Von Bedeutung

    すべての注文 ID と注文数量が整数であり、各顧客 ID が Customers テーブルの CustomerID 列で指定した値と一致していることを確認します。

おめでとうございます! これで、テーブルを作成し、外部キーを使用してリンクし、データを追加する方法がわかっています。