none
Sistema de Cadastro - Validação de Usuário Existente RRS feed

  • Pergunta

  • Boa noite! Sou um leigo no quesito C# e MySQL e estou me esforçando para aprimorar. Gostaria de saber se no sistema de cadastro tenho como não cadastrar pessoas diferentes com mesmo nome de usuário. Por exemplo, se já houver um user com o nome filipe, não cadastrar outro com o nome filipe.

    Além disso, gostaria de saber como colocar a id, nos cadastros, automática.

    Sei que estou pedindo demais, mas, seria bom receber ajuda de especialistas da área.

    Grato,

    sábado, 13 de maio de 2017 02:22

Respostas

  • Esse exemplo e com sql server mais o processo e mesmo você só SQLCommand para MYSQLCommand e assim por diante:

    public void Gravar()
    {    
         //Conexão 
         using(SqlConnection conn = new SqlConnection("sua string de conexão"))
         {
              //Abrindo a conexão
              conn.Open();
              //Aqui fazemos o SELECT e verificamos
              using(SqlCommand cmd = new SqlCommand("SELECT COUNT(id) FROM suaTabela WHERE id=@id",conn))
              {
                   cmd.parameters.AddWithValue("@id",id);
                   //Uso o escalar porque ele retorna o valor da coluna do select, jogo no object para receber um valor nullo.
                   object o = cmd.executeEscalar();
                   if(o != null)
                   {
                      int total = int.Part(o);
                      if(total > 0)
                      {
                          cmd.parameters.Clear();
                          
                         //CHAME SUA FUNÇÃO AQUI OU EXECUTE O CÓDIGO ABAIXO
                          cmd.CommandText ="INSERT INTO suaTabela(id) VALUES (@id)";                                            
    cmd.parameters.AddWithValue("@id",id);
    cmd.ExecuteNonQuery();
                      }
                   }
    
              }
    
         }
    
    }

    sábado, 13 de maio de 2017 13:29

Todas as Respostas

  • Filipe, para que você possa controlar se o usuário já esteja cadastrado, tem varias maneiras de fazer isso, poderia verificar antes de salvar o novo usuário o ideal é fazer uma busca pelo user, ou seja, fazer um select ou count() na tabela where nameUser = Filipe. Se retornar registro exibi uma mensagem para o usuário não permitindo o cadastro com esse user.

    Com relação ao id automático, da uma pesquisa sobre Primary Key e Identity ou seja, o campo deve ser chave primaria e de auto incremento.

    Espero ter ajudado. 

    sábado, 13 de maio de 2017 03:12
  • Esse exemplo e com sql server mais o processo e mesmo você só SQLCommand para MYSQLCommand e assim por diante:

    public void Gravar()
    {    
         //Conexão 
         using(SqlConnection conn = new SqlConnection("sua string de conexão"))
         {
              //Abrindo a conexão
              conn.Open();
              //Aqui fazemos o SELECT e verificamos
              using(SqlCommand cmd = new SqlCommand("SELECT COUNT(id) FROM suaTabela WHERE id=@id",conn))
              {
                   cmd.parameters.AddWithValue("@id",id);
                   //Uso o escalar porque ele retorna o valor da coluna do select, jogo no object para receber um valor nullo.
                   object o = cmd.executeEscalar();
                   if(o != null)
                   {
                      int total = int.Part(o);
                      if(total > 0)
                      {
                          cmd.parameters.Clear();
                          
                         //CHAME SUA FUNÇÃO AQUI OU EXECUTE O CÓDIGO ABAIXO
                          cmd.CommandText ="INSERT INTO suaTabela(id) VALUES (@id)";                                            
    cmd.parameters.AddWithValue("@id",id);
    cmd.ExecuteNonQuery();
                      }
                   }
    
              }
    
         }
    
    }

    sábado, 13 de maio de 2017 13:29
  • Muito Obrigado, amigo! Logo farei os testes. Deixo aqui meus resultados assim que implementar.
    domingo, 14 de maio de 2017 01:25