親テーブルを持つデータベースにはいくつかのテーブルがありますが、Pは他の子テーブルと1:Mリレーションシップを持つのに対して、一部の子テーブルとは1:1のリレーションシップを持っています。私はによって設計時にDataSetを追加している。このためリレーショナルデータのフィルタデータセット
[追加] - > [新しい項目を - > DataSetを - > DataSet1.xsd「
だから、私は彼らの1と一緒に、必要なすべてのテーブルがあります:1または1:Mの関係を。
親テーブルの選択されたレコードと関連する子レコードのみがデータセットに取り込まれるように、メインテーブルアダプタにいくつかのフィルタを適用しました。最後に、このデータをDataSetからXMLファイルに書きたいと思います。
しかし、私は1つの問題が発生しています。私が得ている最終的なデータセットは、子テーブルのすべてのレコードを持つことです。代わりに、親テーブルが関連するレコードを持つ子レコードのみが必要です。
ParentDataSet parentDataSet = new ParentDataSet();
ParentTableAdapter parentTableAdapter = new ParentTableAdapter();
parentTableAdapter.Fill(parentDataSet.ParentTable, column1Value); // All fine until here as I have applied filter in tableAdapter SQL
ChildTableAdapter childTableAdapter = new ChildTableAdapter();
//returns all rows in the child table -- shouldn't it return only those child records for which parent dataset table is having records??
childTableAdapter.Fill(parentDataSet.ChildTable);
parentDataSet.WriteXml(xmlFilePath);
は、私がここで行方不明です何を案内してください -
私は、次のコードを使用していますか?
ありがとうございました!
ご返信ありがとうございます。それは問題を解決しませんでした - だから、私は親テーブルのために追加しただけでなく、関連テーブルのフィルタを追加する必要があるようです。 – iniki
私は親と関連する子テーブルのフィルターを追加しました:-) – iniki
@iniki私の答えは実際には問題を解決していないので、ソリューションを別の答えとして投稿して受け入れるべきです。 (あなたが尋ねた質問にあなた自身の答えを受け入れることができます。) – Kimberly