Java 计算从mysql数据库检索到的行数
基本上,这个方法应该做的是计算从数据库中获得的行数。但是,无论里面是什么,它总是返回1。救命啊 您的查询似乎有问题。由于您仅选择1个用户,因此您将始终获得1个计数Java 计算从mysql数据库检索到的行数,java,mysql,database,row,Java,Mysql,Database,Row,基本上,这个方法应该做的是计算从数据库中获得的行数。但是,无论里面是什么,它总是返回1。救命啊 您的查询似乎有问题。由于您仅选择1个用户,因此您将始终获得1个计数 public int countBookings() throws SQLException{ ResultSet rs=null; PMDBController db=new PMDBController(); int rowCount=0; db.getConnection(); St
public int countBookings() throws SQLException{
ResultSet rs=null;
PMDBController db=new PMDBController();
int rowCount=0;
db.getConnection();
String dbQuery="SELECT COUNT(User) AS UserCount FROM INSTRUCTORBOOKING WHERE USER ='"+instructorId+"'";
rs=db.readRequest(dbQuery);
try{
if(rs.next()){
instructorId=rs.getString("UserCount");
}
}catch(Exception e){
e.printStackTrace();
}
rs.last();
rowCount=rs.getRow();
db.terminate();
return rowCount;
}
尝试删除WHERE子句?也许这并不完全是您想要的,但我们无法从一个查询中看到您的数据模型;而不是instructorId=rs.getStringUserCount;我会成功的。或者换句话说,您读取了行数,但将其读入变量instructorId。行数始终为1。这是计数,即当您的查询被设计为返回行的计数而不是实际行时,您需要查看的行的值
"SELECT COUNT(User) AS UserCount FROM INSTRUCTORBOOKING WHERE USER ='"+instructorId+"'"
您错误地解释了要查找的行数。注意,聚合函数通常包含GROUP BY子句。“不一定正常”-这是什么意思?注意:您的查询也可以正常工作。确保您的表中有多个用户插孔。在您的代码中,instructorId是您正在查找的所需值。例如,我要做的是计算列用户具有值Jack的行数。然后只需使用result instructorId=rs.getStringUserCount;作为柜台。instructorId实际上是一个用户数,而不是结果中的行数,结果总是=1
SELECT COUNT(User) AS UserCount FROM INSTRUCTORBOOKING WHERE USER ='"+instructorId+"'"