java中想取到mysql中一列的最大值,怎么做??

这是我写的,想从数据库中user这个表取到id这列的最大值。为什么总是会抛出异常说“userid=rst.getString("id");”这句的空指针:Exceptio... 这是我写的,想从数据库中user这个表取到id这列的最大值。

为什么总是会抛出异常说“userid = rst.getString("id");”这句的空指针:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at user.UserDao.getID(UserDao.java:37)
我该怎么做???下边有写注释。

public int getID()
{
int max;
String userid = null;
String sql = "select max(id) from user";
ResultSet rst = db.executeQuery(sql);
System.out.println(rst); / /这句打出null
try {
userid = rst.getString("id"); / /异常报出这句的空指针
System.out.println(userid); / /这句貌似没有执行到,什么都没打出
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
max = Integer.parseInt(userid);
return max;
}
展开
 我来答
匿名用户
推荐于2016-08-16
展开全部
首先rst为null了就不能使用 rst.getString("id")了,再者如果rst不为null,也不能直接使用rst.getString("id"),需要判断下if(rst.next()),然后再那样用!

想问下你db是Statement对象还是PrepareStatement对象还是自己重写的方法!SQL语句没问题,你把那句SQL去运行下,出结果就不是SQL问题了。是那个方法的问题!
更多追问追答
追问

现在显然打出来的就是为空了,但是不应该啊,数据库中的数据都有啊

追答
想问下你db是Statement对象还是PrepareStatement对象还是自己重写的方法!SQL语句没问题,你把那句SQL去运行下,出结果就不是SQL问题了。是那个方法的问题!
somken
2013-06-29 · TA获得超过711个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:158万
展开全部
try {
rs.next();
userid = rst.getString("id"); / /异常报出这句的空指针
System.out.println(userid); / /这句貌似没有执行到,什么都没打出
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
更多追问追答
追问

还是同样的错误,我觉得是不是sql语句有问题啊,String sql = "select max(id) from user";或者是数据库有问题????????链接没问题,就这部分代码向数据库写数据也没问题,加了点功能就老是报错。数据库截图:


追答
db对象 在哪里定义的,可能没有创建
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bax_520
2013-06-29 · 超过42用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:117万
展开全部
ResultSet rst = db.executeQuery(sql);

这句话里的db是哪里来的?
更多追问追答
追问
Database db = new Database();   在这个类里创建的,在这个方法之前,是数据库的对象。。。。用来加载驱动器和链接数据库,我写在了另一个类里边。这个应该没问题,因为之前向数据库写数据都可以的。
追答
你system.out.println一下这个db,看输出是否为null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zwf47693252
2015-09-15 · 超过15用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:57.6万
展开全部
直接改sql啊
select max(value) from table
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb4c335
2015-09-27 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:60.1万
展开全部
SELECT MAX(column_name) FROM table_name;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式