我刚开始学习,想问个问题,希望有人能帮我解决,谢谢
我先是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());这句输入字符串的格式不正确,是什么原因呢,这样的转换对吗?谢谢
------解决方案--------------------你直接在数据库 里面执行
select max(record) from XXX
看看得到的是什么
有可能是数据过大.
你换成Convert.ToDouble 试试
------解决方案--------------------看上去没错
把sql在查询分析器里面执行一下,看看是什么结果
------解决方案--------------------如果为空
判断cmd2.ExecuteScalar()的返回值是否等于 System.DBNull.Value
------解决方案--------------------cmd2.ExecuteScalar()的返回值为空就会出那错,可以用条件表达试,为空就取默认值(自己加个默认值),不为空就取Convert.ToInt32(cmd2.ExecuteScalar().ToString())