Ola pessoal
Eu estou tendo um problema nesse codigo:
public void preencherTabela(String Sql){
ArrayListdados=newArrayList();String[]colunas=newString[]{"Codigo","Nome","RG","CPF","NomeDoVeiculo","NúmeroDoApartamneto","NúmeroDaCasa","Placa"};conex.conecta();conex.executaSql(Sql);try{conex.rs.first();do{dados.add(newObject[]{conex.rs.getInt("codigo"),conex.rs.getString("nome"),conex.rs.getString("rg"),conex.rs.getString("cpf"),conex.rs.getString("nomedoveiculo"),conex.rs.getString("númerodoapartamento"),conex.rs.getString("númerodacasa"),conex.rs.getString("placa")});}while(conex.rs.next());}catch(SQLExceptionex){JOptionPane.showMessageDialog(rootPane,"Busque por outro morador para preencher tabela");}ModeloTabelamodelo=newModeloTabela(dados,colunas);jTableMoradores.setModel(modelo);jTableMoradores.getColumnModel().getColumn(0).setPreferredWidth(80);jTableMoradores.getColumnModel().getColumn(0).setResizable(false);jTableMoradores.getColumnModel().getColumn(1).setPreferredWidth(140);jTableMoradores.getColumnModel().getColumn(1).setResizable(false);jTableMoradores.getColumnModel().getColumn(2).setPreferredWidth(100);jTableMoradores.getColumnModel().getColumn(2).setResizable(false);jTableMoradores.getColumnModel().getColumn(3).setPreferredWidth(100);jTableMoradores.getColumnModel().getColumn(3).setResizable(false);jTableMoradores.getColumnModel().getColumn(4).setPreferredWidth(122);jTableMoradores.getColumnModel().getColumn(4).setResizable(false);jTableMoradores.getColumnModel().getColumn(5).setPreferredWidth(164);jTableMoradores.getColumnModel().getColumn(5).setResizable(false);jTableMoradores.getColumnModel().getColumn(6).setPreferredWidth(144);jTableMoradores.getColumnModel().getColumn(6).setResizable(false);jTableMoradores.getColumnModel().getColumn(7).setPreferredWidth(114);jTableMoradores.getColumnModel().getColumn(7).setResizable(false);jTableMoradores.getTableHeader().setReorderingAllowed(false);jTableMoradores.setAutoResizeMode(jTableMoradores.AUTO_RESIZE_OFF);jTableMoradores.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);conex.desconecta();}
Todo vez que eu abro o botão por exemplo de moradores ela aparece isso: Busque por outro morador para preencher tabela e quando eu tento salvar na tabela e aparece isso: Busque por outro morador para preencher tabela também.
Como assim salvando? Esse método aí é pra mostrar os dados do banco na tabela. Mostra o método pra salvar os dados no banco
F
fabianamp
eu sei , mais eu tenho um botão pra salvar os dados no banco de dados
com esse código:
if(jTextFieldNome.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o nome para continuar");jTextFieldNome.requestFocus();}elseif(jTextFieldRG.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o rg para continuar");jTextFieldRG.requestFocus();}elseif(jTextFieldCPF.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o cpf para continuar");jTextFieldCPF.requestFocus();}elseif(jTextFieldNomeDoVeiculo.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o nomedoveiculo para continuar");jTextFieldNomeDoVeiculo.requestFocus();}elseif(jTextFieldNúmeroDoApartamento.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o númerodoapartamento para continuar");jTextFieldNúmeroDoApartamento.requestFocus();}elseif(jTextFieldNúmeroDaCasa.getText().isEmpty()){JOptionPane.showMessageDialog(null,"preencha o númerodacasa para continuar");jTextFieldNúmeroDaCasa.requestFocus();}elseif(salvar==true){mod.setNome(jTextFieldNome.getText());mod.setRG(jTextFieldRG.getText());mod.setCPF(jTextFieldCPF.getText());mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());mod.setPlaca(jTextFieldPlaca.getText());mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());control.Salvar(mod);jTextFieldNome.setText("");jTextFieldRG.setText("");jTextFieldCPF.setText("");jTextFieldNomeDoVeiculo.setText("");jTextFieldPlaca.setText("");jTextFieldNúmeroDoApartamento.setText("");jTextFieldNúmeroDaCasa.setText("");jTextFieldNome.setEnabled(false);jTextFieldRG.setEnabled(false);jTextFieldCPF.setEnabled(false);jTextFieldNomeDoVeiculo.setEnabled(false);jTextFieldPlaca.setEnabled(false);jTextFieldNúmeroDoApartamento.setEnabled(false);jTextFieldNúmeroDaCasa.setEnabled(false);jButtonSalvar.setEnabled(false);jButtonCancelar.setEnabled(false);preencherTabela("select *from morador order by nome");}else{mod.setCodigo(Integer.parseInt(jTextFieldCOD.getText()));mod.setNome(jTextFieldNome.getText());mod.setRG(jTextFieldRG.getText());mod.setCPF(jTextFieldCPF.getText());mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());mod.setPlaca(jTextFieldPlaca.getText());mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());control.Editar(mod);jTextFieldCOD.setText("");jTextFieldNome.setText("");jTextFieldRG.setText("");jTextFieldCPF.setText("");jTextFieldNomeDoVeiculo.setText("");jTextFieldPlaca.setText("");jTextFieldNúmeroDoApartamento.setText("");jTextFieldNúmeroDaCasa.setText("");jTextFieldNome.setEnabled(false);jTextFieldRG.setEnabled(false);jTextFieldCPF.setEnabled(false);jTextFieldNomeDoVeiculo.setEnabled(false);jTextFieldPlaca.setEnabled(false);jTextFieldNúmeroDoApartamento.setEnabled(false);jTextFieldNúmeroDaCasa.setEnabled(false);jButtonSalvar.setEnabled(false);jButtonNovo.setEnabled(true);jButtonCancelar.setEnabled(false);preencherTabela("select *from morador order by nome");}
R
rodriguesabner
nossa, seu código está um pouco bagunçado.
antes de começar vou te dar umas dicas, até pra vc se achar melhor depois.
Quando for fazer coisas do tipo: limpar campos, setar como false e etc, cria um método, e depois só chama o método. Tipo:
JOptionPane.showConfirmDialog(null,"Erro ao inserir dados!/n Erro"+ex);
por isso:
ex.printStackTrace();
F
fabianamp
deu certo isso, agora eu preciso de outro favor como eu libero o usuário a utilizar por exemplo só o cadastro de morador ???
R
rodriguesabner
Mostrou na tabela??
Há varios jeitos de fazer isso. O mais simples é cadastrar o usuário com permissão, a dele pode ser ‘normal’, e aí você limita alguns recursos dele, depois no Java em si, vc pode dar um setVisible(false); nas opções que não deseja mostrar ao usuário.
F
fabianamp
essa mensagem não mostrou não, eu so queria falar deu certo o seu conselho de antes sobre o codigo eu enviei pra voce antes
F
fabianamp
eu fiz esse código de permissão, mais ele só esta permitindo que a administrador vejo e não o usuário , o que eu faço???
privatevoidjButtonCadVisitantesActionPerformed(java.awt.event.ActionEventevt){try{conecta.executaSql("select *from administrador where nome='"+jLabelUsuário.getText()+"'");conecta.rs.first();if(conecta.rs.getString("tipo").equals("administrador")){TelaVisitantestela=newTelaVisitantes();tela.setVisible(true);}else{JOptionPane.showMessageDialog(rootPane,"Você não tem permissão para essa funcionalidade!\n Contate o administrador do sistema!");}}catch(SQLExceptionex){JOptionPane.showMessageDialog(rootPane,"Você não tem permissão para essa funcionalidade!\n Contate o administrador do sistema!");}}
R
Solucao aceita
rodriguesabner
"select *from administrador where nome='"+jLabelUsuário.getText()+"'"
vc está esquecendo de dar os devidos espaços. Deixa assim: