齁齁~最近因為實在太閒太無聊

所以嘗試寫著一款"吹牛"的撲克牌遊戲

紀念當年大學出遊時的種種記憶(我逝去的青春啊~~~~)

 

回歸正題

由於這次的實作中需要對DataTable做特定的資料搜尋

(包括該DataRow的Index和其他欄位的值)

所以就將找到的方法記錄下來:

首先我們必須先得到包含該資料的DataRow

方法目前我理解的有兩種

 

方法一:

DataRow[] Row_temp = dataTable.select("查詢條件");

方法二:

DataRow Row_temp = dataTable.Rows.find("查詢條件");

 

其中"查詢條件"的部分是類似SQL的select語法

例如:"Column1 = 'Name' AND Column2 = 100"

注意,如果比對條件為字串的話頭尾要加上單引號(')

方法一可以對多個Column做比對,也能搜尋到多個結果(輸出為DataRow陣列)

而方法二只能對dataTable的主鍵做搜尋(輸出為唯一DataRow)

但方法二的效能比方法一好上許多

當然也有其他的查詢方法但我就沒有深入研究了

詳細的比較或說明可以參考下列網頁:

DataTable 的各種查詢方式效能比較

 

接著,我們可以根據上述方法所得到的DataRow來查詢其在所屬dataTable中的Index

方法如下:

int Index_temp = dataTable.Rows.IndexOf(Row_temp);

當然,如果你的Row_temp是由方法一得到的

則Row_temp就必須以陣列的方式來輸入(Row_temp[i])

 

根據以上的操作Index_temp就是DataTable中包含特定資料的RowIndex

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 酸酸 的頭像
    酸酸

    酸酸的Coding Style

    酸酸 發表在 痞客邦 留言(0) 人氣()