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)
当您不确定确切的数字类型时,使用的一个好方法是将其强制转换为所有数字类型的父类Number:
val = ((Number) rs.getObject(1)).intValue();
Run Code Online (Sandbox Code Playgroud)
这将为所有数值类型,如工作float,long,int等.