StringBuilder strSql=new StringBuilder("插入语句");
object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);//返回添加进去的索引ID
if (obj == null)
{
return 1;
}
else
{
return Convert.ToInt32(obj);
}
obj == null这句,obj怎么会=null呢,成功插入肯定会返回一个ID值的,如果没成功插入,代码就会报错了,还要判断吗?

解决方案 »

  1.   

    在严谨性上来说还是需要判断的,因为毕竟不知道你GetSingle的方法是什么样的,如果在这个方法里捕获了异常,并且当异常时返回null,那时候如果你直接转换就出错了
      

  2.   

    这个方法并不一定用来返回一个ID值的吧
    应该是返回Rows[0][0]的值,那么这个判断是必要的。
      

  3.   

    楼主方法不怎么好,应该参考其他方法
    StringBuilder strSql=new StringBuilder("插入语句");
    int n = ObjCom.ExecuteNonQuery();
       if (n > 0)
                    {
                        res = true;
                    }
                    else
                    {
                        res = false;                }
      

  4.   

    如果在方法DbHelperSQL.GetSingle中没有捕获异常,那么执行出错的时候就会直接报错了。
    另外 obj==null是有必要的。就同1楼所说的那样。
      

  5.   

    插入出错==(obj==null)?插入出错了,程序就中断了啊.还判断什么,虽然我都写上obj==null