階層更新
更新 : 2007 年 11 月
階層更新とは、参照整合性規則を保持しながら、複数の関連テーブルで構成されるデータセットから、更新されたデータをデータベースに保存するプロセスのことです。参照整合性とは、関連レコードの挿入、更新、および削除を制御するデータベース内の制約によって定義される一貫性規則のことです。たとえば、顧客レコードを先に作成しておかなければ、その顧客の注文を作成できないようにすることが参照整合性です。
関連付けられているデータ テーブルから変更されたデータの保存は、1 つのテーブルから変更されたデータの保存より若干複雑です。これは、各関連テーブルの更新コマンド、挿入コマンド、および削除コマンドは、参照整合性制約に違反しない順序で実行する必要があるためです。たとえば、新しい顧客と注文、および既存の顧客と注文の両方を管理できる注文入力アプリケーションがあるとします。既存の顧客を削除する場合、顧客レコードを削除する前に、その顧客の注文をすべて削除しておく必要があります。また、新しい顧客を注文と共に追加する場合は、テーブルに関連付けられている外部キー制約により、新しい顧客レコードを挿入してからでなければ、その顧客の注文を挿入することはできません。これらの例が示すとおり、特定のデータのサブセットを抽出してから、参照整合性を維持する正しい順序で、更新 (挿入コマンド、更新コマンド、および削除コマンド) を送信する必要があります。
階層更新機能は、TableAdapterManager を使用して、型指定されたデータセットの TableAdapter を管理します。TableAdapterManager コンポーネントは、Visual Studio によって生成されるコンポーネントであり、.NET Framework の一部ではありません。TableAdapterManager クラスの詳細については、「TableAdapterManager の概要」の TableAdapterManager の参照に関するセクションを参照してください。
アプリケーションが型指定されたデータセットを使用していて、関連データ テーブル (Customers と Orders など、1 対多リレーションシップで関連付けられているデータ テーブル) 内のデータをユーザーが変更できるようにするときは、多くの場合、階層更新を使用することになります。
このセクションの内容
階層更新の概要
階層更新の概要および実装方法の詳細について説明します。TableAdapterManager の概要
TableAdapterManager の概要およびデータセット デザイナによって生成される TableAdapterManager コードについて説明します。方法 : 階層更新を有効または無効にする
型指定されたデータセットの Hierarchical Update プロパティを設定して、関連テーブルを保存するためのコードを生成する方法について説明します。方法 : データセットでの外部キー制約を構成する
データセットの制約を構成する方法について説明します。方法 : データの保存前にデータ バインド コントロールで実行中の編集をコミットする
保存するデータ ソースを準備するためにフォーム上のデータ バインド コントロール内の実行中の編集をすべて停止する方法について説明します。方法 : 階層更新の実行順序を設定する
TableAdapterManager の UpdateOrder プロパティを設定して、挿入、更新、および削除を実行する順序を制御する方法について説明します。方法 : 既存の Visual Studio プロジェクトで階層更新を実装する
TableAdapterManager を使用して、関連データ テーブルにデータを保存するアプリケーションをアップグレードする方法について説明します。チュートリアル : 関連するデータ テーブルからのデータの保存 (階層更新)
関連データ テーブルを持つアプリケーションを作成し、TableAdapterManager を使用してデータを保存する方法の詳細な手順について説明します。