リレーションシップを持つ複数のテーブルを含む 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 内の対応する名前のテーブルにロードされます。このアプローチにより、確立された関係を維持しながら、適切なデータが正しいテーブルに確実に流れ込むようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3