Jump to content
Leonardo Lovato

Validar dois logins iguais no banco (MySQL)

Recommended Posts

Boa tarde galera!

Sou iniciante em programação (mais especificamente na linguagem Java) e estou fazendo um sistema de armazenamento para aprendizado.
Eu tenho uma tela de cadastro de usuários e gostaria de saber como eu valido dois logins iguais, ou seja, se alguém tentar cadastrar um login que já possui no banco, quero que exiba uma mensagem "Login já cadastrado". Provavelmente terei que criar um método só pra isso, certo ? 

Postarei o código do método adicionar, que adiciona um usuário no banco.

 

    private void adicionar() {
        String sql = "insert into tbusuarios(iduser,usuario,login,senha,telefone,perfil,sexo) values(?,?,?,?,?,?,?)";
        try {
            pst = connection.prepareStatement(sql);
            pst.setString(1, txtUsuId.getText());
            pst.setString(2, txtUsuNome.getText());
            pst.setString(3, txtUsuLogin.getText());
            pst.setString(4, txtUsuSenha.getText());
            pst.setString(5, txtUsuFone.getText());
            pst.setString(6, cboUsuPerfil.getSelectedItem().toString());
            pst.setString(7, cboUsuSexo.getSelectedItem().toString());
        
            if ((txtUsuId.getText().isEmpty()) || (txtUsuNome.getText().isEmpty()) || 
               (txtUsuLogin.getText().isEmpty()) || (txtUsuSenha.getText().isEmpty()) || 
               (cboUsuPerfil.getSelectedIndex() == 0)) {
                JOptionPane.showMessageDialog(null, "Preencha todos os campos obrigatórios.");
            
             } else {

                // confirmar a inserção dos dados na tabela
                int adicionado = pst.executeUpdate();
                if (adicionado > 0) {
                    JOptionPane.showMessageDialog(null, "Usuário cadastrado com sucesso.");
                    txtUsuId.setText(null);
                    txtUsuNome.setText(null);
                    txtUsuFone.setText(null);
                    txtUsuLogin.setText(null);
                    txtUsuSenha.setText(null);
                    cboUsuSexo.setSelectedItem(null);
                    cboUsuPerfil.setSelectedItem(null);
                }
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

Obrigado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
    • By fabioamorais
      Ola pessoal, sou novo aqui no fórum e também no mundo da programação. 

      Estou criando um sistema de cadastro de clientes em PHP 7 e mysql
      para meu serviço para fins de organização, tenho ja pronto o sistema de cadastro e edição do cliente, tenho login por usuário e senha.
      preciso colocar nesse sistema uma forma que registre a ação e o usuário que fez a ação quando houver uma alteração no cadastro.
      exemplo;
      O usuario (jose) alterou o status de analise para concluído .
      o usuario (pedro) alterou a localização de mesa para armario.
      e que fosse exibido como um tipo de histórico de eventos no próprio cadastro do cliente.
      e nesse campo se ainda tiver como add cometários.
      Usuario (jose): Precisa entrar em contato com o cliente francisco. 
      Usuario (pedro): cliente foi avisado e está sabendo.
       
      quem souber uma forma de fazer isso, ficaria muito grato.

    • By proflupin
      Estou com a seguinte dificuldade, possuo um <a> que busca uma id numa tabela do banco de dados, conforme abaixo:
       
      <a href="self_service.php?id=<?php echo $row_produto['id_categoria_chamado']?>" class="btn btn-primary"data-toggle="collapse" data-target="#subcategoria" aria-expanded="false" aria-controls="collapseExample">Visitar</a> A consulta é realizada, pois vejo que um novo link é mostrado no rodapé da página:

       
      Esta página self_service.php mostrada acima, é minha página principal, onde tudo é trabalhado. Se por exemplo eu mudar para outro arquivo php, teste.php por exemplo, uma nova página é aberta e consigo exibir os resultados normalmente.
       
      O problema é: quero abrir este ID na mesma página, dentro de um collapse. Exemplo:
       
      Cliquei em visitar na categoria Totvs...
       
       
      Um collapse abre-se logo abaixo:

       
      O que não consigo fazer é resgatar o ID passado pelo botão VISITAR em meu collapse, se eu tenter o $_GET['id'], não vai retornar nenhum valor, pois a URL não muda quando trabalhamos com collapse.
    • By DinhoPHP
      Olá!
      Alguém pode me dar uma luz sobre fazer um ORDER BY, hora ASC ou hora DESC? Por favor! Estou utilizando PHP e JS no projeto.
       
      $pegadados = $pdo->prepare("SELECT * FROM produtos WHERE categoria LIKE '%$dataSearch%' OR marca LIKE '%$dataSearch%' OR produto LIKE '%$dataSearch%' OR modelo LIKE '%$dataSearch%' OR descricao LIKE '%$dataSearch%' ORDER BY $filter $filter2");
    • By Murilo Corrêa
      Bom dia Senhores, 
       
      Estou com um dificuldade, onde precisava que minha consulta trouxesse apenas a menor data para cada produto. 
       
      Faço o cruzamento entre 3 tabelas. Segue 2 Selects que tentei, porém está trazendo todas as datas (termino_digitacao) de cada item.
       
      Tentativa 1: 
       
      select concat(prd.cod_produto, prd.digito) as Cod_Delage, prd.descricao as Descricao, p.termino_digitacao as Entrada, p.cod_pedido as Pedido from pedido p (NOLOCK) inner join pedido_item pedi (NOLOCK) on p.cod_pedido= pedi.cod_pedido inner join produto prd (NOLOCK) on pedi.cod_produto= prd.cod_produto where p.operacao=2 and p.termino_digitacao=(select Min(pe.termino_digitacao) FROM pedido pe WHERE pe.cod_pedido=p.cod_pedido GROUP BY cod_pedido) GROUP by prd.cod_produto,prd.digito, prd.descricao, p.termino_digitacao, p.cod_pedido ORDER BY Cod_Delage  
      Tentativa 2: 
       
      select concat(prd.cod_produto, prd.digito) as Cod_Delage, prd.descricao as Descricao, p.termino_digitacao as Entrada, p.cod_pedido as Pedido from (select cod_pedido, MIN(termino_digitacao) as entrada from pedido (NOLOCK) group by cod_pedido) pe inner join pedido p (NOLOCK) on pe.cod_pedido= p.cod_pedido and pe.cod_pedido=p.cod_pedido and pe.entrada= p.termino_digitacao inner join pedido_item pedi (NOLOCK) on p.cod_pedido= pedi.cod_pedido inner join produto prd (NOLOCK) on pedi.cod_produto= prd.cod_produto where p.operacao=2 GROUP by prd.cod_produto,prd.digito, prd.descricao, p.termino_digitacao, p.cod_pedido ORDER BY p.termino_digitacao asc
       
       
      OBS: Ambas estão trazendo as mesmas informações kkk. 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.