有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从dao函数返回整数?

在一个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作为成功。但是我希望它返回执行这个查询的结果


共 (1) 个答案

  1. # 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);
    }