本帖最后由 jokieohmygod 于 2011-04-11 10:41:59 编辑

解决方案 »

  1.   

     cart_id = int.Parse(row[0].ToString());(在运行时,提示这边出错了,cart_id是Int型的)
    何不输出row[0].ToString()看看
    如果row[0].ToString()为非数字字符串,它能转换为整型吗?
      

  2.   

    检查你的列看哪列 需要 Convert.ToDateTime
      

  3.   

    为什么不用这个ExecuteScalar取 而要直接返回一个dataset
      

  4.   

    我知道原因啦!
    原因:select distinct scope_identity() from cart这个方法是在执行添加cart表记录,数据库链接关闭后,在此打开才调用的方法,故获取的数值为NULL,类型转换自然出错。
    解决:将select distinct scope_identity() from cart写在添加cart表记录的语句之后,即在添加记录的SQL语句后加上";select distinct scope_identity() from cart”,这样就可以在添加完记录后,数据库为关闭的时候获取到cart_id的值了。至于第二个问题,可能是我在设计的时候出现了点问题,跟语法无关,继续努力钻研。谢谢大家给的提示!
      

  5.   

    打个断点
    float.Parse(row[0].ToString()); row中有没有值