2016-03-30 17 views
0

このforeachループは3回繰り返して終了します。私のデータテーブルはすべての値を取得していますが、最終的には計画どおりに進まません。foreachループは3つの値を追加しただけで終了します。#

は、ここで私は、プロファイラを使用してクエリを実行した

を返されたコード

foreach (DataRow item in dtEq.Rows) 
{ 
    DataRow[] dr = dtData.Select("ManpowerId=" + item.ItemArray[(int)0] + ""); 

    if (dr.Length > 0) 
    { 
     foreach (DataRow drFound in dr) 
     { 
      item.BeginEdit(); 

      item[dtEq.Columns.IndexOf(drFound[2].ToString()) + 1] = drFound[3]; 
      item[dtEq.Columns.IndexOf(drFound[2].ToString()) + 2] = drFound[4]; 
      item.EndEdit(); 
     } 
    } 

} 

Here is the imageあり、それは完璧に動作します。

更新DAL VALUE IS PERFECT

+0

他の行のDataRow [] dr = dtData.Select( "ManpowerId =" + item.ItemArray [(int)0] + "")が0でないことを確認しますか? –

+0

@JamesDev最初の3つは1、最後の2つは '{System.Data.DataRow [0]}'です –

+0

これは、問題の原因を手がかりにするはずです。 –

答えて

0
item.ItemArray[(int)0] 

が最後の2行について、それぞれ図4および図5を返却する必要があります。これを使用して、他のテーブルhttp://prntscr.com/aly5jmを照会します。ここで、ManpowerIdは1002であり、1003は行を見つけられません。

+0

はい、問題だったので、私は 'Id'フィールドを見逃してしまいました。私はそれを追加して動作させました。 ありがとう –

関連する問題