選択した列のみを表示するADO.NET DataViewを作成します
-
05-07-2019 - |
質問
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
およびその関連型には、リレーショナル操作を実行する機能がありません。
所属していません StackOverflow