一个值为0的object,为何不能强制转换为int值?

doocoo 2006-09-11 02:51:04
sql为:select max(id) from tb_temp
object objTemp=dbCommand.ExecuteScalar();
察看objTemp,值为0,结果执行int i=(int)objTemp,报错"无法执行转换"
为什么?
...全文
725 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiming99 2006-09-11
  • 打赏
  • 举报
回复
我也一样遇到这样的问题,一4星的哥们告诉我这个的,看了看MSDN才明白,你也看一看吧
zhiming99 2006-09-11
  • 打赏
  • 举报
回复
看看DBNull.Value 就明白了
chaircat 2006-09-11
  • 打赏
  • 举报
回复
Convert.ToInt32()应该可以...

另外...这样也行
if(dbComm.ExecuteScalar().ToString()=="0")
id = 0;
else
id = (int)dbComm.ExecuteScalar();

嘻嘻...
mrluoluo 2006-09-11
  • 打赏
  • 举报
回复
用Convert.toInt32,参数可以给object的,应该就没问题了吧?
doocoo 2006-09-11
  • 打赏
  • 举报
回复
自己再顶一下,不信没人懂了
alex_zgx 2006-09-11
  • 打赏
  • 举报
回复
我也遇到过这样的问题,强烈关注!
doocoo 2006-09-11
  • 打赏
  • 举报
回复
有没有人知道为什么啊
doocoo 2006-09-11
  • 打赏
  • 举报
回复
是广告吧
qinglangdetian 2006-09-11
  • 打赏
  • 举报
回复
楼上的能不能具体一下? 找不到啊
shadj_123 2006-09-11
  • 打赏
  • 举报
回复
http://www.mzedu.com/

这个网站上有答案!
doocoo 2006-09-11
  • 打赏
  • 举报
回复
补充:当max(id)不为0的时候,没有这个问题
doocoo 2006-09-11
  • 打赏
  • 举报
回复
用了long,还是不行
刚刚做了测试如下:

数据库内容:
id name
0 wawa

OledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
MessageBox.Show(dbComm.ExecuteScalar().GetType().ToString());
显示:System.Int16

然后:
OledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
MessageBox.Show(dbComm.ExecuteScalar().ToString());
显示:0

然后:
OledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
int maxid=(int)dbComm.ExecuteScalar();//在这里报错:指定的转换无效,使用long maxid=(long)dbComm.ExecuteScalar();也不行
MessageBox.Show(maxid.ToString());

为什么?百思不解
Avoid 2006-09-11
  • 打赏
  • 举报
回复
使用long
doocoo 2006-09-11
  • 打赏
  • 举报
回复
id字段在access中是长整型的,而且当id的最大值大于0的时候,这个程序可以顺利运行.请指教.
MyLf 2006-09-11
  • 打赏
  • 举报
回复
可能id字段是不整型的.
namhyuk 2006-09-11
  • 打赏
  • 举报
回复
int x = int.Parse(dbCommand.ExecuteScalar().ToString());试试

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧