ホームページ >データベース >mysql チュートリアル >DataReader を使用して DataSet に複数のテーブルを入力するにはどうすればよいですか?

DataReader を使用して DataSet に複数のテーブルを入力するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-26 15:43:14424ブラウズ

How to Fill a DataSet with Multiple Tables Using a DataReader?

DataReader を使用して複数のテーブルを DataSet に入力する

リレーションシップを持つ複数のテーブルを含む DataSet を操作する場合、すべてのテーブルにデータを入力する必要があります。データの整合性を維持します。 DataReader を使用するとパフォーマンスが向上しますが、DataAdapter とは若干異なるアプローチが必要です。

DataReader には、1 回のリクエストで複数のテーブルにデータを入力するための直接的なメカニズムがありません。ただし、単一のクエリで複数の SELECT ステートメントを実行することでこれを実現できます。課題は、これらのクエリから生成されたテーブルに意味のあるテーブル名を割り当てることにあります。

これを克服するには、以下に示すように、SqlDataAdapter の TableMappings プロパティを使用できます。

SqlDataAdapter adapter = new SqlDataAdapter(
      "SELECT * FROM Customers; SELECT * FROM Orders", connection);
adapter.TableMappings.Add("Table", "Customer");
adapter.TableMappings.Add("Table1", "Order");

adapter.Fill(ds);

このコード単一のリクエストで両方の SELECT ステートメントを実行し、結果のテーブルを DataSet 内の目的の名前 (「Customer」と「Order」) にマップします。テーブル名を指定すると、DataSet にテーブル間の正しい関係が正しく設定されるようになります。

以上がDataReader を使用して DataSet に複数のテーブルを入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。