Busca código em BD e joga em JTextField

9 respostas
malonne
public Vector lista() {
        try {
            PreparedStatement comandoSQL;
            comandoSQL = Conexao.getInstance().prepareStatement("select MAX(IdInterno) from TabCadInterno");
            ResultSet rs = comandoSQL.executeQuery();
            Vector codigoMax = new Vector();
            while(rs.next()) {
                Adolescente adolescente = new Adolescente();
                adolescente.setNome(rs.getString("IdInterno"));
                codigoMax.addElement(adolescente);
                jtfCodigo.setText(adolescente.getCodigo());
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

Fiz esse código para que toda vez que chamar o método um JTextField seja preenchido com o último valor da coluna IdInterno da tabela.
Aontece que ali na linha 11, tenho que jogar um valor inteiro. Tá dando erro naquela linha. Alguem pode ajudar?
Abraço!

9 Respostas

von.juliano

Altere essa linha 11, deixe assim:jtfCodigo.setText(String.valueOf(adolescente.getCodigo()));
Vê se é isso! Flw! :thumbup:

malonne

Ainda assim não deu certo!
Mais alguma dica?
Abraço!

von.juliano

Cola o stackTrace aqui pra ficar mais fácil de identificar o erro.

malonne

Não dá erro na execução, apenas joga um valor de memória no campo. Gostaria que aparecesse o número inteiro!

GustavoLaguna

malonne:
public Vector lista() { try { PreparedStatement comandoSQL; comandoSQL = Conexao.getInstance().prepareStatement("select MAX(IdInterno) from TabCadInterno"); ResultSet rs = comandoSQL.executeQuery(); Vector codigoMax = new Vector(); while(rs.next()) { Adolescente adolescente = new Adolescente(); adolescente.setNome(rs.getString("IdInterno")); codigoMax.addElement(adolescente); jtfCodigo.setText(adolescente.getCodigo()); } } catch (SQLException e) { e.printStackTrace(); } return null; }

Fiz esse código para que toda vez que chamar o método um JTextField seja preenchido com o último valor da coluna IdInterno da tabela.
Aontece que ali na linha 11, tenho que jogar um valor inteiro. Tá dando erro naquela linha. Alguem pode ajudar?
Abraço!

Entendi quase nada do seu código. Voce pega o maior valor do id da sua tabela e atribui ela a propriedade nome do seu objeto? Sério msm? =)

Enfim, o seu campo ID não é numérico? então use

int id = rs.getInt("IdInterno");
jtfCodigo.setText(id.toString());
malonne

ops confundi
o código é esse:

public Vector lista() { try { PreparedStatement comandoSQL; comandoSQL = Conexao.getInstance().prepareStatement("select MAX(IdInterno) from TabCadInterno"); ResultSet rs = comandoSQL.executeQuery(); Vector vMax = new Vector(); while (rs.next()) { Adolescente adolescente = new Adolescente(); adolescente.setCodigo(rs.getInt("IdInterno")); vMax.addElement(adolescente); jtfCodigo.setText(String.valueOf(adolescente.getCodigo())); } } catch (SQLException e) { e.printStackTrace(); } return null; }

o erro dá linha 9

malonne

alguma idéia?

kaique

Qual o tipo da coluna IdInterno na sua base de dados e o tipo do código na sua classe Adolescente?
Outra coisa, verifica se realmente é um inteiro o retorno de rs.getInt(“IdInterno”). Assim a gente vai diminuindo as probabilidades de erros.

[]'s.

malonne

Está como numeração automática no access. Será que é isso?

Criado 22 de abril de 2008
Ultima resposta 30 de abr. de 2008
Respostas 9
Participantes 4