Sql

3 respostas
N

boa noite…
preciso de um mao…

nao consigo jogar o resultado de minha sql numa variavel…

preciso manda o resultado de “SELECT MAX(codigo) FROM funcionario” para uma variavel int , para assim seguir cadastrando sem dar conflito, mas nao estou conseguindo.

3 Respostas

V

public int maxCodigo() { PreparedStatement ps = null; ResultSet rs = null; Connection conn = null; try { conn = algumaCoisaQuePegaOConnection(); ps = conn.prepareStatement("SELECT MAX(codigo) FROM funcionario"); rs = ps.executeQuery(); if (!rs.next()) return 0; return rs.getInt(1); } catch (SQLException e) { throw new SuaExcecaoDeCoisaErrada(e); } finally { try { if (ps != null) ps.close(); } catch (IOException e) { /* Ignora. */ } try { if (rs != null) rs.close(); } catch (IOException e) { /* Ignora. */ } fechaOConnectionOuDevolveAoPool(conn); } }

N

deu certo cara !

percebi que por algum motivo muito importante, ao se carregar um resultset utilizando o postgresql 8.0 ele posiciona numa linha nula, e se torna ncessario caminhar para primeira posicao para se adquirir os valores corretos.

public int maxCont() throws Throwable {

		stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT MAX(codigo)+1 FROM funcionario");
		rs.next();
		return rs.getInt(1);

	}
V

Ah sim, desculpe, esqueci do rs.next(), que é importantíssimo.
Atualizei o meu post anterior.

Criado 20 de outubro de 2008
Ultima resposta 21 de out. de 2008
Respostas 3
Participantes 2