我目前正在使用下面的代碼,並且想知道是否可以根據輸入值進行查詢。此刻它返回已定義的行數。查詢數據表以獲取第一列中具有特定值的行
var q = sqlData.AsEnumerable().Take(2);
該數據從數據庫進來,並計算入表,但目前它只返回數據庫中的數據到數據表,並讓我選擇前兩行,我在想,如果我可以查詢數據表,以便我可以根據實際表本身的索引獲取所需的行(例如,在表中,我找到了五行並查詢了這些信息)。
我目前正在使用下面的代碼,並且想知道是否可以根據輸入值進行查詢。此刻它返回已定義的行數。查詢數據表以獲取第一列中具有特定值的行
var q = sqlData.AsEnumerable().Take(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");
試試這個
var q = sqlData.AsEnumerable()
.FindAll(data => data.Field<int>("Id") == 10
&& data.Field<string>("Name").Equals("SomeName"));
//查詢將返回的數據記錄其id = 10
和name = 'somename'
。
sqlData是DataTable的一個實例嗎? –
會有幫助嗎? http://stackoverflow.com/questions/1578212/select-column-from-dataset-using-linq – Max