博客
关于我
指定的转换无效。
阅读量: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/

你可能感兴趣的文章
MySQL 索引连环问题,你能答对几个?
查看>>
Mysql 索引问题集锦
查看>>
Mysql 纵表转换为横表
查看>>
mysql 编译安装 window篇
查看>>
mysql 网络目录_联机目录数据库
查看>>
MySQL 聚簇索引&&二级索引&&辅助索引
查看>>
Mysql 脏页 脏读 脏数据
查看>>
mysql 自增id和UUID做主键性能分析,及最优方案
查看>>
Mysql 自定义函数
查看>>
mysql 行转列 列转行
查看>>
Mysql 表分区
查看>>
mysql 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>