1

目的:dt1を含みColumn["Item"]dt2さらに含む 場合Column["Item"]dt3は 1 つだけになりますColumn["Item"]。両方とも項目として「バーガー」がある場合は一方を上書きし、珍しい場合は新しい行に追加します。

私は と でそれをやろうとしましtabel3.Clone(table1)table3.merge(table2)。それは私にこれを示しています:

A:パート1

A:パート2

tb1と の共通要素がありtb2、 のすべての要素があることに注意してくださいtb2

しかし、私がちょうど使用しているときtb1.merge(tb2)and tb3=tb1、それは私にこれを見ています: B: パート 1

B: パート 2

のすべての要素tb1が表示され、両方のテーブルがマージされますが、 の要素はtb2表示されないことに注意してください。

したがって、投稿目標に関する解決策は高く評価されます。ありがとう。-MD。サファン・アルヴィー。

4

2 に答える 2

0

linq を使用してクエリ/書き込みを行う方法を見たことがありますか?

参照: http://msdn.microsoft.com/en-us/library/dd920313%28v=office.12%29.aspx

ここには、スタック オーバーフローに関する多くの質問があります。

于 2012-05-28T15:30:18.627 に答える
0

Datatable.Merge() メソッドのデフォルトの動作が「PreserveChanges」に設定されているため、これが発生する可能性があります (確かではありませんが、これが私の最初の推測です) 。

http://msdn.microsoft.com/en-us/library/fk68ew7b.aspx

コードで、「false」swith をマージ メソッドに追加し、それが役立つかどうかを確認します。

dt3.Clone(dt1);
dt3.Merge(dt2, false);

そうでない場合は、コードのその部分を質問の更新としてコピーして、コーディングにさらに光を当てることができます. 2つのグリッドビューが読み込まれているため、OleDb設定を持つコードの一部をコピーする必要はありません。したがって、それらのデータテーブルは正しくなります。

ありがとう、

ケビン

于 2012-05-28T21:17:31.390 に答える