我想修改其中一行中一列的值,
dt.Rows[1][2] = "aaaa";
可为什么总为报错??
33 个解决方案
#1
两个情况会出错.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
可以考虑使用Convert.ChangeType 来转换
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
可以考虑使用Convert.ChangeType 来转换
#2
你的代码是没有错.
看看是不是数据类型不对应的原因.
还有:报什么错贴出来
看看是不是数据类型不对应的原因.
还有:报什么错贴出来
#3
1楼都说了,无非就这两个问题
#4
你光说报错了 报的什么错了 贴出来 晕... 什么错都不知道 怎么替你分析
#5
就是这样
#6
1楼正解
#7
UP, JF
#8
#9
up
#10
这是在做WEB时遇到的问题,我查询数据库,返回了DataTable,现在我想修改dt.Rows[1][1]的值..
DataTable dt = ....
string str = dt.Rows[1][1].ToString(); //str是值正确
dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 188:
行 189: string str = dt.Rows[1][1].ToString();
行 190: dt.Rows[1][1] = "fsaffd";
#11
对应的列是什么类型?
#12
你的table中字段的类型是否允许你输入字符串。。
#13
应该是列的类型不对,转换不了,就报错了
#14
在数据库中是float型的..
#15
恩,类型不对,这样的情况该怎么处理呢?
#16
类型不匹配
#17
float型的列你给它一个字符串?
它是什么类型的就给什么类型的数据。
它是什么类型的就给什么类型的数据。
#18
楼上有正解咯。。jf
#19
楼主遇到这种问题,可以先把问题拿出来,完全可以自己解决...
#20
引用楼主给出的Code
1.DataTable dt = ....
2.string str = dt.Rows[1][1].ToString(); //str是值正确
3.dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
本人分析:
第二行中给变量str赋值时,dt.Rows[1][1]的值是需要转化为string类型的。所以在设计表时该列的数据类型并非string类型,而在第三行中又直接将字符串赋给dt.Rows[1][1],所以报错!
1.DataTable dt = ....
2.string str = dt.Rows[1][1].ToString(); //str是值正确
3.dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
本人分析:
第二行中给变量str赋值时,dt.Rows[1][1]的值是需要转化为string类型的。所以在设计表时该列的数据类型并非string类型,而在第三行中又直接将字符串赋给dt.Rows[1][1],所以报错!
#21
数据类型匹配起来。
#22
类型错误
#23
输入字符串的格式不正确。
要对应类型,比如数据库是int类型,你不能用“aaa”来代替,只能是12、3的数据类型
要对应类型,比如数据库是int类型,你不能用“aaa”来代替,只能是12、3的数据类型
#24
转成行试图后不是能改的么?DATAVIEW
#25
学习了,自己只想到了第一种情况,没考虑过第二种情况。
#26
2楼说出了真相
索引或数据类型问题
索引或数据类型问题
#27
学习
#28
dt.Rows[1][1] = "123";
#29
比如,你datatable连接的数据库中a字段的类型是int
dt.rows[1]["a"]=int.parse(xx.toString());
如果,你要把“absd”转换成float当然会出错了!
dt.rows[1]["a"]=int.parse(xx.toString());
如果,你要把“absd”转换成float当然会出错了!
#30
两个情况会出错.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
#31
10分
#32
感觉1,2楼是正解。
#33
还有第三种情况:只读状态的列
#1
两个情况会出错.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
可以考虑使用Convert.ChangeType 来转换
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
可以考虑使用Convert.ChangeType 来转换
#2
你的代码是没有错.
看看是不是数据类型不对应的原因.
还有:报什么错贴出来
看看是不是数据类型不对应的原因.
还有:报什么错贴出来
#3
1楼都说了,无非就这两个问题
#4
你光说报错了 报的什么错了 贴出来 晕... 什么错都不知道 怎么替你分析
#5
就是这样
#6
1楼正解
#7
UP, JF
#8
#9
up
#10
这是在做WEB时遇到的问题,我查询数据库,返回了DataTable,现在我想修改dt.Rows[1][1]的值..
DataTable dt = ....
string str = dt.Rows[1][1].ToString(); //str是值正确
dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 188:
行 189: string str = dt.Rows[1][1].ToString();
行 190: dt.Rows[1][1] = "fsaffd";
#11
对应的列是什么类型?
#12
你的table中字段的类型是否允许你输入字符串。。
#13
应该是列的类型不对,转换不了,就报错了
#14
在数据库中是float型的..
#15
恩,类型不对,这样的情况该怎么处理呢?
#16
类型不匹配
#17
float型的列你给它一个字符串?
它是什么类型的就给什么类型的数据。
它是什么类型的就给什么类型的数据。
#18
楼上有正解咯。。jf
#19
楼主遇到这种问题,可以先把问题拿出来,完全可以自己解决...
#20
引用楼主给出的Code
1.DataTable dt = ....
2.string str = dt.Rows[1][1].ToString(); //str是值正确
3.dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
本人分析:
第二行中给变量str赋值时,dt.Rows[1][1]的值是需要转化为string类型的。所以在设计表时该列的数据类型并非string类型,而在第三行中又直接将字符串赋给dt.Rows[1][1],所以报错!
1.DataTable dt = ....
2.string str = dt.Rows[1][1].ToString(); //str是值正确
3.dt.Rows[1][1] = "fsaffd"; //当要修改dt.Rows[1][1]时,出现如下错误:
本人分析:
第二行中给变量str赋值时,dt.Rows[1][1]的值是需要转化为string类型的。所以在设计表时该列的数据类型并非string类型,而在第三行中又直接将字符串赋给dt.Rows[1][1],所以报错!
#21
数据类型匹配起来。
#22
类型错误
#23
输入字符串的格式不正确。
要对应类型,比如数据库是int类型,你不能用“aaa”来代替,只能是12、3的数据类型
要对应类型,比如数据库是int类型,你不能用“aaa”来代替,只能是12、3的数据类型
#24
转成行试图后不是能改的么?DATAVIEW
#25
学习了,自己只想到了第一种情况,没考虑过第二种情况。
#26
2楼说出了真相
索引或数据类型问题
索引或数据类型问题
#27
学习
#28
dt.Rows[1][1] = "123";
#29
比如,你datatable连接的数据库中a字段的类型是int
dt.rows[1]["a"]=int.parse(xx.toString());
如果,你要把“absd”转换成float当然会出错了!
dt.rows[1]["a"]=int.parse(xx.toString());
如果,你要把“absd”转换成float当然会出错了!
#30
两个情况会出错.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
1 行和列不存在
自己判断索引是否在范围内
2 行的数据类型不对
DataTabke.Columns 是有数据类型的.
#31
10分
#32
感觉1,2楼是正解。
#33
还有第三种情况:只读状态的列