Contar elementos SQL!!

Started by Thot, June 18, 2006, 03:47:25 PM

Previous topic - Next topic

Thot

Boas!!!

Tenho uma classe que se conecta ao postgre!!!

E queria um método para contar o número de utilizadores existentes, tenho o seguinte código:
public static int BD_getContaUtlizadores() {

BD_checkConnection();

int cnt = 0;

try {

String query = "SELECT COUNT(*) FROM utilizador";

Statement st = c.createStatement();

ResultSet rs = st.executeQuery(query);

cnt = (int) rs.getLong(query);

st.close();

} catch (Exception e) {

System.out.println(e.getMessage());

}

return(cnt);



}

Ao tentar chamar este método diz.me que \\"The column name SELECT COUNT(*) FROM utilizador not found.\\"

O que estou a fazer mal?? Quando faço esta query no psql ela funciona!!!!

kingless

Não consigo identificar essa linguagem... Que linguagem é essa ?

Thot


KTachyon

O query parece estar bem feito, e ele parece estar a fazer o query...

Experimenta colocar o \\';\\' no fim da query SQL.

O problema parece ser o facto de ele não encontrar a tabela \\'utilizadores\\'. Cerifica-te que a conecção foi feita à BD correcta.
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

Thot

Já consegui corrigir o erro, e estava mesmo na query!!! Fica algo do género:

public static int BD_getContaUtlizadores() {

BD_checkConnection();

int cnt = 0;

int qt = 1;

try {

String query = "SELECT COUNT(*) AS qt FROM utilizador";

Statement st = c.createStatement();

ResultSet rs = st.executeQuery(query);

rs.next();

cnt = rs.getInt(qt);

st.close();

} catch (SQLException e) {

System.out.println(e.getMessage());

System.exit(1);

}

return (cnt);

}