Ajuda método não faz update

Gostaria de saber porque esse método não está fazendo update no banco de dados, não acusa nenhum erro mas não executa.

public void obterTipo(String placa) throws Exception {
        Connection con = Conexao.obterCon();
        PreparedStatement ptmt = con.prepareStatement("SELECT m.cod_mens FROM mensalidade m,veiculo v WHERE m.cod_vei=v.cod_vei");
        ResultSet rs = ptmt.executeQuery();
        while (rs.next()) {
            Horista h = new Horista();
            h.setCodigo(rs.getInt("cod_mens"));           
            PreparedStatement psmt = con.prepareStatement("UPDATE veiculo v INNER JOIN mensalidade m SET v.tipo=? WHERE v.placa=? AND m.cod_vei=v.cod_vei");
            if (h.getCodigo().equals(0)) {
                h.setTipo("Horista");
            } else {
                h.setTipo("Mensalista");
            }
            psmt.setString(1, h.getTipo());
            psmt.setString(2, placa());
            psmt.executeUpdate();
        }
    }

Opa, boa tarde.

Você debugou o código ?? tipo, para não apresentar nenhum erro, eu acredito que teu select não retorna nada, ai ele não entra no while para executar o update.

Você verificou isso ???

[]'s

Até onde eu sei Inner Join é apenas pra select não serve para update, voce teria que fazer uma subquery

Com certeza…
Estranho não estar lancando exceção…provavelmente vc tratou de forma errada sua exceção como por exemplo com um catch vazio…

Bem, eu eu usei essa instrução em outra query e funcionou perfeitamente. Acho que o erro ta na comparação com campo vazio do banco de dados algume sabe como fazer?

inner join em update… funcionará no dia 31 de fevereiro de 9999.

wsm,

na verdade dá pra fazer update com inner join, só que eu não sei se vai acontecer o que você está querendo…
o uso do update com inner join funciona desse jeito:

UPDATE T1 SET T1.Campo = T2.Campo
FROM T1 INNER JOIN T2 ON T1.Chave = T2.Chave;

só que aí você atualiza dados de uma tabela a partir de outra tabela. não sei se é exatamente isso que você quer.

Valeu pela ajuda, consegui resolver .