int valida = JOptionPane.showConfirmDialog(null,"Deseja Salvar o Registro");
if (valida==0)
{
if (jTextField_ID.getText().equals(""))
sql = "insert into membros_cad
(id,nome,sexo,datanascimento,rua,numero,bairro,cidade,cep,fone,fax,email,identidade,cpf,titeleitor,profissao,salario,materno,paterno,estcivil,conj
uge,datcasamento,cargo,ministerio, religanterior,datbatismo ,prbatismo ,aceitjesus ,libertacao ,igrjanterior ,datentrada ,datsaida ,curadivina
,comosoube,obs ) values
('"+id+"','"+nome+"','"+sexo+"','"+datanascimento+"','"+rua+"','"+numero+"','"+bairro+"','"+cidade+"','"+cep+"','"+fone+"','"+fax+"','"+email+"','"+identid
ade+"','"+cpf+"','"+titeleitor+"','"+profissao+"','"+salario+"','"+materno+"','"+paterno+"','"+estcivil+"','"+conjuge+"','"+datcasamento+"','"+cargo+"','"+
ministerio+"','"+religanterior+"','"+datbatismo+"','"+prbatismo+"','"+aceitjesus+"','"+libertacao+"','"+igrjanterior+"','"+datentrada+"','"+datsaida+"','"+c
uradivina+"','"+comosoube+"','"+obs+"')";
else
sql = "update membros_cad set
nome='"+nome+"',sexo='"+sexo+"',datanascimento='"+datanascimento+"',rua='"+rua+"',numero='"+numero+"',bairro='"+bairro+"',cidade='"+cidade+"',
cep='"+cep+"',fone='"+fone+"',fax='"+fax+"',email='"+email+"',identidade='"+identidade+"',cpf='"+cpf+"',titeleitor='"+titeleitor+"',profissao='"+profissa
o+"',salario='"+salario+"',materno='"+materno+"',paterno='"+paterno+"',estcivil='"+estcivil+"',conjuge='"+conjuge+"',datcasamento='"+datcasamento
+"'cargo='"+cargo+"'ministerio='"+ministerio+"'religanterior='"+religanterior+"',datbatismo='"+datbatismo+"',prbatismo='"+prbatismo+"',aceitjesus='"+
aceitjesus+"',libertacao='"+libertacao+"',igrjanterior='"+igrjanterior+"',datentrada='"+datentrada+"',datsaida='"+datsaida+"',curadivina='"+curadivina
+"',comosoube='"+comosoube+"',obs='"+obs+"'where id = '"+jTextField_ID.getText()+"'";
trabalhabanco.executesql(sql);
JOptionPane.showMessageDialog(null,"Dados Salvos Com Sucesso!");
limpar_tela();
preenche_tabela("");
}
else
{
JOptionPane.showMessageDialog(null,"Dados Não Foram Salvos!");
}
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro ao Salvar: "+erro);
}
}
}
Preciso de Ajuda erro ora-00933
9 Respostas
acho que vc teria que explicar melhor…
colar a pilha de erros, explicar o q vc ta fazendo, qndo acontece o erro…
Cara … oque eu vou falar não e o seu problema… Mas em vez de criar esse String ão com seu sql… Tenta usar um PreparedStatment. Além de visualmente mais bonito vc ainda protege contra sql injection…
Agora falando desse erro … Detalhe melhor …
Abs.
Retiro oque d :lol: isse no post anterior… Se vc tivesse usando preparedstatment não teria dado esse erro…
Error: ORA-00933: SQL command not properly ended
Cara, provavelmente o erro esteja aqui
/*Não há espaço entre a aspa simples e o where*/
+"',comosoube='"+comosoube+"',obs='"+obs+"'where id = '"+jTextField_ID.getText()+"'";
Mas não pode deixar de rir com isto
'"+aceitjesus+"'
Acho que o SQL é coisa do Demo e ele não aceitou Jesus…
Obs.: Quando postar alguma dúvida, problema ou o que seja, por gentileza, seja mais específico, diga quando ocorre e qual o stack trace completo.
Cara, provavelmente o erro esteja aqui/*Não há espaço entre a aspa simples e o where*/ +"',comosoube='"+comosoube+"',obs='"+obs+"'where id = '"+jTextField_ID.getText()+"'";Mas não pode deixar de rir com isto
'"+aceitjesus+"'Acho que o SQL é coisa do Demo e ele não aceitou Jesus…
Obs.: Quando postar alguma dúvida, problema ou o que seja, por gentileza, seja mais específico, diga quando ocorre e qual o stack trace completo.
Desculpe machado, mas as vezes me divirto com os teus comentários! rsrs…
E silveiras, tem uma parte do fórum especifica para SQL, procure postar no local correto.
E algo importante, você montou uma String gigante concatenando ela, caro colega, é uma péssima implementação essa.
Procure utilizar o StringBuilder.
Abraços.
Cara,
O erro não está claro do que está acontecendo, mas provavelmente é o que o DRSMACHADO comentou, mas procura seguir a idéia do VITORFARIAS, concerteza vc não teria esse tipo de problema em usar PreparedSTATEMENT, evitando assim problemas futuros. E fica mais fácil de identificar o problemas
Abraços
As aspas simples não teria que ser depois da aspas duplas pra começar?
está iniciando assim:
('"+id+"','"+nome+"'...
Teria que ser:
(" ' "+id+" ',' "+nome+"'...
O erro está na concatenação da String
Ficaria assim:
sql = "insert into membros_cad " +
"(id,nome,sexo,datanascimento,rua," +
"numero,bairro,cidade,cep,fone,fax,email,identidade," +
"cpf,titeleitor,profissao,salario,materno,paterno,estcivil," +
"conjuge,datcasamento,cargo,ministerio, religanterior," +
"datbatismo ,prbatismo ,aceitjesus ,libertacao ,igrjanterior " +
",datentrada ,datsaida ,curadivina,comosoube,obs ) " +
"values('"+id+"','"+nome+"','"+sexo+"','"+datanascimento+"','"+rua+
"','"+numero+"','"+bairro+"','"+cidade+"','"+cep+"','"+fone+"','"+fax+
"','"+email+"','"+identidade+"','"+cpf+"','"+titeleitor+"','"
+profissao+"','"+salario+"','"+materno+"','"+paterno+"','"
+estcivil+"','"+conjuge+"','"+datcasamento+"','"+cargo+"','"
+ministerio+"','"+religanterior+"','"+datbatismo+"','"
+prbatismo+"','"+aceitjesus+"','"+libertacao+"','"+
igrjanterior+"','"+datentrada+"','"+datsaida+"','"+curadivina+"','"+comosoube+"','"+obs+"')";
[code] sql = "update membros_cad set " +
"nome='"+nome+"',sexo='"+sexo+"',datanascimento='"+datanascimento+"',rua='"
+rua+"',numero='"+numero+"',bairro='"+bairro+"',cidade='"+cidade+"', "+
"cep='"+cep+"',fone='"+fone+"',fax='"+fax+"',email='"+email+"',identidade='"+identidade+
"',cpf='"+cpf+"',titeleitor='"+titeleitor+"',profissao='"+profissao+
"',salario='"+salario+"',materno='"+materno+"',paterno='"+paterno+"',estcivil='"+estcivil+
"',conjuge='"+conjuge+"',datcasamento='"+datcasamento+
"'cargo='"+cargo+"'ministerio='"+ministerio+"'religanterior='"+religanterior+
"',datbatismo='"+datbatismo+"',prbatismo='"+prbatismo+"',aceitjesus='"+aceitjesus+
"',libertacao='"+libertacao+"',igrjanterior='"+igrjanterior+"',datentrada='"+datentrada+
"',datsaida='"+datsaida+"',curadivina='"+curadivina+
"',comosoube='"+comosoube+"',obs='"+obs+"'where id = '"+jTextField_ID.getText()+"'";
Porem procure utilizar o PreparedStatement, fica mais legivel, mais facil de se construi a SQL e de se achar o erro, e o protege contra SQL Injection
Caso deseje saber sobre o PreparedStatement
http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html
O erro está na concatenação da StringFicaria assim:
sql = "insert into membros_cad " + "(id,nome,sexo,datanascimento,rua," + "numero,bairro,cidade,cep,fone,fax,email,identidade," + "cpf,titeleitor,profissao,salario,materno,paterno,estcivil," + "conjuge,datcasamento,cargo,ministerio, religanterior," + "datbatismo ,prbatismo ,aceitjesus ,libertacao ,igrjanterior " + ",datentrada ,datsaida ,curadivina,comosoube,obs ) " + "values('"+id+"','"+nome+"','"+sexo+"','"+datanascimento+"','"+rua+ "','"+numero+"','"+bairro+"','"+cidade+"','"+cep+"','"+fone+"','"+fax+ "','"+email+"','"+identidade+"','"+cpf+"','"+titeleitor+"','" +profissao+"','"+salario+"','"+materno+"','"+paterno+"','" +estcivil+"','"+conjuge+"','"+datcasamento+"','"+cargo+"','" +ministerio+"','"+religanterior+"','"+datbatismo+"','" +prbatismo+"','"+aceitjesus+"','"+libertacao+"','"+ igrjanterior+"','"+datentrada+"','"+datsaida+"','"+curadivina+"','"+comosoube+"','"+obs+"')";[code] sql = "update membros_cad set " + "nome='"+nome+"',sexo='"+sexo+"',datanascimento='"+datanascimento+"',rua='" +rua+"',numero='"+numero+"',bairro='"+bairro+"',cidade='"+cidade+"', "+ "cep='"+cep+"',fone='"+fone+"',fax='"+fax+"',email='"+email+"',identidade='"+identidade+ "',cpf='"+cpf+"',titeleitor='"+titeleitor+"',profissao='"+profissao+ "',salario='"+salario+"',materno='"+materno+"',paterno='"+paterno+"',estcivil='"+estcivil+ "',conjuge='"+conjuge+"',datcasamento='"+datcasamento+ "'cargo='"+cargo+"'ministerio='"+ministerio+"'religanterior='"+religanterior+ "',datbatismo='"+datbatismo+"',prbatismo='"+prbatismo+"',aceitjesus='"+aceitjesus+ "',libertacao='"+libertacao+"',igrjanterior='"+igrjanterior+"',datentrada='"+datentrada+ "',datsaida='"+datsaida+"',curadivina='"+curadivina+ "',comosoube='"+comosoube+"',obs='"+obs+"'where id = '"+jTextField_ID.getText()+"'";Porem procure utilizar o PreparedStatement, fica mais legivel, mais facil de se construi a SQL e de se achar o erro, e o protege contra SQL Injection
Caso deseje saber sobre o PreparedStatement
http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html
Tá, e se ele cair no else, não vai rolar erro?
Tem certeza disto?
Reveja o código e me diga...