日期:2014-05-19  浏览次数:20984 次

输入字符串的格式不正确
在vs2005中使用c#我用下面的SQL语句得到一个结果集ds
select   ctncount,ctncount*trunc(ctnsize/20)   as   SD   from   tb
然后遍历这两个列分别求出他们的和,代码如下:
for   (int   i   =   0;   i   <   ds.Tables[0].Rows.Count;   i++)
{
        sum_ctn   =   sum_ctn   +   int.Parse(ds.Tables[0].Rows[i][5].ToString());                                
        sum_sd_ctn   =   sum_sd_ctn   +   int.Parse(ds.Tables[0].Rows[i][6].ToString());
}
执行第一句时没有问题,执行第二句时报错   输入字符串的格式不正确
我弄不清什么原因,请教各位高手,恳请不吝赐教

------解决方案--------------------
ds.Tables[0].Rows[i][6].ToString()是数字内容吗?
------解决方案--------------------
ds.Tables[0].Rows[i][6].ToString()里的内容可能不是整数,或者是用,隔开的格式也不行
------解决方案--------------------
同一楼

另外
ds.Tables[0].Rows[i][6]这种写法可读性实在不高

最好写成ds.Tables[0].Rows[i][ "ColumnName "], 或许你的 '6 '取错了字段
------解决方案--------------------
int.Parse的参数不是数字,比如可能是空字符串