2012-11-13 59 views
1

我目前正在使用下面的代碼,並且想知道是否可以根據輸入值進行查詢。此刻它返回已定義的行數。查詢數據表以獲取第一列中具有特定值的行

var q = sqlData.AsEnumerable().Take(2); 

該數據從數據庫進來,並計算入表,但目前它只返回數據庫中的數據到數據表,並讓我選擇前兩行,我在想,如果我可以查詢數據表,以便我可以根據實際表本身的索引獲取所需的行(例如,在表中,我找到了五行並查詢了這些信息)。

+1

sqlData是DataTable的一個實例嗎? –

+0

會有幫助嗎? http://stackoverflow.com/questions/1578212/select-column-from-dataset-using-linq – Max

回答

2

是的,你可以查詢它就像正常的枚舉集合 -

假設,你想獲得對具體列名"Id"所有行等於5,就可以查詢它像這樣 -

sqlData.AsEnumerable().Where(data => data.Field<int>("Id") == 5); 

這將返回列Id值爲5的所有行。

您同樣可以查詢其他數據類型,說你想獲得與Name組中的所有行TestName這樣的 -

sqlData.AsEnumerable().Where(data => data.Field<string>("Name") == "TestName"); 
0

試試這個

var q = sqlData.AsEnumerable() 
       .FindAll(data => data.Field<int>("Id") == 10 
        && data.Field<string>("Name").Equals("SomeName")); 

//查詢將返回的數據記錄其id = 10name = 'somename'

相關問題