2016-04-26 79 views
0

我收到我的數據表的數據到一個列表中,但我只需要獲取匹配日期的項目我怎麼能做我的數據表的Linq語句來過濾提供的日期的數據? 我的表結構從存儲過程Linq聲明在數據表

採取這是我的代碼:

System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("JoinedRecords", conn); 
      cmd.CommandType = CommandType.StoredProcedure; 
      conn.Open(); 
      DataTable myTable = new DataTable(); 
      myTable.Load(cmd.ExecuteReader()); 
      conn.Close(); 

for (var rowIndex = 0; rowIndex < myTable.Rows.Count; rowIndex++) 
       { 
        var row = myTable.Rows[rowIndex]; 
    var rowValues = new List<string>(); 
    foreach (DataColumn column in myTable.Columns)//Where column.Date.Day == 3 
    { 
     rowValues.Add(row[column].ToString()); 
    } 

var jsonRow = JsonConvert.SerializeObject(rowValues); 

        // Write current row 
        reader.Write(jsonRow); 

        // Add separating comma 
        if (rowIndex != myTable.Rows.Count - 1) 
         reader.WriteLine(","); 

} 我怎樣才能做到這一點? 有我的數據表中數據有日期時間格式

+0

我們可以看到DataTable中某些數據的結構嗎? – JonE

+0

請參閱:http://stackoverflow.com/questions/10855/linq-query-on-a-datatable –

回答

1

可以嘗試:

var myTable = new DataTable(); 
var rowValues = myTable.AsEnumerable().Where(r => r.Field<string>("Date") == "3").ToList(); 

,並使用.ToList().Select()得到你想要什麼? 很難爲您提供更多的數據。

0
var rowValues = new List<String>(); 
var value = from r in rowValues 
      where column.Date.Day == 3 
      select r; 
+0

即時通訊使用您的sintax erros,它可能是一個LinQ sintax pls? –

+0

下面是來自MSDN網站的類似示例:https://msdn.microsoft.com/en-us/library/bb907066.aspx – Auguste