博客
关于我
指定的转换无效。
阅读量:414 次
发布时间:2019-03-06

本文共 589 字,大约阅读时间需要 1 分钟。

这是一个很常见的问题,但是我这次却弄了很久。将所遇到的问题写下来,给各位朋友参考参考。

报错的形式像这样,其实上面已经说的很清楚了,指定的转换无效。就是说你从原类型强制转换成其它类型的时候无效,发生了错误。原因可能有一下两点:

1、数字太大或太小,转换失败。

2、原类型无法被识别,转换错误。例如当你把object类型的数据强制转换为int类型的时候,你就要注意了。一般来说object类型有很多种,当object代表一个对象时,这种强制转换就很可能出现问题。这次是莫名其妙的object的值为77,然后单机值的时候成了"77M",真够郁闷的,还希望大侠们能够告诉我这是为什么。

object o=this.dlnew.DataKeys[e.Item.ItemIndex];//这是在datalist中ItemDataBound事件中取值的代码

然后int num=(int)o;//这里出现了如上所诉的问题。

然后 int num1=int.parse(o.ToString());

int  num2=convert.toint32(o);

后面两种均没有问题,另外第一种取值如果是在sqlserver中是没有问题的。我怀疑是不是在number类型转换成int类型的时候会自动在后面加上M。

最后建议和我一样的菜鸟以后最好是不要用强制转换。会很苦逼的,呵呵~

请各位大侠指教!

转载地址:http://zovkz.baihongyu.com/

你可能感兴趣的文章
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>