关于把数据库里的数据调到c#中的一个问题?????
for (int j = 0; j < ds1.Tables[0].Rows.Count; j++)
for (int i = 0; i < ds1.Tables[0].Columns.Count; i++)
{
p[j, i] = (Double)ds1.Tables[0].Rows[j][i];//(这个地方出现错误!!!)
}
出现的错误是:指定的转换无效。
其中数据库里表的大小事19*30的一个表。但是ds1.Tables[0].Columns.Count编译时的值是29????是什么问题呢????
望大侠们指教!!!!
------解决方案--------------------第一个问题 指定的转换无效:ds1.Tables[0].Rows[j][i] 返回值是一个 object,如果要转化为double,需要强制类型转换,强制类型转换 你知道的吧。
第二个问题 ds1.Tables[0].Columns.Count 编译的时候是29 是正确的,应为它的索引时从0开始的 0-29共30个
不知道这么说 你明白吗
------解决方案--------------------看看ds1.Tables[0].Rows[j][i]的值是什么,是否可以转换
------解决方案--------------------(Double)ds1.Tables[0].Rows[j][i].toString();
先转化为字符串再转为double型
用Convert.toDuble(ds1.Tables[0].Rows[j][i].toString());
也行!
------解决方案--------------------