在 servlet 程序中,我创建了一个包含函数的 DAO 类,我希望该函数返回通过执行 Oracle 查询生成的特定值。我尝试了如下操作:
public int timeofdayafternoonthsmon(Getset g) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Connection con=Dbconnection.getConnection();
String userid=g.getuserid();
PreparedStatement pstmt=con.prepareStatement("select count(timeofday) from mealdb where timeofday=? and userid=?");
pstmt.setString(1,"Afternoon");
pstmt.setString(2,userid);
int no=pstmt.executeUpdate();
System.out.println(""+no);
return no;
}
但问题是它返回 1 作为(我猜)成功。但我希望它返回执行此查询的结果。
最佳答案
public int timeofdayafternoonthsmon(Getset g) throws ClassNotFoundException, SQLException {
// TODO Auto-generated method stub
Connection con=Dbconnection.getConnection();
String userid=g.getuserid();
PreparedStatement pstmt=con.prepareStatement("select count(timeofday) from mealdb where timeofday=? and userid=?");
pstmt.setString(1,"Afternoon");
pstmt.setString(2,userid);
// execute a query, not an update statement and fetch the result set
ResultSet rs = stmt.executeQuery();
// position to the first result, there must be one since count(timeofday) returns at least 0
rs.next();
System.out.println(""+rs.getInt(1));
return rs.getInt(1);
}
关于java - 如何从 dao 函数返回整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11555827/