2016-06-01 5 views
1

こんにちはC Asp.net内の別のDataTableに存在する2データテーブル更新データテーブルのフィールドは、私が持っている#

テーブル

 
id isfav 
1 0 
2 0 
3 0 
4 0 
5 0 

 
id 
2 
3 

は、だから私は更新したいfavtable table1FavTableにidsがある場合は、フィールドisFavを1に設定します。

誰もが

UPDATE table SET isfav = 1 WHERE EXISTS(SELECT * FROM favtable WHERE favtable.id = table.id) 
LINQ to SQLので

...

//Create DataContext first 

foreach (var rec in from a in dc.table 
        join b in dc.favtable on a.id equals b.id 
        select a) 
{ 
    a.isfav = true; 
} 

dc.SubmitChanges(); 

...または(より効率的な)... SQLではこの

+0

書き込みは、いくつかのコード最初 – prospector

+0

はこの 'Database'テーブルまたはC#' datatable'ですか? – Mairaj

+0

csharpデータテーブル –

答えて

1

に私を助けることができます。..

dc.ExecuteCommand("UPDATE table SET isfav = 1 WHERE EXISTS(SELECT * FROM favtable WHERE favtable.id = table.id)"); 
0

コメントに記載されているのでDataTableの場合は、次の表の間にJoinを使用してフィールドを更新できます。

table1.AsEnumerable() 
     .Join(table2.AsEnumerable(), 
      t1 => t1.Field<int>("id"), 
      t2 => t2.Field<int>("id"), 
      (t1, t2) => new { t1 }) 
     .ToList() 
     .ForEach(o => o.t1["isfav"] = 1); 

チェックこのworking code

関連する問題