[Resolvido :D] Erro de Sintaxe SQL

2 respostas
charleston10

Fala galera blz?

Estou com um problema bem simples é na sintaxe SQL do meu projeto,
é de um HelpDesk está funcionando na web, mas decidi fazer um programa desktop para o operador
de suporte está funcionando até então..

O problema que aconteceu é que não estou conseguindo fazer um UPDATE
estou usando o banco de dados Postgres

//active service
        db.sSQL = "UPDATE chat_ping SET"
                 + "      atendimento = true"
                 + "   WHERE id_chatusuario ="
                 + "  ("
                 + "     SELECT MAX(ccv.id_chatusuario)  FROM chat_chatusuario_vinculo ccv"
                 + "          INNER JOIN chat_ping cp"
                 + "               ON cp.id_chatusuario = ccv.id_chatusuario"
                 + "     WHERE ccv.id_chat = ?"
                 + "  )";           
        
        try{

           db.pst = db.con.prepareStatement(db.sSQL);

           db.pst.setInt(1, reg.getIdChat());

           db.st = db.con.createStatement();

           db.st.executeUpdate(db.sSQL);
           
        }catch(SQLException ex){
           JOptionPane.showMessageDialog(null,"Houve um erro inesperado \n\n "
                   + "(Update chat_ping ...) \n\n" + ex);
           ex.printStackTrace();
        }
O SQL esta funcionando perfeitamente no banco de dados sem nenhum erro mas quando vou rodar no java da esse erro.
org.postgressql.util.PSSQLException: ERRO: syntax erro at or near ")"
posição: 260
pelo que eu vi ta tudo normal..

tentei até mudar o statment para db.st.execute(db.sSQL); mas nao altera em nada, mesmo erro..

deve ser erro baba.. mas pelo que percebo não há nada pra dar erro.. software é fogo.. mas vamos lá..

ressaltando que o subselect esta retornando somente um valor, entao nao é nele tambem..

2 Respostas

luksrn

Olha se isso resolve,

db.pst = db.con.prepareStatement(db.sSQL);  
db.pst.setInt(1, reg.getIdChat());    
db.pst.executeUpdate();
charleston10

Eu consegui resolver aqui de outra maneira, criei uma Function…

Acredito que era bem isso mesmo o erro de sintaxa, sabia que tava comendo bronha…

kkkk, valeu…

Criado 22 de janeiro de 2013
Ultima resposta 22 de jan. de 2013
Respostas 2
Participantes 2