尝试确定在while (dr.read())
函数之前添加if (dr.HasRows)
是否有益。我的意思是,从技术上讲,如果它没有行,则不会读取,因此首先检查这一点是否重要。
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
while (dr.Read())
{
....do stuff here
}
}
}
或者如果你只是确保它有值可提供,这是否基本上会执行完全相同的操作...
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
....do stuff here
}
}