sql >> Database >  >> RDS >> Mysql

JDBC:Hoe haal ik het resultaat van de SQL COUNT-functie uit de resultatenset?

Geef een naam aan de kolom:

ResultSet rs= stmt.executeQuery("select count(name) AS count_name from db.persons where school ='"+sch+"'");
if (rs.next()) {
    int count= rs.getInt("count_name");
}

U kunt ook het nummer van de index van de kolom doorgeven (voor het geval u uw zoekopdracht niet wilt wijzigen), die op 1 is gebaseerd. Controleer ResultSet#getInt(int columnIndex) :

ResultSet rs= stmt.executeQuery("select count(name) from db.persons where school ='"+sch+"'");
if (rs.next()) {
    int count= rs.getInt(1);
}

Afgezien hiervan zou het beter zijn als u een PreparedStatement om uw zoekopdrachten uit te voeren, heeft het veel voordelen ten opzichte van een gewoon Statement zoals hier uitgelegd:Verschil tussen Statement en PreparedStatement . Uw code zou er als volgt uitzien:

String sql = "select count(name) AS count_name from db.persons where school = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, sch);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
    int count = rs.getInt("count_name");
}



  1. Hoe REGEXP_INSTR() werkt in MariaDB

  2. Wijzig het MySQL-stuurprogramma dat door Joomla wordt gebruikt

  3. MySQL-casting van -1 retourneert 18446744073709551615

  4. mysql natuurlijke sortering