iT邦幫忙

0

抓資料庫值錯誤(已解決)

  • 分享至 

  • xImage

如題,我想從資料庫抓欄位名Grade(int)的值然後回傳,可是卻會error。
程式碼如下:
public int login(String userid,String password){

    String sql = "select Grade from user where ID = ? and Password = ?";

    Connection  con = JDBCUtils.getConn();

    try {
        PreparedStatement pst=con.prepareStatement(sql);

        pst.setString(1,userid);
        pst.setString(2,password);

        while (pst.executeQuery().next()){
            return pst.executeQuery().getInt("Grade");
        }

    } catch (SQLException throwables) {
        throwables.printStackTrace();
    }finally {
        JDBCUtils.close(con);
    }

    return -1;
}

執行
W/System.err: at com.example.javaproject.dao.UserDao.login(UserDao.java:26)
第26行 → return pst.executeQuery().getInt("Grade");

可是如果把26行改為 return 1 是可以的,表示在資料庫是有抓到值的。
Grade在資料庫也確實類行為int

若小弟描述不清或問法有問題,還請各位賜教~

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答