sql >> Databáze >  >> RDS >> Mysql

JDBC:Jak získat výsledek funkce SQL COUNT ze sady výsledků?

Zadejte název sloupce:

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");
}

Můžete také předat číslo indexu sloupce (v případě, že nechcete upravit svůj dotaz), který je založen na 1. Zkontrolujte 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);
}

Kromě toho by bylo lepší, kdybyste použili PreparedStatement pro provádění vašich dotazů má mnoho výhod oproti obyčejnému Statement jak je vysvětleno zde:Rozdíl mezi Statement a PreparedStatement . Váš kód by vypadal takto:

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. Jaká je výchozí velikost vstupu varchar2 do uložené procedury Oracle a lze ji změnit?

  2. Spojte dva stoly s podmínkou - rubín na kolejích

  3. Seskupit SQLite podle/počítat hodiny, dny, týdny, rok

  4. Volání procedury uvnitř funkce vyvolá chybu MySQL 1422