如題,我想從資料庫抓欄位名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
若小弟描述不清或問法有問題,還請各位賜教~