Problema no prepareStatement

5 respostas
F

Senhores,

Estou com a seguinte situação:
Tenho o codigo a seguir:

conn = getConnection(); 
    
        String insertService = "insert into sr (cod_status, cod_sr, cod_cliente, cod_solicitante, "
        +" cod_aprovador, data_requisicao, data_previsao, janela, tipo_indisponibilidade, "
        +"detalhes_indisponibilidade, tipo_intervencao, detalhes_intervencao, origem_export, destino_import, "
        +" usuario_criacao, tablespace_destino, scripts, descricao) values (1, :1,:2,:3,:4,to_date(':5','dd/mm/yyyy HH:MI'), "
        +"to_date(':6','dd/mm/yyyy HH:MI'),:7,:8,:9,:10,:11,:12,:13,:14,:15,:16,:17)";
        
        ps = conn.prepareStatement(insertService);
        
        ps.setInt(1,vo.getCod_sr());
        ps.setInt(2,vo.getCod_cliente());
        ps.setInt(3,vo.getCod_solicitante());
        ps.setInt(4,vo.getCod_aprovador());
        ps.setString(5,vo.getData_requisicao());
        ps.setString(6,vo.getData_previsao());
        ps.setInt(7,vo.getJanela());
        ps.setInt(8,vo.getTipo_indisponibilidade());
        ps.setString(9,vo.getDetalhes_indisp());
        ps.setInt(10,vo.getTipo_intervencao());
        ps.setString(11,vo.getDetalhes_interv());
        ps.setString(12,vo.getOrigem_export());
        ps.setString(13,vo.getDestino_import());
        ps.setString(14,vo.getUsuario_criacao());
        ps.setString(15,vo.getTablespace());
        ps.setString(16,vo.getScripts());
        ps.setString(17,vo.getDescricao());
        ps.executeUpdate();
        ps.close();

porém ao executar esse codigo, não acontece nada, não gera erro e tambem não inclui a linha na tabela.

Aonde pode estar o erro?

Obrigado,

Fabiano.

5 Respostas

C

Não é ? no lugar dos números: :1,:2,:3,:4 ??

F

Já tentei com ? e tambem não funcionou…

C

Estranho, era pra funcionar. Imprima o valor final da String insertService na linha de comando e tente executar no banco de dados pra ver no que dá.

FieroddPJ

vc está usando MySQL?

estou trabalhando atualmente com MySQL e reparei que ele suprime alguns erros como por exemplo se vc definiu uma coluna como not null, mas nesse insert vc não esta inserindo conteúdo nessa coluna (espero que esteja compreensível) … nesse caso simplesmente não acontece nada, faça como o Carneiro disse e execute via linha de comando ou com alguma interface de Queries, como o phpMyAdmin ou o Query Browser da propria MySQL.

Só como complemento, vc pode utilizar números no lugar dos :? na sintaxe do sql nos statements

C

Amigo… vc não esta usando o PreparedStatement corretamente… de uma olhada AQUI e confira o exemplo.

Criado 16 de abril de 2007
Ultima resposta 17 de abr. de 2007
Respostas 5
Participantes 4