4

System.Data.DataRow比較したいオブジェクトの配列が 2 つあります。

行には 2 つの列 A と B があります。列 A はキーであり、どの行の B 列が変更され、どの行が追加または削除されたかを調べたいと考えています。

PowerShell でこれを行うにはどうすればよいですか?

4

3 に答える 3

4

少し前にこれを行うスクリプトを書きました。スクリプト (Compare-QueryResults.ps1) はここから入手できます。Run-SQLQuery スクリプト (ここから入手可能) も必要になるか、独自のスクリプトまたは関数に置き換えることができます。

基本的に、スクリプトが行うことは、各クエリの結果を取得し、データ行を分割して、各フィールドが独自のオブジェクトになるようにすることです。次に、Compare-Object を使用して、それらの行のデータの違いを確認します。返されたデータ間のすべての違いを示す比較オブジェクトを返します。

結果はオブジェクトであるため、それらを変数に保存し、Sort-Object または Format-* コマンドレットを使用できます。

幸運を。スクリプトに問題がある場合はお知らせください。喜んで説明させていただきます。私はそれらをアプリケーションのテストに使用しており、プログラム内のさまざまなアクションによってどの行が変更されているかを確認しています。

于 2008-08-22T12:53:16.767 に答える
0

DataRows の 2 つの配列が必要ですか? DataRow オブジェクトには、必要なものを提供する RowState プロパティがあります。MSDN ドキュメントを参照してください: http://msdn.microsoft.com/

于 2008-08-22T10:39:49.940 に答える