Ola pessual to com um problema em minha aplicação, é o seguinte tenho que cadastrar livros, porem é necessario que o usuario informe o codigo do livro que pode ser o isbn, issn, cod Multimidia, e numAtivo, porem se ele não informar eve aparecer uma mensagem para ele informar o código e não deve gravar no banco enquanto nao informar e retornar para o campo do combo, fiz uma lógica, ele mostra a mensagem mas mostra gravação concluida, poderiam me dar uma luz por favor:[code]
private void buton_salvarActionPerformed(java.awt.event.ActionEvent evt) {
do{
try
{
String sqlinsert = "INSERT INTO Cadastro (Tipo,ISBN,ISSN,cod_Multimidia,num_Ativo,Titulo,Autor,Edicao,Assunto,Publicacao,Editora,Quantidade,Acervo_Restrito) values ('"+
combo_Tipo.getSelectedItem()+"', '"+
text_ISBN.getText()+"','"+
text_ISSN.getText()+"','"+
text_codMultimidia.getText()+"','"+
text_numAtivo.getText()+"','"+
text_Titulo.getText()+"','"+
text_Autor.getText()+"','"+
text_edicao.getText()+"','"+
Jcombo_Assunto.getSelectedItem()+"','"+
text_publicacao.getText()+"','"+
text_editora.getText()+"','"+
text_quantidade.getText()+"','"+
rbuton_sim.getText()+"')";
combo_Tipo.requestFocus();
if(text_ISBN.equals("")||text_ISSN.equals("")||text_numAtivo.equals("")||text_codMultimidia.equals(""))
{
JOptionPane.showMessageDialog(null,"Insira o código referente ao tipo de acervo");
combo_Tipo.requestFocus();
}else
cad_acervo.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação realizada com Sucesso");
cad_acervo.executeSQL("select * from Cadastro");
cad_acervo.resultset.first();
mostrar_dados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Problemas com: "+erro);
}
}while(text_ISBN.equals(null)||text_ISSN.equals(null)||text_numAtivo.equals(null)||text_codMultimidia.equals(null));
}
[/code]
renamed
Novembro 5, 2009, 12:24pm
#2
[code]else { //faltou essa chave…
cad_acervo.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,“Gravação realizada com Sucesso”);
cad_acervo.executeSQL(“select * from Cadastro”);
cad_acervo.resultset.first();
mostrar_dados();
} [/code]
ok?
Não ele continua realizando a gravação normalmente, não esta fazendo a condicional nem o looping.
Amigo tenta com esse codigo. ajustei algumas chaves que estavam faltando. Alem daquele que o amigo mostrou, faltava outro.
[code]
private void buton_salvarActionPerformed(java.awt.event.ActionEvent evt) {
do {
try {
String sqlinsert = "INSERT INTO Cadastro (Tipo,ISBN,ISSN,cod_Multimidia,num_Ativo,Titulo,Autor,Edicao,Assunto,Publicacao,Editora,Quantidade,Acervo_Restrito) values ('"+
combo_Tipo.getSelectedItem()+"', '"+
text_ISBN.getText()+"','"+
text_ISSN.getText()+"','"+
text_codMultimidia.getText()+"','"+
text_numAtivo.getText()+"','"+
text_Titulo.getText()+"','"+
text_Autor.getText()+"','"+
text_edicao.getText()+"','"+
Jcombo_Assunto.getSelectedItem()+"','"+
text_publicacao.getText()+"','"+
text_editora.getText()+"','"+
text_quantidade.getText()+"','"+
rbuton_sim.getText()+"')";
combo_Tipo.requestFocus();
if(text_ISBN.equals("")||text_ISSN.equals("")||text_numAtivo.equals("")||text_codMultimidia.equals("")) {
JOptionPane.showMessageDialog(null,"Insira o código referente ao tipo de acervo");
combo_Tipo.requestFocus();
} else {
cad_acervo.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação realizada com Sucesso");
cad_acervo.executeSQL("select * from Cadastro");
cad_acervo.resultset.first();
mostrar_dados();
}
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null,"Problemas com: "+erro);
}
} while(text_ISBN.equals(null)||text_ISSN.equals(null)||text_numAtivo.equals(null)||text_codMultimidia.equals(null));
}[/code]
Ele continua salvando normalmente, bom deixa ver se consigo explicar, queria que o usuario escolhesse o tipo de acervo no combo box e com isso ele habiita um campo para ser digitado porém quero que ele salve o registro somente se o usuario digitar o codigo no campo habilitado senão ~ele mostra a mensagem e foca no combo novamente para que o usuario digite, não quero que salve antes disso, quero que fique em looping ate ele digitar.
aGORA CONSEGUI QUE ELE IMPRIMISSE A MENSAGEM POREM ELE SALVA DO MESMO JEITO, JA COLOQUEI A CONDICIONAL DE TODOS OS JEITOS O QUE PODE ESTAR OCORRENDO???
duardor
Novembro 5, 2009, 5:34pm
#7
Cara é simples
Eu não vou te dar a resposta mas vou te apontar o erro, olhando vc vai rir de si mesmo.
text_ISBN.equals("")
Isso sempre é false.
lopima
Novembro 5, 2009, 5:53pm
#8
Cara realmente é muito simples… Acho que você está comparando o tipo de objeto errado.
Tenho certeza que você consegue resolver isso facinho
Vlw!