注
DataSet クラスと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初頭のレガシ .NET Framework テクノロジです。 このテクノロジは、ユーザーがデータを変更し、変更をデータベースに保持できるアプリに特に役立ちます。 データセットは実証済みの成功したテクノロジですが、新しい .NET アプリケーションには Entity Framework Core を使用することをお勧めします。 Entity Framework は、オブジェクト モデルとして表形式データを操作するより自然な方法を提供し、よりシンプルなプログラミング インターフェイスを備えています。
データセット内のデータが変更および検証されたら、TableAdapter の Update メソッドを呼び出すことによって、更新されたデータをデータベースに送り返すことができます。
Update メソッドは、1 つのデータ テーブルを更新し、テーブル内の各データ行のRowStateに基づいて正しいコマンド (INSERT、UPDATE、またはDELETE) を実行します。 データセットに関連するテーブルがある場合、Visual Studio は、更新の実行に使用する TableAdapterManager クラスを生成します。 TableAdapterManager クラスは、データベースで定義されている外部キー制約に基づいて、更新が正しい順序で行われるようにします。 データ バインド コントロールを使用すると、データ バインド アーキテクチャによって tableAdapterManager クラスのメンバー変数が作成されます。
注
データセットの内容を使用してデータ ソースを更新しようとすると、エラーが発生する可能性があります。 エラーを回避するには、アダプターの Update メソッドを呼び出すコードを try/catch ブロック内に配置することをお勧めします。
データ ソースを更新する正確な手順は、ビジネス ニーズによって異なりますが、次の手順が含まれます。
try/catchブロックでアダプターのUpdateメソッドを呼び出します。例外がキャッチされた場合は、エラーの原因となったデータ行を見つけます。
データ行の問題を調整し (可能な場合はプログラムで、または変更のために無効な行をユーザーに提示して)、もう一度更新を試してください (HasErrors、 GetErrors)。
データベースにデータを保存する
TableAdapter の Update メソッドを呼び出します。 データベースに書き込む値を含むデータ テーブルの名前を渡します。
TableAdapter を使用してデータベースを更新するには
TableAdapter の
Updateメソッドをtry/catchブロックで囲みます。 次の例は、try/catchブロック内からNorthwindDataSetのCustomersテーブルの内容を更新する方法を示しています。