下面这段代码:
while (rd.Read())
{
if (rd["sffy"].ToString() != "")
{
int num = int.Parse(rd["sffy"].ToString());
sum = sum + num;
}有的高手说:给int num = int.Parse(rd["sffy"].ToString());加一个try。有必要吗?不是判断过“if (rd["sffy"].ToString() != "")”,不为空才执行(int.Parse)转化的吗?为什么还有加Try,还会发生什么类型的异常?
while (rd.Read())
{
if (rd["sffy"].ToString() != "")
{
int num = int.Parse(rd["sffy"].ToString());
sum = sum + num;
}有的高手说:给int num = int.Parse(rd["sffy"].ToString());加一个try。有必要吗?不是判断过“if (rd["sffy"].ToString() != "")”,不为空才执行(int.Parse)转化的吗?为什么还有加Try,还会发生什么类型的异常?
{
sum += rd["sffy"]==DBNul.Value?0:Convert.intInt32(rd["sffy"]);
}
int TryParse判断是否数字
在下知道哪里发生的错误了。sum += rd["sffy"]==DBNul.Value?0:Convert.intInt32(rd["sffy"]);
拆开是不是该这样写?if(rd["sffy"]==DBNul.Value)
{
sum=sum+0;
}
else
{
sum=sum+Convert.toInt32(rd["sffy"]);
}对吧?
{
sum=sum+Convert.toInt32(rd["sffy"]);
}