0

我正在尝试检查 IF 数据表是否包含任何行,我正在使用下面的代码来执行此操作,但是现在即使此GetReferralDrName()方法不返回任何值仍然控制将foreach循环,正确的方法是什么

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

2 回答 2

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());
    } 
} 
于 2013-09-22T06:34:42.967 回答
1

我没有看到任何问题。所以尝试检查dt.Rows.Count

if(dt!=null)
{
  if(dt.Rows.Count>0)
  {
    //Your Other Code
  }
}
于 2013-09-22T06:37:22.883 回答