リレーションシップを持つ複数のテーブルを含む DataSet を操作する場合、データセットを維持しながら効率的に DataSet を入力する方法を検討することが重要です。データの整合性。 DataReader を使用すると軽量なアプローチが提供されますが、複数のテーブルにデータを入力するときに問題が発生する可能性があります。ここでは、1 対多の関係に対処しながら DataReader の機能を利用する改善されたソリューションを示します。
DataReader を使用して複数のテーブルを DataSet に入力するには、単一のリクエストでデータベース サーバーに複数の select ステートメントを送信します。この最適化されたアプローチにより、サーバーはクエリを効率的に処理できるようになり、個別に実行する必要がなくなります。ただし、デフォルトでは、クエリから生成されたテーブルには自動名 (Table、Table1 など) が付けられます。
これらの生成されたテーブル名を DataSet 内の特定のテーブルにマップするには、次の TableMappings プロパティを利用できます。 SqlDataAdapter。このプロパティにより、クエリで使用されるテーブル名と DataSet 内の対応するテーブルの関連付けが有効になります。以下に例を示します。
SqlDataAdapter adapter = new SqlDataAdapter( "SELECT * FROM Customers; SELECT * FROM Orders", connection); adapter.TableMappings.Add("Table", "Customer"); adapter.TableMappings.Add("Table1", "Order"); adapter.Fill(ds);
生成されたテーブル名を「Customer」と「Order」にマッピングすると、クエリのデータが DataSet 内の対応する名前のテーブルに読み込まれます。このアプローチにより、確立された関係を維持しながら、適切なデータが正しいテーブルに確実に流れ込むようになります。
以上がSqlDataReader を使用して複数の関連テーブルを DataSet に効率的に入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。