Ge ett namn till kolumnen:
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");
}
Du kan också skicka numret på indexet för kolumnen (om du inte vill ändra din fråga) som är 1-baserad. Kontrollera 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);
}
Bortsett från detta skulle det vara bättre om du använder en PreparedStatement
för att utföra dina frågor har det många fördelar jämfört med vanligt Statement
som förklaras här:Skillnaden mellan Statement och PreparedStatement
. Din kod skulle se ut så här:
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");
}