Je veux arriver à la valeur que je trouve en utilisant la commande COUNT de SQL. Normalement, j'entre le nom de colonne auquel je souhaite accéder dans la méthode getInt () getString (). Que dois-je faire dans ce cas lorsqu'il n'y a pas de nom de colonne spécifique.
J'ai utilisé 'AS' de la même manière que pour aliaser une table, je ne suis pas sûr que cela va fonctionner, je pense que non.
Statement stmt3 = con.createStatement();
ResultSet rs3 = stmt3.executeQuery("SELECT COUNT(*) FROM "+lastTempTable+") AS count");
while(rs3.next()){
count = rs3.getInt("count");
}
Utilisez des alias:
SELECT COUNT(*) AS total FROM ..
et alors
rs3.getInt("total")
Je m'attendrais à ce que cette requête fonctionne avec votre programme:
"SELECT COUNT(*) AS count FROM "+lastTempTable+")"
(Vous devez aliaser la colonne, pas la table)
Je l'ai fait de cette façon (exemple):
String query="SELECT count(t1.id) from t1, t2 where t1.id=t2.id and t2.email='"[email protected]"'";
int count=0;
try {
ResultSet rs = DatabaseService.statementDataBase().executeQuery(query);
while(rs.next())
count=rs.getInt(1);
} catch (SQLException e) {
e.printStackTrace();
} finally {
//...
}
<%
try{
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bala","bala","bala");
if(con == null) System.out.print("not connected");
Statement st = con.createStatement();
String myStatement = "select count(*) as total from locations";
ResultSet rs = st.executeQuery(myStatement);
int num = 0;
while(rs.next()){
num = (rs.getInt(1));
}
}
catch(Exception e){
System.out.println(e);
}
%>
Statement stmt3 = con.createStatement();
ResultSet rs3 = stmt3.executeQuery("SELECT COUNT(*) AS count FROM "+lastTempTable+" ;");
count = rs3.getInt("count");
C'est semblable à ci-dessus mais vous pouvez essayer comme
public Integer count(String tableName) throws CrateException {
String query = String.format("Select count(*) as size from %s", tableName);
try (Statement s = connection.createStatement()) {
try (ResultSet resultSet = queryExecutor.executeQuery(s, query)) {
Preconditions.checkArgument(resultSet.next(), "Result set is empty");
return resultSet.getInt("size");
}
} catch (SQLException e) {
throw new CrateException(e);
}
}
}