Capturar a saída de uma Query

Pessoal, preciso pegar o valor ou saída de um Select e passar para uma variavel, mas não estou sabendo como.

O Select é: “SELECT MAX( PES_ID) FROM PESSOA ORDER BY PES_ID DESC”

Isso vai me retornar o último valor do campo PES_ID (valor é inteiro).

Sds.

Julio.

Kara,

Te aconselho a dar uma olhada no tutorial de JDBC do GUJ.

Mas, dando uma prévia (copy&paste do tutorial), o caminho é por aqui:

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/BANCO_DE_DADOS?user=root&password=root");   
Statement stm = conn.createStatement();   
ResultSet rs = stm.executeQuery("SELECT MAX( PES_ID) FROM PESSOA ORDER BY PES_ID DESC");  

if (rs.next()) {
     int quantidade = rs.getInt(1);
}

Abraços

Passar para uma variavel onde?

Na aplicação , dentro de uma procedure ?

Qual o banco que vc usa?

Victor, muito obrigado pela dica, muito legal tambem o tutorial.
Eu estou fazendo alguns exercícios para aprender a trabalhar com o Java, venho do Clipper que é bem diferente, tenho estudo o conceito de orientação ao objeto e pretendo mudar um sistema da empresa passando para o Java.
Mas com a sua dica deu certinho e ja estou concluindo a parte de gravar no banco. Agora vou começar a parte da consulta, voce tem alguma sugestão sobre como eu faço pra consultar?

Abraço.

Olá Luciano, Estou desenvolvendo uma aplicação muito simples para eu poder aprender um pouco do Java, estou usando o PostgreSQL.
Montei uma tela (que peguei de exemplo num forum) e adaptei pra digitar os dados (tres campos) para poder entao conectar e gravar esses dados. Aí eu queria pegar o último ID (que é chave primaria) + 1 para o próximo registro a ser inserido, com a finalidade de nao se deixar o usuário repetir ou pular o ID. Mas aproveitei a dica do Victor e já consegui resolver isso, agora tenho que pegar algumas dicas para poder fazer a consulta, tipo por nome.

Abraço.

Julio.

Se a consultar for feita via sql você só vai ter que adicionar os parametros na query. Eu te aconselho a utilizar o preparedStatment para setar os parametros.

[code]
String query = “Select * from usuario where nome = ?”

PreparedStatement prst = con.prepareStatement(query);

prst.setString(1, usuario.getNome());

rst = prst.executeQuery();[/code]

con é a sua variavel Connection,
o caracter “?” é o bind usando para setar os parametros, você pode usar vários na query é depois utiliza os métodos set do PreparedStatment para substitui-los,
no método setString 1 é o indice do bind onde vai ser inserido o valor.

Luciano, muito obrigado pela explicação, eu usei e resolvi o problema.

Agora estou com uma dúvida: pego um dado do Oracle campo data e jogo num JLabel, só auq aparece a data no formato yyyy-mm-dd e (hora) junto. Voce saberia como colocar só a data e no formato dd/mm/yyyy???

Sds.

Julio.

Você pode até no seu select converter a data para o padrão dd/mm/yyyy, mas mesmo assim a hora vai ficar no objeto date.

O interessante é que você usar um SimpleDateFormat quando for exibir sua data.

SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); String data = formato.format(sua data);

para mais informações pesquise no site abaixo:
http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

Luciano, Não sei como converter a data no select, mas me orientei no exemplo que voce passou e deu certo.

Valeu pela dica, muito obrigado.

Julio.