☕️ Java MySQL - Sistema Completo - Cadastro de clientes - CRUD DELETE - #21

Поділитися
Вставка
  • Опубліковано 30 лис 2024

КОМЕНТАРІ • 72

  • @JoseRibeiro-it2xu
    @JoseRibeiro-it2xu 9 місяців тому +1

    Vamo ki vamo - mais uma excelente aula. 100%.

  • @AurelinoSobrinho
    @AurelinoSobrinho 3 роки тому +1

    opa, professor nesta aula vi que eh um mestre que ensina uns pulos do gato. na aula passada testei todos botões e deixei um comentário aki pra enviar quando terminasse a playlist mas aki solucionou o bug. parabéns continue ensinando bem bem professor. muita saúde e paz.

  • @marcoscosta935
    @marcoscosta935 4 роки тому +2

    Acho que cheguei bem tarde nesta vida de java, mas vou falar, mesmo estes videos sendo de 2016, continuam sendo os melhores. Não encontrei nada que chegasse nem perto do conhecimento passado pelo professor.

  • @Deankilleer
    @Deankilleer Рік тому +1

    Tá muito legal o curso, nem acredito que estou aprendendo (de maneira simples e tranquila) a criar um sistema de verdade :)
    Ansioso pra ir para a aula da tela de OS.
    Obrigado Prof!

  • @gadgetpro1858
    @gadgetpro1858 8 років тому +5

    Parabéns. Precisamos de professores assim nas faculdades !!!

  • @kikomineiro1234
    @kikomineiro1234 5 років тому +1

    Muito bacana seu curso professor parabens!!

  • @alanbarbosa1059
    @alanbarbosa1059 2 роки тому +1

    To ficando bom em ler o prompt

  • @fernandoprogramacao
    @fernandoprogramacao 8 років тому

    Já antecipei, e estou fazendo a tela de OS e codificando ela.

  • @VianaVideos
    @VianaVideos 4 роки тому +1

    0:58 já tava triste, achando que vc não ia corrigir. Kkk. Valeu professor. Aulas nota 10

  • @fernandoprogramacao
    @fernandoprogramacao 8 років тому +1

    Vc é o cara professor, melhor didática que já vi

  • @wesleysantos6289
    @wesleysantos6289 6 років тому +2

    Mais uma etapa concuida com sucesso!

  • @7Pagina
    @7Pagina 8 років тому +1

    Parabéns, suas aulas são show.

  • @lucasveras2850
    @lucasveras2850 3 роки тому

    As suas Aulas são muito boas.
    Percebi que ao clicar na tabela ele desabilita o botão Adicionar, e só volta a ficar habilitado se for feita uma alteração ou Deletar algum cliente, ou sé você fechar o JInternalFrame e abrir novamente, se clicar por engano na tabela teria que fazer uma dessas opções para voltar a habilitar o botão Adicionar, não tendo como voltar. Consegui resolver dessa forma.
    private void pesquisar() {
    String sql = "SELECT * from CLIENTE "
    + "where nomecli LIKE ?";
    try {
    prep = conexao.prepareStatement(sql);
    prep.setString(1,txtCliPesq.getText() + "%");
    resul= prep.executeQuery();
    tbCli.setModel(DbUtils.resultSetToTableModel(resul));
    /*Por mais que tenha sido desabilitado o botão Adicionar quando clica na tabela, quando começar a escrever algo no campo de pesquisa
    ele reabilita o botão Adicionar.
    */
    btnAdicionar.setEnabled(true);
    } catch (Exception e) {
    JOptionPane.showMessageDialog(null,e);
    }
    }

  • @devanirdutrapereira2122
    @devanirdutrapereira2122 8 років тому

    Professor parabéns, já fui seu aluno no SENAC gosto muito do seu método de ensinar estou gostando muito das aulas e ansioso para ver o sistema todo pronto. já tenho um que desenvolvi em VB, mas como estou estudando java esta sendo muito útil para mim estou usando este sistema para o trabalho da faculdade.

  • @josegeraldo268
    @josegeraldo268 8 років тому +1

    Parabéns Professor, ótimo curso, estou acompanhando e aprendendo muito, foi melhor que encontrei até agora, didática e organização do código excelente.
    Nessa aula21, ao clicar no cadastro desativa-se o botão 'Adicionar' depois de clicar em 'Excluir' ele ativa novamente. Mas se o usuário for cadastrar um cliente em seguida, e clicar novamente em qualquer cadastro na tabela, o botão 'Adicionar' desativa novamente.
    Para resolver esse problema, adicionei um botãozinho baixo da tabela, na mesma linha do 'Id', e coloquei o método limpar_campos nele, incluindo no método o 'IdCli', e resolveu esse problema. Não sei se essa era a maneira correta, mas deu certo.

  • @cnsclaudio
    @cnsclaudio 8 років тому

    Muito bom......

  • @serginhoprocol2595
    @serginhoprocol2595 7 років тому +3

    Parabéns, professor, um trabalho muito legal.

  • @alavec
    @alavec 8 років тому +1

    Sempre ligado nas aulas, professor! Tô ansioso para chegar logo no final para ver tudo funcionando. Obrigado! Grande abraço!

  • @WellingtonSilva-sr8ju
    @WellingtonSilva-sr8ju 8 років тому +1

    Ótimo trabalho Professor, ansioso para ver os próximos vídeos , Sucesso em dobro para você.

  • @netosantos1054
    @netosantos1054 8 років тому +2

    Ansioso pelas próximas aulas. :)

  • @YvaTavares_oficial
    @YvaTavares_oficial 8 років тому +1

    Muito bom, professor, eu ja comecei num outro projecto baseado nestes conhecimentos. Continua com as aulas. Um abraço

  • @professorramos
    @professorramos 8 років тому +1

    █▬█ █ ▀█▀ Acesse o PORTAL www.aulaEAD.com, lá tem Treinamentos Completos 100% Grátis com Certificado de Conclusão !!! EXCEL 2016, LINUX, WEB, Redes, Programação, Windows Server, CISCO, Servidores Linux, Firewall, VOIP e muito mais ...

  • @marlontomazelitomazeli7707
    @marlontomazelitomazeli7707 8 років тому

    muito bom...

  • @divinorodrigues9511
    @divinorodrigues9511 8 років тому

    Excelente aula! Aguardando a próxima ansioso. :)

  • @willianbarata2313
    @willianbarata2313 6 років тому +1

    Parabéns, muito obrigado...

  • @codigoabstrato4983
    @codigoabstrato4983 8 років тому +2

    Estou preparado pra o proximo episodio hhhh!
    Sucesso!

  • @cris6954
    @cris6954 8 років тому +1

    olá professor, suas aulas são postadas de quanto em quanto tempo?
    estou construindo esse sistema de OS junto com o senhor e estou ansioso para terminá-lo e executar ele por completo, são ótimas essas aulas e bem explicadas... aguardo...

  • @tiagocarvalho8953
    @tiagocarvalho8953 8 років тому +1

    Excelente aula professor. parabéns!
    Como eu faço para deixar esse projeto com a tela inteira?

  • @odairjose4862
    @odairjose4862 4 роки тому

    Ola professor muito show suas aulas .
    Gostaria tirar uma duvida se eu não quiser excluir o cliente e sim colocar ele em modo inativo e algum dia usar ele de novo sem excluir como posso fazer ?

  • @fagnersantos811
    @fagnersantos811 8 років тому

    Olá professor, desde já te agradeço pelo excelente curso gratuito que você disponibilizou para o público, enfim, a minha dúvida é a seguinte: Como deixar o meu sistema tipo widescreen (ou com a resolução automática). Muito obrigado.

  • @joselalau1
    @joselalau1 8 років тому

    qual é a previsão para o término desse projeto????
    pergunto isso pois estou estudando java e queria pegar algo já com a mão na massa pra ver se me ajuda a entender melhor a linguagem
    Mesmo assim, obrigado pelas aulas pois ja ví duas e aprendi bastante

  • @frozijr
    @frozijr 8 років тому

    Boa tarde, gostaria que na tabela eu escolhesse as colunas que irão ap0arecer e não todas as colunas do banco de dados

  • @fernandoprogramacao
    @fernandoprogramacao 8 років тому

    Quando que é a próxima aula, estou ansioso, kkkkkk.......

  • @netosantos1054
    @netosantos1054 8 років тому

    Gostaria de saber como criar relatório de cada cliente em particular.

  • @patricksilva5179
    @patricksilva5179 8 років тому

    professor boa noite e se eu colocar um campo cpf na tabela e colocar ela como unique ele resolveria esse problema de duplicidade nas tabelas ?

  • @RafaelPena_92
    @RafaelPena_92 8 років тому

    Professor, estou com uma duvida.. gostaria de fazer uma aplicação que, conforme o usuario vai escrevendo em um jtexfield, apareça tipo uma abinha em baixo do textfield com os resultados (parecido com o pesquisar do youtube). Preciso importar alguma biblioteca ou nem, muito obrigado.

  • @7Pagina
    @7Pagina 8 років тому

    Professor, se o cliente pedisse para, que no cadastro de clientes, tivesse o CNPJ, CPF e ou Inscrição estadual ou municipal?
    Esses campos por ser campos especiais necessitar consulta para não repetir em clientes diferente.
    Outro ponto é Como consultar mais de um campo no banco dedados. (Exemplo: Consultar alem de nome, por CNPJ etc)..
    Outro ponto, se o cadastro de Clientes tiver mais de 10 campos, como configurar a tabela para ver esses campos.
    Pode nos orientar como fazer?
    Grato

  • @clodoaldojunior2222
    @clodoaldojunior2222 8 років тому

    professor você tem um código para verificação de CPF? poderia disponibilizar ?

  • @WESLEYROCHADASILVALEO
    @WESLEYROCHADASILVALEO 2 роки тому

    Bom dia pessoal! Tem uma chave estrangeira da "tabela cliente" criada na "tabela Os" não está dando para fazer a exclusão que está ensinando nesta aula alguém conseguir excluir mesmo assim? Se conseguir mande mande como foi feito. Obrigado.

  • @harrison1573
    @harrison1573 7 років тому

    uma pergunta no meu aqui ele só remove na hora da pesquisa e se eu não pesquisar aparece todos os campos lá e na hora que clico ele não remove só quando faço a busca como mudo ?

  • @Gustavo-fc1on
    @Gustavo-fc1on 8 років тому

    Professor, atualiza o site com os vídeos e depois libera o certificado, por favor.

  • @tiagoorevoltado2273
    @tiagoorevoltado2273 2 роки тому

    Professor, quando se altera um usuário sem fazer a alteração. não acha que deveria haver uma mensagem dizendo que o usuário não sofreu alteração?

    • @ProfessorJosedeAssis
      @ProfessorJosedeAssis  2 роки тому

      Tiago legal a sua observação. Parabéns! Você pode criar uma estrutura do tipo "if else" comparando o que foi digitado nas caixas de texto com o que está no banco (você pode usar variáveis do tipo String capturando os dados para fazer esta validação) e se o resultado for igual, não fazer o update no banco e exibir uma caixa de mensagem dizendo que os dados não foram alterados. No else você insere o código que faz o update no banco.

  • @vagnerborgesmoreira8559
    @vagnerborgesmoreira8559 8 років тому

    professor pq posso cadastrar mais de uma vez o mesmo cliente

  • @matuxneo
    @matuxneo 8 років тому +1

    Olá professor, nesse método de remover cliente notei que no seu exemplo que ele funcionou corretamente, mas no Banco de dados que foi feito o campo "idcli" que é chave primaria na tabela tbclientes é uma chave estrangeira na tabela tbos o que causa um erro de integridade referencial ao remover um cliente. Como tratar esse erro? E porque no seu não teve isso?

    • @gui1gear
      @gui1gear 7 років тому +3

      Meio tarde para a resposta hehehe...
      Mas, eu recomendo não apagar dados, o legal é ter uma coluna por exemplo chamada STATUS, nela vai ter 1 ou 0 setado.
      E nas suas buscas por exemplo na variável sql do professor, você fazer isso:
      String sql = "SELECT idcli as 'Identificador',nomecli as 'Nome',endcli as 'Endereço',fonecli as 'Telefone',emailcli as 'E-mail' from `tbclientes` where nomecli like ? and status=1";
      ASsim em todas as pesquisas que você fizer, ele vai procurar apenas os clientes com status=1, ou seja, os ativos, aí quando você for apagar um cliente, você na verdade faz isso:
      String sql = "UPDATE `tbclientes` SET status=0 WHERE idcli=?";
      Que é setar status 0, assim ele some das pesquisas que você fizer com status = 1, e pode ser encarado como apagado.

  • @Diego-lh8sz
    @Diego-lh8sz 8 років тому

    Professor, e eu escrever os dados do usuário na marra nos campos ele replica o cliente, como resolver ?

  • @mateusdias1779
    @mateusdias1779 6 років тому +1

    Olá professor. Gostaria de saber qual o comando para "limpar" os dados preenchidos na tabela da TelaCliente. Percebo que, quando altero algum dado de um determinado cliente, a tabela continua preenchida. Caso eu clique no mesmo cliente, o dado alterado volta como era antes (não para o BD, mas para o sistema Java) possibilitando o usuário clicar em Update e voltar ao dado antigo novamente para o BD. Espero que o senhor entenda minha pergunta rsrsrs
    Desde já muito obrigado!

    •  6 років тому +2

      Ola,
      Desculpa a intromissao mas tambem estou aprendendo muito aqui com o professor entao vou te contar como resolvi o seu problema ( meu tambem rs), apos a inclusao, alteracao ou exclusao eu coloquei uma rotina que renova o sql da tabela, mas vai dar erro se voce colocar o mesmo nome entao nas rotinas abaixo ja fiz a correcao.
      Vou postar um exemplo e voce faz nos demais ok:
      Apos aceitar que vai fazer a alteracao do registro:
      private void alterar() {
      String sql = "update tbclientes set nomecli=?, endcli=?, fonecli=?, emailcli=? where idcli = ?";
      try {
      pst = conexao.prepareStatement(sql);
      pst.setString(1, jTNome.getText());
      pst.setString(2, jTEndereco.getText());
      pst.setString(3, jTTelefone.getText());
      pst.setString(4, jTEmail.getText());
      pst.setString(5, jTIdcli.getText());
      if (!jTNome.getText().isEmpty() && !jTTelefone.getText().isEmpty()) {
      int adicionado = pst.executeUpdate();
      if (adicionado > 0) {
      JOptionPane.showMessageDialog(null, "Alteração feita com sucesso");
      // a linha abaixo reativa o botao incluir
      jBIncluir.setEnabled(true);
      // AQUI NESSA LINHA ABAIXO OK
      refazer_tabela();
      // **************************
      } else {
      JOptionPane.showMessageDialog(null, "Não foi possível concluir, refaça a operação.");
      //limpar();
      }
      } else {
      JOptionPane.showMessageDialog(null, "Os campos obrigatorios devem estar preenchidos");
      }
      } catch (HeadlessException | SQLException e) {
      // Caso nao consiga abrir o database mostre a mensamge abaixo
      JOptionPane.showMessageDialog(null, e);
      }
      }
      private void refazer_tabela() {
      String sql_2 = "select * from tbclientes where nomecli like ? ";
      try {
      // pega os dados das variaveis
      pst = conexao.prepareStatement(sql_2);
      pst.setString(1, jTProcurar.getText() + "%");
      // executa a pesquisa na tabela
      rs = pst.executeQuery();
      jTblClientes.setModel(DbUtils.resultSetToTableModel(rs));
      } catch (SQLException e) {
      // Caso nao consiga abrir o database mostre a mensamge abaixo
      JOptionPane.showMessageDialog(null, e);
      }
      }
      Faz essa mudanca apos incluir, alterar e excluir que fica tudo certo.
      Abraços

    • @mariobraganca
      @mariobraganca 6 років тому

      Basta chamar o método PesquisarClientes toda vez que quiser atualizar a grid. Eu coloquei no construtor para entrar já preenchendo com todos os registros e coloquei após cada ação para atualizar a grid com as novas atualizações do BD.

  • @moabmatias
    @moabmatias 3 роки тому

    Parabéns professor. O meu deu certo, só que a mensagem de confirmação de exclusão do cliente ao invés de aparecer o botão OK, aparecem três botões SIM, NÃO E CANCELAR, kkkkkkk. Já verifiquei em todo o código e não encontrei o motivo dessa JOptionPane está aparecendo com estas três opções. Mas está excluindo normalmente, kkkkkk.

    • @ProfessorJosedeAssis
      @ProfessorJosedeAssis  3 роки тому

      Não sei se consegui resolver, mas segue a linha do código:
      int confirma = JOptionPane.showConfirmDialog(null, "Tem certeza que deseja remover este usuário ?", "Atenção", JOptionPane.YES_NO_OPTION);

  • @marcosrodolfo2918
    @marcosrodolfo2918 5 років тому +1

    eu adicionei um botão para limpar os campos segue o código colocado logo a baixo do metodo remover:
    private void limpa_campos(){
    txtCliid.setText(null);
    txtCliNome.setText(null);
    txtcliEndereco.setText(null);
    txtCliFone.setText(null);
    txtCliEmail.setText(null);
    btnAdcionar.setEnabled(true);
    }

  • @augustocezar3334
    @augustocezar3334 8 років тому

    Boa tarde professor,
    na aula 21 - com o método update da pra colocar o nome do cliente igual um já existente, como Resolver?

    • @Diego-lh8sz
      @Diego-lh8sz 8 років тому

      Você diz digitando na marra os campos ?

    • @augustocezar3334
      @augustocezar3334 8 років тому

      Diego isso, já fiz adicionei também a busca pelo nome ou pela id. Valeu

    • @Diego-lh8sz
      @Diego-lh8sz 8 років тому

      Fiz isso com outra tabela, abração

    • @augustocezar3334
      @augustocezar3334 8 років тому

      Diego usando essas aulas to fazendo um outro programa o da empresa que presto serviço de um club. Depois posto como ta. E quero essa pesquisa por nome, id, cpf,.... tipo se o usuario digitar augusto%araujo, ou seja, o usuario digitar nome e sobrenome vai listar apenas aqueles clientes que tem essa seleção.

    • @Diego-lh8sz
      @Diego-lh8sz 8 років тому

      Construa uma outra tabela e um outro campo para consultar e faça assim:
      // Campo de Consulta
      private void txtCliPesIdKeyReleased(java.awt.event.KeyEvent evt) {
      //////////////// EVENTO EM TEMPO REAL DE PESQUISA //////////////////////
      String sql;
      // MÉTODO PESQUISAR PELO NOME
      sql = " select nomecli from tbclientes where cpf = ? order by idcli ";
      try
      {
      // PREPARANDO CONEXÃO
      pst = conexao.prepareStatement( sql );
      // PEGANDO OS ITENS DIGITADOS NOS CAMPOS E COLOCANDO NO BANDO DE DADOS
      pst.setString( 1, txtCliPesId.getText() );
      // CONEXÃO PARA PESQUISAR E INSERIR OS DADOS DO BANCO DE DADOS
      rs = pst.executeQuery();
      // TRAZENDO E COLOCANDO OS DADOS NA TABELA
      tblCli2.setModel( DbUtils.resultSetToTableModel( rs ) );
      }
      catch ( Exception e )
      {
      // APOIO AO ERRO
      System.out.println( e );
      }
      Aí tu coloca o no MYsQL o nome inteiro do cara ( nome e sobrenome )

  • @doponalopes
    @doponalopes 8 років тому

    Ansioso pelas próximas aulas. :)