Giv et navn til kolonnen:
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 også videregive nummeret på kolonnens indeks (i tilfælde af at du ikke ønsker at ændre din forespørgsel), som er 1 baseret. Tjek 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);
}
Bortset fra dette ville det være bedre, hvis du bruger en PreparedStatement
til at udføre dine forespørgsler har det mange fordele i forhold til almindelig Statement
som forklaret her:Forskel mellem Statement og PreparedStatement
. Din kode vil se sådan ud:
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");
}