cannot be cast to java.lang.Integer

sw19810913 2010-04-28 11:44:41


//查询表中最大记录数
String blogName="blog";
String newSql = "select ROWCNT from SYSINDEXES where id =OBJECT_ID('"+blogName+"') and INDID<2";

int result = (Integer)db.query(newSql, null, new ScalarHandler(1));

//报错:
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
//写成 Integer.parseInt(db.query(newSql, null, new ScalarHandler(1)));还是抱这个错



...全文
156 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-04-28
  • 打赏
  • 举报
回复
那你得db.query(newSql, null, new ScalarHandler(1))返回什么类型?
如果是list之类就直接 size()即可。
sw19810913 2010-04-28
  • 打赏
  • 举报
回复
没有为类型Object 定义方法intValue() 。。。。。。。。。
crazylaa 2010-04-28
  • 打赏
  • 举报
回复
int result = db.query(newSql, null, new ScalarHandler(1)).intValue();少了括号。。。sorry
crazylaa 2010-04-28
  • 打赏
  • 举报
回复
int result = db.query(newSql, null, new ScalarHandler(1)).intValue;
sw19810913 2010-04-28
  • 打赏
  • 举报
回复
我用 select count(*) from blog 不报错,可以运行!

不知道为什么?
但count(*)对于大数据量查询速度慢,所以换了sql语句

怎样才能转换成功?
So_So 2010-04-28
  • 打赏
  • 举报
回复
query 这个方法返回类型 是什么?
xiayuqijava 2010-04-28
  • 打赏
  • 举报
回复
query方法的返回值是LIST吧
oceantang 2010-04-28
  • 打赏
  • 举报
回复
帮顶。。。
BigBird2012 2010-04-28
  • 打赏
  • 举报
回复
(Integer)db.query(newSql, null, new ScalarHandler(1));
改为
Integer.parseInt((db.query(newSql, null, new ScalarHandler(1))).toString);
我是这样转的

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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