Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算从mysql数据库检索到的行数_Java_Mysql_Database_Row - Fatal编程技术网

Java 计算从mysql数据库检索到的行数

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

基本上,这个方法应该做的是计算从数据库中获得的行数。但是,无论里面是什么,它总是返回1。救命啊

您的查询似乎有问题。由于您仅选择1个用户,因此您将始终获得1个计数

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+"'"