2013-09-22 147 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 
    } 
}