Pq essa trigger não esta funcionando? (BD)

0 respostas
R

Estou usando o mesmo codigo para incrementar um campo da minha tabela os dois campos são inteiros, um funciona e o outro não pq? se alguem conseguir encher o que estou fazendo de errado agradeço:

Não funciona
public void incrementaTesteCalculo(){
    try{
        Connection conn = Conexao.getConexao();
        Statement stmt = conn.createStatement();
        //ResultSet rs= stmt.executeQuery("Select max(Teste)+1 as novo_teste from Calculo where Piloto = '"+jtPilotoP.getText()+"' and Circuito = '"+jtCircuitoP.getText()+"' and Data = "+ data);
        ResultSet rs= stmt.executeQuery("Select max(Teste)+1 as incremente from Calculo");
        System.out.println(jtPilotoP.getText()+"  "+jtCircuitoP.getText()+"  "+data);
        if(rs.next())
            testeCalculo = Integer.parseInt(rs.getString("incrementa")); //testeCalculo = rs.getInt("incremente");
        System.out.println("cheguei aki2");
        stmt.close();
        //rs.close();
        conn.close();

    }catch (Exception e){
        System.out.println("Erro: " + e.getMessage());
    }
    if(testeAcelerando == 0){
        testeCalculo = 1;
    }
}

Se deixo assim: testeCalculo = Integer.parseInt(rs.getString("incrementa")); da essa mensagem de erro Erro: null e se faço isso testeCalculo = rs.getInt("incremente");, não da nenhuma mensagem de erro mas tbm não incrementa.

Esse da certo
public void incrementaCodigoCalculo(){
    try{
        Connection conn = Conexao.getConexao();
        Statement stmt = conn.createStatement();
        ResultSet rs= stmt.executeQuery("Select max(Codigo)+1 as novo_codigo from Calculo");
        if(rs.next())
            codigoCalculo = Integer.parseInt(rs.getString("novo_codigo"));
        stmt.close();
        conn.close();

    }catch (Exception e){
        System.out.println("Erro: " + e.getMessage());
    }
    if(codigoCalculo == 0){
        codigoCalculo = 1;
    }
}

Vlw

Criado 28 de outubro de 2007
Respostas 0
Participantes 1