質問

C#で& .NETでは、特定の DataTable DataColumn proper サブセットのみを含む DataView を作成できます。

リレーショナル代数に関しては、「選択」を実行するために RowFilter を割り当てます。操作(σ)。 「投影」をどのように実行しますか?操作(π)?

役に立ちましたか?

解決

それはできませんが、必要な列のみを含むテーブルのコピーを作成できます:

DataView view = new DataView(table);
DataTable table2 = view.ToTable("FirstColumn", "SecondColumn", "ThirdColumn");

オプションで、選択した列に異なる値を持つ行を返すことができます:

DataView view = new DataView(table);
DataTable table2 = view.ToTable(true, "FirstColumn", "SecondColumn", "ThirdColumn");

他のヒント

さて、「欲しい」という理由はわかりません。 DataViewは元のテーブルの行へのポインタのリストにすぎず、元のテーブルから列を削除する方法は明らかにありません...少なくとも他のすべての機能に影響を与えることなくそのテーブル...必要な列のみを使用してください...

あるテーブルから別のテーブルへのスワップとしてデータビューを作成し、dtswapをデータソースとして使用します。

DataView dw = new DataView(dtfee);
            DataTable dtswap = new DataTable();
            dtswap = dw.ToTable(true,"Fees", "FeeAmount", "Year", "CollectorName", "Month");

DataSet およびその関連型には、リレーショナル操作を実行する機能がありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top