ホームページ >データベース >mysql チュートリアル >DataReader を使用して DataSet に複数のテーブルを入力するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。