stmt.executeUpdate ?  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

Pessoal eu faço um update no PGADMIN 3 funciona perfeitamente, mas quando faço isso usando stmt.executeUpdate não funciona, segue o cóidigo:


This message was edited 1 time. Last update was at 27/07/2011 14:23:05


Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
rodrigocolasso
JavaChild
[Avatar]

Membro desde: 03/03/2009 15:23:36
Mensagens: 108
Localização: Curitiba / PR
Offline

Mostra algum erro, ou somente não realiza o update ?

Na linha 13 você coloca um ";" isso só deve ser feito ao finalizar a query, não é verdade ?

E mais uma coisa, no seu método de pegar a conexão você se conecta ao banco de nome "nutec", porém ao fazer o update você pega a tabela solicitacao do banco "sigi", tira esse sigi desse trecho e também dos from, que a propósito estão fazendo um pseudo join ...

This message was edited 2 times. Last update was at 27/07/2011 14:44:30

juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

rodrigocolasso Boa tarde tudo bom ?

Amigão isso mesmo, não da erro algum nem retorna o valor,



isto aqui ele seta no banco o SQL nao !

obrigado.

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

13 ja apaguei o ;.. ficou do mesmo modo..

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
rodrigocolasso
JavaChild
[Avatar]

Membro desde: 03/03/2009 15:23:36
Mensagens: 108
Localização: Curitiba / PR
Offline

Você viu que eu editei meu último post ?
rodrigocolasso
JavaChild
[Avatar]

Membro desde: 03/03/2009 15:23:36
Mensagens: 108
Localização: Curitiba / PR
Offline

rodrigocolasso wrote:Você viu que eu editei meu último post ?


rodrigocolasso wrote:Mostra algum erro, ou somente não realiza o update ?

Na linha 13 você coloca um ";" isso só deve ser feito ao finalizar a query, não é verdade ?

E mais uma coisa, no seu método de pegar a conexão você se conecta ao banco de nome "nutec", porém ao fazer o update você pega a tabela solicitacao do banco "sigi", tira esse sigi desse trecho e também dos from, que a propósito estão fazendo um pseudo join ...
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline



Se eu fazer isso, da um erro :

org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a "."


e tbm da erro quando faço assim no pgadmin 3 !

valeu.

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
rodrigocolasso
JavaChild
[Avatar]

Membro desde: 03/03/2009 15:23:36
Mensagens: 108
Localização: Curitiba / PR
Offline

Blz, então coloca de volta e quanto ao nome do banco alguma coisa ? Eu vi que você colocou thi.session.update(); você vai utilizar o hibernate ?
rodrigocolasso
JavaChild
[Avatar]

Membro desde: 03/03/2009 15:23:36
Mensagens: 108
Localização: Curitiba / PR
Offline

juniorsatanas wrote:

Se eu fazer isso, da um erro :

org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a "."


e tbm da erro quando faço assim no pgadmin 3 !

valeu.


E você viu que na linha 13 você não colocou um espaço antes no AND? Mesmo assim da o erro ?
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

não esse update era para o Sim..

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

Quando eu eu uso : stmt.executeQuery funciona mas retorna um erro.
Quando eu uso : stmt.executeUpdate não funciona e nao retorna nada..


que desgraça !

This message was edited 1 time. Last update was at 27/07/2011 15:30:27


Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
JonRocha
Thread.start()

Membro desde: 21/12/2010 16:50:03
Mensagens: 43
Offline

Olá, Rodrigo

"nutec" é o nome do banco e "sigi" é o nome do schema.

Uma forma disso funcionar é, ao invés de UPDATE, fazer um SELECT usando stmt.executeQuery e setar o campo
solicitacao.soliSomaServicos com o valor desse retorno, no entanto o retorno do SELECT é do tipo ResulSet, mas o tipo
do campo soliSomaServicos é double, então é preciso converter ResultSet para double.

Existe algum método que faça essa conversão de ResultSet para double?

O temor ao Senhor é o princípio da sabedoria, mas os loucos desprezam a sabedoria e o ensino. Pv 1:7
[Email]
gomesrod
GUJ Ranger
[Avatar]

Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline

O método executeUpdate retorna um int, que é o número de registros afetados. No update de um registro (pela PK), evidentemente esse valor deve ser 1. Confira o que está retornando. Se vier 1, então continue lendo...

JonRocha wrote:Uma forma disso funcionar é, ao invés de UPDATE, fazer um SELECT usando stmt.executeQuery e setar o campo
solicitacao.soliSomaServicos com o valor desse retorno, no entanto o retorno do SELECT é do tipo ResulSet, mas o tipo
do campo soliSomaServicos é double, então é preciso converter ResultSet para double.
Existe algum método que faça essa conversão de ResultSet para double?


Com certeza esse é o método mais adequado, por dois motivos:

1) É meio zuado ficar misturando o uso do hibernate com execução de queries via jdbc. Mesmo quando uma consulta específica não puder ser feita automaticamente, utilize o recurso de query nativa do próprio hibernate.
2) Provavelmente é a causa do problema: a query faz update mas logo em seguida é feito um update na entidade usando um objeto que já estava carregado anteriormente! A não ser que a implementação do hibernate dê um jeito (não sei como funciona nesse caso), o segundo update vai "matar" o primeiro.

Sobre a conversão do Resultset: a consulta usando NativeQuery do hibernate resolveria isso, retornando diretamente o tipo correto.

E pra terminar só mais uma frescurinha: tente deixar essa consulta/cálculo do valor em um método separado, separaria melhor as responsabilidades.
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

gomesrod

È eu concordo, tem que separar isso, ou melhor usar Critéria para fazer isso, pois assim o HIBERNATE gerencia tudo !

abraço.

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team