1

サーブレットプログラムで、関数を含む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を返すことです。しかし、私はそれがこのクエリを実行した結果を返すことを望みます。

4

1 に答える 1

2
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);
}
于 2012-07-19T07:27:18.123 に答える