PreparedStatement - Mostrar Query

9 respostas
D

Galera,

Há como no objeto PreparedStatement eu exibir a query que estou tentando executar? executUpdate.
Acho que teria que ser no PreparedStatement, pois é ele quem executa a query, está dando um erro esquesito e gostaria de ver como está sendo a query que ele está formando.
Grato.

9 Respostas

R

Diogo… até onde eu sei… não tem como… Mas qual o erro que está dando?

D

vai ser estranho explicar, é com formatação de datas!
o erro retornado é este:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).

Já olhei a query, passando valores, ele insere certo, precisaria saber como o prepared está montando a query para poder ver se há algum valor em formatos diferentes…
Você tem alguma ideia Renan?

R

Cara… erro estranho… dei uma procurada no google e nada…

//Que banco vc utiliza…? – Esquece

Dica: Tente montar a query sem usar o prepared statment e veja se rola…

A

Ia ser legal se vc podesse debugar com o eclipse!
Ai vc conseguiria olhar todas os valores do preparestateman em runtime!
O SQL server tem problemas com formatação de datas mesmo!
tem que ser com formato inverso ‘20050721’!!
Tentar debugar! Qual IDE vc usa?

R

“AndersonAugusto”:
Ia ser legal se vc podesse debugar com o eclipse!
Ai vc conseguiria olhar todas os valores do preparestateman em runtime!
O SQL server tem problemas com formatação de datas mesmo!
tem que ser com formato inverso ‘20050721’!!
Tentar debugar! Qual IDE vc usa?

Nossa pode´s crer… e eu perguntando o banco que ele trabalha… :oops: :oops:

J

Posta o codigo, pode ser que vc esteja setando os parametros com o indice/tipo incorreto.

valeuz…

D

Galera,

O erro é realmente de outro mundo, tem haver com data mesmo o formato.
Resumindo O objeto date do java só trabalha de uma maneira diferente do Banco de dados (SQL Server). Entao quando eu setava no preparadSTateman (ps.setDate) o formato era diferente do que o SQL Server aceita.
Tive que setar o valor numa query (em uma String) e executar essa String, Entenderam?
Mas perdi um dia por causa disso…
Muito escroto!

Nao ficou tao bunitinho, mas funciona blz!
hehehe
Até no debug vejo que o formato da data é diferente, e nao tem como eu converter ela, no formato que eu quero usando o objeto date, caso eu converta ou formte ela (DateFOrmat ou SimpleDateFormat) só é possível com String.

J

Por acaso vc não deveria usar um TimeStamp?

ps.setTimeStamp

valeuz…

D

sim estava exatamente assim!!!
mas timestamp nem seria necessário isso, pois o banco já faz isso! e para o campo datetime mesmo

Criado 20 de julho de 2005
Ultima resposta 22 de jul. de 2005
Respostas 9
Participantes 4