我從sqlAdapter獲取DataTable後關閉連接。 如果我從這個DataTable預先形成SELECT,那麼select是否使用我在DB中創建的索引 ?在DataTable上選擇索引?
我需要使用索引編寫哪些代碼?
我從sqlAdapter獲取DataTable後關閉連接。 如果我從這個DataTable預先形成SELECT,那麼select是否使用我在DB中創建的索引 ?在DataTable上選擇索引?
我需要使用索引編寫哪些代碼?
A DataTable
是一個內存數據集。如果您在從數據庫中提取數據(子)之後進行選擇,那麼您將在內存中查詢您的數據,並且您沒有使用索引。
如果我理解你的問題,你想知道在數據庫中定義的索引是否會出現在DataTable中?不幸的是,答案是否定的,DataTable與數據庫是分開的。
如果您已經從數據庫中選擇您的數據,把它成一個在內存中的表,你將不能訪問數據庫的indicies。但是,由於表現在內存中,您不會需要這些指標,因爲查找性能將因爲它是內存中搜索的事實而得到改進。
DataTable中的所有數據都是關於數據庫結構/數據的,您完全擁有數據庫中的所有數據。
DataRow[] dra = datatable.Select("uid > 2");
foreach (DataRow dr in dra)
{
Console.WriteLine(dr["uid"]);
}
DataTable中
INT ROWNUMBER選擇所有行的 的DataRow [] foundrow; String showString;
foundrow = yourDataSet.Tables [「yourTableName」]。Select();
選擇特定的行和列(多個)
showString = foundrow [ROWNUMBER] [ 「yourColumnName」]的ToString();
爲什麼你需要索引。您可以選擇使用主鍵。爲該表設置主鍵並訪問它。 'DataTable.PrimaryKey = DataTable.Columns [「ColumnName」];' – Marshal 2011-04-12 14:16:20
@Niraj Doshi,我認爲他的意思是主索引或另一個DB – Achilleterzo 2011-04-12 14:17:51
你可能想澄清你的問題,增加一些更多的細節或例子。 – Marshal 2011-04-12 14:19:33