首页新闻找找看学习计划

asp.net core中把sql server2016中的取出的数据格式string转decimal,部分行的数据报错

0
悬赏园豆:5 [已解决问题] 解决于 2017-06-28 15:08

asp.net core中把sql server2016中的取出的数据格式string转decimal,部分行的数据报错。

sql server2016中的数据是由mysql通过navicat转存过来的。连接mysql时这些数据可以正常转化。

把出错的数据在sql server2016中手动输入一下就又可以正常转化了。

可以确定这个问题是因为navicat转存时产生的吗?

罗伯特·福特的主页 罗伯特·福特 | 初学一级 | 园豆:133
提问于:2017-06-14 21:56
< >
分享
最佳答案
0

decimal.tryparse

收获园豆:5
吴瑞祥 | 高人七级 |园豆:28770 | 2017-06-14 22:01

就是使用decimal.tryparse转换时报错,还不是全部报错,只是一部份数据报错。从mysql取出时就不会报错

罗伯特·福特 | 园豆:133 (初学一级) | 2017-06-15 08:28

@罗伯特·福特: 报错的记录都存起来.找出为什么报错.然后解决.

吴瑞祥 | 园豆:28770 (高人七级) | 2017-06-15 09:05

@吴瑞祥: 

System.FormatException: Input string was not in a correct format.    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)    at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)    at System.Convert.ToDecimal(String value)

报错后去数据库手工输入一下,原数据就能转换。要是每个数据都修改量太大了。

罗伯特·福特 | 园豆:133 (初学一级) | 2017-06-15 09:31

@罗伯特·福特: 所以要找出字符串的问题....

比如前后空格.小数点格式.不是让你记异常.是让你记出错的字符串.

吴瑞祥 | 园豆:28770 (高人七级) | 2017-06-15 09:51
其他回答(1)
0

给微软提BUG,core早着呢

hellozmh | 园豆:29 (初学一级) | 2017-06-15 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册