如何在查找最大值时,无符合条件是返回零值
代码如下:怎样改当查找最大值结果为空时,都只是返回catch 的内容。
public int IsTiDan(DateTime strWorkDate)
{
string strComm = "select top 1 max(DateNum) from WorkNum where WorkDate=@WorkDate and 1=1";
SqlConnection sqlConn = this.GetSqlServerConn(); //调用GetSqlServerConn()方法获得数据库连接
SqlCommand sqlComm = new SqlCommand(); //生成数据库命令操作对象
try
{
sqlComm.CommandText = strComm; //指定要执行的SQL命令
sqlComm.Connection = sqlConn; //指定要使用的SQL连接
sqlComm.Parameters.AddWithValue("@WorkDate", strWorkDate); //为SQL命令的参数赋值
//sqlComm.Parameters.AddWithValue("@ConNum", strConNum);
object obj = sqlComm.ExecuteScalar(); //执行SQL命令返回第1行第1列的值
int re = Convert.ToInt32(obj);
if (re == null)
{
re = 0;
}
return re;
}
catch (Exception ex)
{
return -100;
}
finally
{
this.CloseSqlServerConn(sqlConn); //调用方法关闭数据库
}
}
------解决方案--------------------if (re == null)
{
re = 0;
throw new Exception();//手动抛一个异常就到catch里面去了
}
------解决方案--------------------object obj = sqlComm.ExecuteScalar();
if (obj == null)
{
return 0;
}
else
{
return ...;
}