2013-09-22 176 views
0

我想檢查IF數據表包含anyrow,我使用下面的代碼來做到這一點,但現在即使這個GetReferralDrName()方法不返回任何值仍然控制是去foreach循環,什麼是正確的方法來做到這一點如何檢查如果datatable包含anyrow

DataTable dt = DBHandling.GetReferralDrName(); 
      if (dt != null) 
      { 
       foreach (DataRow dr in dt.Rows) 
       { 
        cmbReferralDr.Items.Add(dr["LastName"].ToString() + " " + dr["FirstName"].ToString()); 
       } 
      }  

回答

1

如果沒有行,沒有損害到foreach步驟。因爲當數據表中沒有記錄時,它會跳過它。但你可以這樣做:

DataTable dt = DBHandling.GetReferralDrName(); 
if (dt != null && dt.Rows.Count > 0) 
{ 
    foreach (DataRow dr in dt.Rows) 
    { 
     cmbReferralDr.Items.Add(dr["LastName"].ToString() + " " + dr["FirstName"].ToString()); 
    } 
} 
1

我沒有看到任何問題。所以嘗試檢查dt.Rows.Count

if(dt!=null) 
{ 
    if(dt.Rows.Count>0) 
    { 
    //Your Other Code 
    } 
}