2012-11-16 35 views
-1

我想查詢一個數據表,從根據輸入字符串DataTable的eangle可以看到蜜蜂在下面查詢的DataTable

數據表DAT

 a || e || i || o || u || j|| 
---------------------------------------- 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
string[1]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 

input string 

value 


output data 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 
value[10]|| 1 || 1 || 1 || 1 || 1 1 

的檢索數據列名稱可以改變,但該行不

所有需要與查詢文本相匹配的是方括號打開之前的一切。

我想知道我能做到這一點查詢監守到目前爲止,我還使用不工作的方法。

var result = excelDataTable.AsEnumerable().Where((((row,index)=> index==0))); 

var result = excelDataTable.AsEnumerable().Where(data => data.Field<String>(0).StartsWith(queryString));     
+3

而你的問題是什麼? – DHN

回答

1

我相信你想選擇這些行,其第一列不包含"string"的內容。嘗試以下操作。

var result = excelDataTable.AsEnumerable() 
         .Where(r=> !r.Field<string>(0).StartsWith("string")); 
            ^^^ 
            //Notice the ! - Not 
+0

這不起作用,我更新了查詢 – user1776590

+0

@ user1776590,你的查詢只返回那些以「string」開頭的查詢。它不排除那些。你需要把'!'(不)在WHERE條件 – Habib

+0

但是這是我想要做的是隻返回開頭的那些東西是串 – user1776590