ResultSet从查询转换为int

use*_*502 3 java sql resultset java-ee

所以我试图从sql查询中获取结果,如下所示

ResultSet rs = st.executeQuery("SELECT count(employeeID) FROM employee WHERE " +
                "employeeID='"+_empID+"' AND password = '"+_password + "'");
Run Code Online (Sandbox Code Playgroud)

所以我也试图将该值转换为int,我尝试了以下内容

 for (; rs.next();) {
val =  (Integer) rs.getObject(1);
}
Run Code Online (Sandbox Code Playgroud)

我也试过

val = Integer.parseInt(rs.getObject(1));
Run Code Online (Sandbox Code Playgroud)

但没有任何我得到以下错误

java.lang.Long无法强制转换为java.lang.Integer

我怎么能这样做..所以如果它返回0,3或4它变成一个整数?

谢谢

编辑:(仍然有误)

    long countLong = 0; 

        for (; rs.next();) {
           countLong = rs.getLong(1);
        }


       if(countLong < 1)
       {
         isAuthentic = false;
       }
       else
       {
         isAuthentic = true;
       }
Run Code Online (Sandbox Code Playgroud)

Boh*_*ian 9

当您不确定确切的数字类型时,使用的一个好方法是将其强制转换为所有数字类型的父类Number:

val =  ((Number) rs.getObject(1)).intValue();
Run Code Online (Sandbox Code Playgroud)

这将为所有数值类型,如工作float,long,int等.