EJB faz um insert numa table  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
Claudia.pt
JavaTeenager
[Avatar]

Membro desde: 26/04/2005 12:38:48
Mensagens: 162
Localização: Portugal
Offline

Olá pessoal!
Ouvi dizer que vocês agora torcem pela nossa Selecção?
Obrigada

Bem tenho um form numa jsp que submeto a uma servlet e este passa os dados a um session bean que faz o insert de uma linha numa tabela.
Até aqui, tudo bem.
A linha é introduzida com sucesso na tabela, mas é gerada a seguinte excepção:



o código do bean:



É que é a 1ªvez que faço um insert, antes usava apenas selects!!
Obrigada
Cláudia
ClashFM
Thread.start()
[Avatar]

Membro desde: 28/06/2006 15:24:46
Mensagens: 25
Localização: Sampa
Offline

Oi Claudia,
pois é, na falta da nossa, vamos torcer pelos patrícios!

Sobre seu código, vc não precisa executar o ps.executeQuery(), pq o comando passado não é um SELECT; ao invés disso, chame o método ps.executeUpdate().

Ele retorna um int, que aponta o número de linhas atualizadas/excluidas/incluidas pelo comando passado.
Desnecessário dizer que não precisa da variável rs

Fica assim, então:



Cheers!

ClashFM
"You have the right to free speech as long as you're not dumb enough to actually try it"

Claudia.pt
JavaTeenager
[Avatar]

Membro desde: 26/04/2005 12:38:48
Mensagens: 162
Localização: Portugal
Offline



Isso dá erro!!
pq não aceita o insert de uma string??

Obrigada
Claudia
julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

Verifique novamente esse trecho de código,

ps = c.prepareStatement("INSERT INTO " + tab + " user" + VALUES (" + "CLAUDIA" + ")");

isso compila?

Tem certeza? Você não esqueceu algo?
Veja que você está a concatenar tab (variável) com a palavra fixa user, então o nome da tabela é o conteúdo de tab mais espaço em branco e a palavra user??

Acho que tem coisa errada aí, dê uma verificada.

Não sei no SQL Server, mas no Oracle um campo string deve ser gravado no banco entre aspas simples, exemplo 'CLAUDIA'.
Verifique isso também.


LASER
Light Amplification by Stimulated Emission of Radiation
Claudia.pt
JavaTeenager
[Avatar]

Membro desde: 26/04/2005 12:38:48
Mensagens: 162
Localização: Portugal
Offline

De facto, a query que postei não estava correcta.
Para que o pessoal possa aprender com os meus erros, fica aqui a correcção:



Espero que ajude alguém!
Cláudia
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team