[RESOLVIDO] Projeto em Java

46 respostas Resolvido
programação
F

Ola pessoal
Eu estou tendo um problema nesse codigo:
public void preencherTabela(String Sql){

ArrayList dados = new ArrayList();
    String[] colunas = new String[]{"Codigo","Nome","RG","CPF","NomeDoVeiculo","NúmeroDoApartamneto","NúmeroDaCasa","Placa"};
    conex.conecta(); 
    conex.executaSql(Sql);
    try{
         conex.rs.first();
         do{
             dados.add(new Object[]{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(SQLException ex){
           JOptionPane.showMessageDialog(rootPane, "Busque por outro morador para preencher tabela");           
       } 
    ModeloTabela modelo = new ModeloTabela(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.

Alguém pode me ajudar???

46 Respostas

R

Boa tarde, troque isso:

} catch(SQLException ex){
           JOptionPane.showMessageDialog(rootPane, "Busque por outro morador para preencher tabela");           
       }

por isso:

} catch(SQLException ex){
           ex.printStackTrace();           
       }

E manda o erro

F

Esta aqui o erro

org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next.

at org.postgresql.jdbc.PgResultSet.checkResultSet(PgResultSet.java:2770)

at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2039)

at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2495)

at telas.TelaMoradores.preencherTabela(TelaMoradores.java:684)

at telas.TelaMoradores.(TelaMoradores.java:31)

at telas.TelaPrincipal.jButtonCadMoradoresActionPerformed(TelaPrincipal.java:364)

at telas.TelaPrincipal.access$100(TelaPrincipal.java:16)

at telas.TelaPrincipal$2.actionPerformed(TelaPrincipal.java:134)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next.

at org.postgresql.jdbc.PgResultSet.checkResultSet(PgResultSet.java:2770)

at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2039)

at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2495)

at telas.TelaMoradores.preencherTabela(TelaMoradores.java:684)

at telas.TelaMoradores.jButtonSalvarActionPerformed(TelaMoradores.java:639)

at telas.TelaMoradores.access$000(TelaMoradores.java:20)

at telas.TelaMoradores$1.actionPerformed(TelaMoradores.java:133)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.Component.processMouseEvent(Component.java:6533)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6298)

at java.awt.Container.processEvent(Container.java:2236)

at java.awt.Component.dispatchEventImpl(Component.java:4889)

at java.awt.Container.dispatchEventImpl(Container.java:2294)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)

at java.awt.Container.dispatchEventImpl(Container.java:2280)

at java.awt.Window.dispatchEventImpl(Window.java:2746)

at java.awt.Component.dispatchEvent(Component.java:4711)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
R

Estranho, executei seu código aqui e funcionou.

at telas.TelaMoradores.preencherTabela(TelaMoradores.java:684)
Essa linha 684, é onde vc chama o método?

F

o que faco então???

R

Mudei pouca coisa (nome das colunas e algumas variaveis), mas funcionou:


R

Me manda o que tem na linha 684

F

684
e essa linha:

dados.add(new Object[]{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")});
R

OK, vamos fazer uns testes, troca o Do While, por While:

while (conex.rs.next()) {
            dados.add(new Object[]{
               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")});
        }
F

Não deu erro nenhum, mais ainda não esta salvando na tabela, o que eu faço???

Ficou assim agora
public void preencherTabela(String Sql){

ArrayList dados = new ArrayList();
    String[] colunas = new String[]{"Codigo","Nome","RG","CPF","NomeDoVeiculo","NúmeroDoApartamneto","NúmeroDaCasa","Placa"};
    conex.conecta(); 
    conex.executaSql(Sql);
    try{
         while(conex.rs.next()){
             dados.add(new Object[]{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(SQLException ex){
           ex.printStackTrace();          
       } 
    ModeloTabela modelo = new ModeloTabela(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();
}
R
while(conex.rs.next()){
....
} while(conex.rs.next());

Não precisa de dois while, só deixa o primeiro.


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

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();
        }else if(jTextFieldRG.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"preencha o rg para continuar");
            jTextFieldRG.requestFocus();
        }else if(jTextFieldCPF.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"preencha o cpf para continuar");
            jTextFieldCPF.requestFocus();
        }else if(jTextFieldNomeDoVeiculo.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"preencha o nomedoveiculo para continuar");
            jTextFieldNomeDoVeiculo.requestFocus();
        }else if(jTextFieldNúmeroDoApartamento.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"preencha o númerodoapartamento para continuar");
            jTextFieldNúmeroDoApartamento.requestFocus();
        }else if(jTextFieldNúmeroDaCasa.getText().isEmpty()){
            JOptionPane.showMessageDialog(null,"preencha o númerodacasa para continuar");
            jTextFieldNúmeroDaCasa.requestFocus();
        }else

        if(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

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:

private void campos_default() {
    //Limpar os Campos
    jTextFieldNome.setText("");
    jTextFieldRG.setText("");
    jTextFieldCPF.setText("");
    jTextFieldNomeDoVeiculo.setText("");
    jTextFieldPlaca.setText("");
    jTextFieldNúmeroDoApartamento.setText("");
    jTextFieldNúmeroDaCasa.setText("");

    //Setar como false
    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);
}

Aí na hora de chamar:

} else {
     ....
     campos_default();
}

Voltando a sua dúvida. Dá erro na hora de salvar? O que acontece?

F

quando eu clico no botão novo e coloco os dados pra depois apertar o botão salvar ele não aparece na tabela que eu tenha ai

R

Quando vc clicar em Novo, tem que setar seu botão como true

jButtonSalvar.setEnabled(true);
F

continua a mesma coisa da imagem de antes, o que eu faço???

R

Ahhhhh entendi, achei que o botão não estava funcionando.

Você quer atualizar sua tabela depois que inserir um dado??

Muda isso:

preencherTabela("select *from morador order by nome");

pra isso:

preencherTabela("SELECT * FROM morador ORDER BY nome");
F

continua como essa foto não salvando os dados na tabela, o que eu faço???

R

É difícil saber sem erros, sem nada. No seu banco tem algum dado?? Assim no olhometro é muito difícil de saber o real motivo

F

no meu banco de dados tem isso olha:

eu fiz as tabelas do banco e depois tentei inserir umas triggers e views nele.

R

Vixi… Parece que vc ta um pouco perdida. Tá vendo algum tipo de video aula?

F

não

R

Seria muito legal se você começasse, no Banco de Dados, inicialmente nós pegamos os dados das tabelas.

https://www.youtube.com/watch?v=nVv97kXW6uY.

F
mais foi quando eu coloquei as triggers

essas aqui olha:

CREATE OR REPLACE FUNCTION public.admin_usuario()

RETURNS trigger AS

$BODY$

begin

if NEW.nome<>OLD.nome then

insert into morador values(old.codigo, old.nome, new.nome, old.nome);

end if;

return new;

end;

$BODY$

LANGUAGE plpgsql VOLATILE

CREATE TRIGGER morador_usuario
BEFORE INSERT
ON public.morador
FOR EACH ROW
EXECUTE PROCEDURE public.mor_usuario();

F
ola bom dia

então mais isso aconteceu depois que eu coloquei as triggers no banco de dados

essas aqui olha:

CREATE OR REPLACE FUNCTION public.admin_usuario()

RETURNS trigger AS

$BODY$

begin

if NEW.nome<>OLD.nome then

insert into morador values(old.codigo, old.nome, new.nome, old.nome);

end if;

return new;

end;

$BODY$

LANGUAGE plpgsql VOLATILE

CREATE TRIGGER morador_usuario
BEFORE INSERT
ON public.morador
FOR EACH ROW
EXECUTE PROCEDURE public.mor_usuario();

Você pode me ajudar nisso???

R

Posso sim, mas vamos com calma. Pra eu poder te dar um auxilio melhor, me diga, o que você quer fazer de fato?

Quer mostrar os dados na tabela? Quer cadastrar um novo usuário?

F

eu quero cadastrar um novo usuário e depois mostrar na tabela utilizando o netbeans

R

Blz, vc não precisa de um Trigger pra isso. É algo bem básico. Você viu na sua tabela se tem algum dado cadastrado? Na tabela morador

F

então não tem nada porque eu não consigo cadastrar nenhum dado

F

não tem nada cadastrado na tabela morador

R

Entendi, da uma assistida nessas vídeo aulas que te mandei. Você vai conseguir entender melhor como funciona o insert no banco

F

só que a questão é que quando eu tento inserir um novo usuário na tabela e depois eu salvo ele para aparecer na tabela ele não faz nada

F

o meu problema esta sendo aqui olha

F

eu uso o botão de novo para colocar um usuário, ai eu coloco no botão de salvar e ele mostra isso

ai eu clico no sim e quando eu vou olhar na tabela não aconteceu nada

F

R

Manda o código que vc faz o insert

F

esse aqui que eu uso:

public void Salvar(BeansMoradores mod){
        conex.conecta();
        try {
            PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa) VALUES(?,?,?,?,?,?,?)");
            pat.setString(1,mod.getNome());
            pat.setString(2, mod.getRG());
            pat.setString(3, mod.getCPF());
            pat.setString(4, mod.getNomeDoVeiculo());
            pat.setString(5, mod.getNúmeroDoApartamento());
            pat.setString(6, mod.getNúmeroDaCasa());
            pat.setString(7, mod.getPlaca());
            
            JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
            
        } catch (SQLException ex) {
            JOptionPane.showConfirmDialog(null, "Erro ao inserir dados!/n Erro"+ex);
        }
        conex.desconecta();
        
    }
R

Boa, só faltou uma linha de código pra fazer funcionar. Coloca assim:

pat.setString(7, mod.getPlaca());
pat.executeUpdate();

Evita colocar acentos no seu código!!!

E troca isso:

JOptionPane.showConfirmDialog(null, "Erro ao inserir dados!/n Erro"+ex);

por isso:

ex.printStackTrace();
F

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

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

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

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???

private void jButtonCadVisitantesActionPerformed(java.awt.event.ActionEvent evt) {                                                     
         try {
            conecta.executaSql("select *from administrador where nome='"+jLabelUsuário.getText()+"'");
            conecta.rs.first();
            if(conecta.rs.getString("tipo").equals("administrador")){
                TelaVisitantes tela = new TelaVisitantes();
                tela.setVisible(true);
            }else{
                JOptionPane.showMessageDialog(rootPane,"Você não tem permissão para essa funcionalidade!\n Contate o administrador do sistema!");
            }            
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(rootPane,"Você não tem permissão para essa funcionalidade!\n Contate o administrador do sistema!");
        } 
         
    }
R
Solucao aceita
"select *from administrador where nome='"+jLabelUsuário.getText()+"'"

vc está esquecendo de dar os devidos espaços. Deixa assim:

SELECT * FROM administrador WHERE nome= '" + jLabelUsuário.getText() +"'
F

ok

F

eu só queria agradecer a sua ajuda muito obrigada mesmo…

R

oxi, ta achando que é assim de graça??? R$200 pela assistência! Brincadeira, precisando, venha ao fórum perguntar :slight_smile:

F

ok pode deixar

Criado 2 de novembro de 2019
Ultima resposta 4 de nov. de 2019
Respostas 46
Participantes 2