您的位置:首页 > 数据库

从数据库表格中获取列最大的两种方法

2015-10-12 14:26 274 查看
下面是从数据库表格中获取列最大值的两种方法:

public int getMaxNum(){
//String sql = "select * from market_goods order by goodsid desc limit 0,1";
String sql = "select max(goodsid) from market_goods"; //这两个sql语句都可以获得最大值,但是如何从返回结果中拿值呢?
int goodsId = 0;
try {
ResultSet rs = DBConnect.getRS(sql);
while(rs.next()){
//goodsId = rs.getInt("goodsId")+1;
goodsId = rs.getInt(1)+1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnect.close();
}
return goodsId;
}


从这个方法中可以看出,sql语句不得不同,从resultset中取值的方法也略有不同
如果用的事注释掉的sql语句就,最佳用的事

goodsId = rs.getInt("goodsId")+1;
如果用的是非注释掉的sql语句,最佳用的也是
goodsId = rs.getInt(1)+1;

原因是第一个sql语句获得的是表格中的整行,而第二个sql语句获得的仅仅是一个字段,这两者是有区别的。
public int getMaxNum(){//String sql = "select * from market_goods order by goodsid desc limit 0,1";String sql = "select max(goodsid) from market_goods";
//这两个sql语句都可以获得最大值,但是如何从返回结果中拿值呢?int goodsId = 0;try {ResultSet rs = DBConnect.getRS(sql);while(rs.next()){//goodsId = rs.getInt("goodsId")+1;goodsId = rs.getInt(1)+1;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{DBConnect.close();}return
goodsId;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: