2016-04-26 9 views
0

私のDatatableのデータをリストに取得していますが、一致するデータのみを取得する必要がありますどのようにデータテーブルのLinq文を使ってデータをフィルタリングすることができますか? 私のテーブルの構造は、ストアドプロシージャLinatable Statement in Datatable

から取られている。これは私のコードです:

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(","); 

} 私はこれをどのように行うことができますか?

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

をそして、あなたが望む結果を得るために.ToList().Select()を使用します。 日時書式

+0

DataTableの一部のデータの構造を確認できますか? – JonE

+0

参照:http://stackoverflow.com/questions/10855/linq-query-on-a-datatable –

答えて

1

を持っている私のDataTableのデータは、あなたが存在してみてくださいことはできますか? あなたが持っているデータの例をさらに提供するのは難しいです。

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 Webサイトの類似した例があります。https://msdn.microsoft.com/en-us/library/bb907066.aspx – Auguste