こんにちは、私はデータテーブルとデータビューの違いを本当に理解していません。
Dim dtb As New DataTable()
Dim dtv As DataView = dtb.DefaultView
前もって感謝します 。
これDatatable
は、データベースからのクエリに従って抽出された、順序付けされていない、フィルタリングされていないDataRowsのコレクションです。
DataView(および複数の場合もあります)は、同じデータのフィルター処理されたビューや順序付けられたビューです。
例えば:
using(SqlConnection cn = GetConnection())
{
cn.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers", cn);
DataTable dt = new DataTable();
da.Fill(dt);
// At this point dt is filled with datarows extracted from the database in no particular order
// And the DefaultView presents the same record organization (or lack of), but...
// Order on the default view by CustomerName
dt.DefaultView.Sort = "CustomerName";
foreach(DataRowView rv in dt.DefaultView)
Console.WriteLine(rv["CustomerName"].ToString();
// A new dataview with only a certain kind of customers ordered by name
DataView dvSelectedCust = new DataView(dt, "CreditLevel = 1", "CustomerName", DataViewRowState.Unchanged);
foreach(DataRowView rv in dvSelectedCust)
Console.WriteLine(rv["CustomerName"],ToString();
}
もちろん、DataViewの作成と保守はパフォーマンスに影響を与えるため、本当に必要な場合にのみ使用することを選択できます。
これに関連するインターネットの利用可能なリンクがたくさんありますが、要約のために
DataViewは、並べ替え、フィルタリング、検索、編集、およびナビゲーションのためのDataTableのカスタマイズされたビューです。DataViewはデータを保存しませんが、代わりに対応するDataTableの接続されたビューを表します。
VBで簡単なDataViewの例を調べることができます。
DataViewは、表現の並べ替えなどをフィルタリングまたは適用するために使用される追加のレイヤーです。
DataViewには、次のような演算子が含まれていますRowFilter
リンク: http: //msdn.microsoft.com/fr-fr/library/system.data.dataview.aspx