2016-08-26 7 views
-2

C#LINQクエリと少し混乱しています。c#データテーブルクエリが存在しない結合

DataTable tableold = new DataTable(); 
tableold.Columns.Add("Dosage", typeof(int)); 
tableold.Columns.Add("Drug", typeof(string)); 
tableold.Columns.Add("Patient", typeof(string)); 
tableold.Columns.Add("Date", typeof(DateTime)); 

// Here we add five DataRows. 
tableold.Rows.Add(25, "Indocin", "David", DateTime.Now); 
tableold.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); 
tableold.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); 
tableold.Rows.Add(21, "Combivent", "Janet", DateTime.Now); 
tableold.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); 

以下のように私は今、私がtableNew(新しい表)には存在しないtableold(ベーステーブル)の値を維持する必要があり、別のテーブル

DataTable tableNew = new DataTable(); 
tableNew.Columns.Add("Dosage", typeof(int)); 

// Here we add five DataRows. 
tableNew.Rows.Add(25); 
tableNew.Rows.Add(50); 
tableNew.Rows.Add(10); 

を持っている値を持つテーブルを持っています。

だから私はこのようにして更新されたデータテーブル(tableoldを)必要があります。助けてくださいC#やきゅう

で、このようなクエリを作成する方法

21, "Combivent", "Janet", "10:20:00" 
100, "Dilantin", "Melanie", "10:20:00" 

!おかげ

+0

を...しかし、何を実際に試してくださいましたか?あなたが新しいテーブルからtiesmを選択したいと思っていて、あなたが選んだ "数字"を使用して、古いものから対応する行を選択してください。 – BugFinder

+0

私は存在しないし、両方のテーブルで同じ行を削除したいそして私は最終的に更新されたテーブルが必要です –

+1

それはあなたがまだ試したようなサウンドを実際にはしません。あなたが試したものをどのように見せて、それがどうしてうまくいかなかったかを示してください。 – BugFinder

答えて

0

はこのお試しください:私はコード= 5行の3行を追加する方法に従うと、あなたは、出力の2行を期待してどのようにいけない

var compare= tableold.AsEnumerable().Select(r => r.Field<int>("Dosage")) 
     .Except(tableNew.AsEnumerable().Select(r => r.Field<int>("Dosage"))); 
DataTable tblResult= (from row in tableold.AsEnumerable() 
           join id in compare 
           on row.Field<int>("Dosage") equals id 
           select row).CopyToDataTable(); 
+0

ありがとう!それは本当に私の目的を解決した –

関連する問題