我先是string sql = "select max(record) from XXX";
取record表里的最大值
用以下语句获得并转换
int rc =Convert.ToInt32(cmd2.ExecuteScalar().ToString());
int sum=rc+1;
但是每次在提交的时候提示:int rc =Convert.ToInt32(cmd2.ExecuteScalar().ToString());这句输入字符串的格式不正确,是什么原因呢,这样的转换对吗?谢谢

解决方案 »

  1.   

    还有就是我数据库里record表用的是数字型,如果我用count(record)的话是没问题的
      

  2.   

    你直接在数据库 里面执行
    select max(record) from XXX
    看看得到的是什么有可能是数据过大.你换成Convert.ToDouble 试试
      

  3.   

    看上去没错
    把sql在查询分析器里面执行一下,看看是什么结果
      

  4.   

    如果为空
    判断cmd2.ExecuteScalar()的返回值是否等于 System.DBNull.Value
      

  5.   

    cmd2.ExecuteScalar()的返回值为空就会出那错,可以用条件表达试,为空就取默认值(自己加个默认值),不为空就取Convert.ToInt32(cmd2.ExecuteScalar().ToString())