2017-03-09 37 views
0
foreach (DataRow dr in dtt.Rows) 
{ 
    foreach (DataRow dr2 in d.Rows) 
    { 
     if (dr2["Nme"].ToString().Equals(dr["CompanyName"].ToString()) && dr2["Executivename"].ToString().Equals(dr["Executivename"].ToString())) 
     { 
      ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('This Data is alreay exist!');", true); 
     } 
    } 
} 
+0

提供更多的細節,你可以在SQL – Pream

+2

是加入做到這一點。別。無論您想要做什麼,都不要將50K行拖到客戶端上來做任何您想做的事情。編寫一個SQL查詢。你發佈的是一個簡單的JOIN並檢查是否相等。你爲什麼需要把這一切都交給客戶? 'SELECT COUNT(*)FROM table1內部連接table2在table1.CompanyName = table2.Nme和table1.ExecutiveName = table2.ExecutiveName' –

+0

是的。但我有兩個差異數據庫..所以我怎麼能加入? 我想檢查CompanyName和ExecutiveName在兩個表中都有匹配的記錄 – DonaN

回答

1

最好的選擇是通過sql在你的數據庫中做到這一點。例如用JOINEXISTS查詢。如果這是不可能的,你可以使用這種高效性和可讀性的LINQ查詢:

var compData1 = dtt.AsEnumerable().Select(r => new { CompanyName = r.Field<string>("CompanyName"),Executivename = r.Field<string>("Executivename")}); 
var compData2 = d.AsEnumerable().Select(r => new { CompanyName = r.Field<string>("Nme"), Executivename = r.Field<string>("Executivename") }); 

bool alreadyExists = compData1.Intersect(compData2).Any(); 

if(alreadyExists) 
    ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('This Data is alreay exist!');", true);