Java 结果集从查询转换为int
因此,我尝试从一个sql查询中获得count结果,如下所示Java 结果集从查询转换为int,java,sql,jakarta-ee,resultset,Java,Sql,Jakarta Ee,Resultset,因此,我尝试从一个sql查询中获得count结果,如下所示 ResultSet rs = st.executeQuery("SELECT count(employeeID) FROM employee WHERE " + "employeeID='"+_empID+"' AND password = '"+_password + "'"); 所以我也试着把这个值转换成int,我试着 for (; rs.next();) { val = (Integer) r
ResultSet rs = st.executeQuery("SELECT count(employeeID) FROM employee WHERE " +
"employeeID='"+_empID+"' AND password = '"+_password + "'");
所以我也试着把这个值转换成int,我试着
for (; rs.next();) {
val = (Integer) rs.getObject(1);
}
我也试过了
val = Integer.parseInt(rs.getObject(1));
但我没有得到以下错误
无法将java.lang.Long转换为java.lang.Integer
我该怎么做。。如果它返回0,3或4,它就变成了一个整数
多谢各位
编辑为:(仍在获取错误)
long countLong=0;
对于(;rs.next();){
countLong=rs.getLong(1);
}
if(countLong<1)
{
isAuthentic=false;
}
其他的
{
isAuthentic=true;
}
使用ResultSet.getLong
方法:
long countLong = resultSet.getLong(1);
//if you really want and you are sure that it fits you can now cast
int count = (int)countLong;
当您不确定确切的数字类型时,使用的一个好技巧是将其强制转换为所有数字类型的父类,
number
:
val = ((Number) rs.getObject(1)).intValue();
这将适用于所有数字类型,例如
float
、long
、int
等。尝试使用getString()然后使用long.parseLong()。将其转换为字符串,然后转换为int或long或任何您想要的值:
Integer.parseInt(rs.getObject(1).toString());
这个问题已经问过了,看一看。你好,乔恩,这对我没有帮助。。我需要知道如何获取结果集(数据库)的值,然后使其成为我可以用来评估的内容。我仍然会收到错误java.lang.ClassCastException:java.lang.Long无法转换为java.lang.Integer(请参见我如何修改代码)@user710502:您的代码现在已经正常了。也许你错过了重新编译?请附上stacktrace。谢谢你对zacheusz的帮助
Integer.parseInt(rs.getObject(1).toString());