Fórum WebTuga

Tecnologia => Programação => Topic started by: Thot on June 18, 2006, 03:47:25 PM

Title: Contar elementos SQL!!
Post by: Thot on June 18, 2006, 03:47:25 PM
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!!!!
Title: Contar elementos SQL!!
Post by: kingless on June 19, 2006, 12:07:19 PM
Não consigo identificar essa linguagem... Que linguagem é essa ?
Title: Contar elementos SQL!!
Post by: Thot on June 19, 2006, 03:36:20 PM
Java... com SQL!!!
Title: Contar elementos SQL!!
Post by: KTachyon on June 19, 2006, 07:23:23 PM
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.
Title: Contar elementos SQL!!
Post by: Thot on June 19, 2006, 09:44:41 PM
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);

}