none
Como evitar Duplicidade de Nome em C# RRS feed

  • Pergunta

  • Caros amigos

    Me deparei com um probleminha, onde estou recorrendo ao auxílio dos amigos.

    Problema: Como faço para evitar duplicidade de um determinado Campo, como por exemplo: CNPJ.

    Criei uma rotina para Validar dados usando a função errorProvider, conforme abaixo demonstrado:         

           private bool ValidarCampos()
            {
                 ...

                if (txtDocumento.Text == "")  //Aqui informo que o Campo Documento(CNPJ) não pode ser vazio.
                {
                    errorProvider1.SetError(txtDocumento, "Deve informar um Documento.");
                    txtDocumento.Focus();
                    return false;
                }
                errorProvider1.SetError(txtDocumento, "");

               ...

                return true;
            }

    Grato a todos.

    Atenciosamente,

    Renato

    domingo, 24 de agosto de 2014 22:39

Respostas

Todas as Respostas

  • Amigo, só consigo ver que vc vai ter que fazer uma consulta no seu banco de dados para verificar se o cnpj já tem cadastro na sua base.

    não sei se em web tem um evento chamado leave, caso tenha vc pode inserir uma consulta nele. 

    vou te dar um exemplo que fiz para forms

    obtenho o id fazendo uma consulta

     public string ObterID(string IDET)
            {
               
                string NOME = "";
                SqlConnection scon1 = new SqlConnection(@"Data Source=RJ-PC\SQLEXPRESS;Initial Catalog=cadastroclienteW;Integrated Security=True");
                string slq = "SELECT ID from CAD_ENTRADA WHERE IDENT =" + txbIdent.Text;
                SqlCommand cmdo = new SqlCommand(slq, scon1);
                cmdo.Parameters.AddWithValue("@ID", IDET);
                scon1.Open();
                SqlDataReader leia = cmdo.ExecuteReader();
                if (leia.HasRows)
                {
                    leia.Read();
                    NOME = leia[0].ToString();
                }
                scon1.Close();
                return NOME;
            }

    no evento recebo a consulta acima. caso exista dados trago atraves do id recuperado.

     private void txbIdent_Leave_1(object sender, EventArgs e)
            {

            // verifico se o campo esta vazio

                if (txbIdent.Text == "")

    //mantenho o foco para tornar obrigatorio

               {  txbIdent.Focus();  }
                else
                {  

                    string ids;
                    ids = ObterID(txbIdent.Text);
                    if (ids == "")
                    {
                        txbEmissor.Focus();
                    }
                    else
                    {
                        int numeroid = Convert.ToInt32(ids);
                        SqlConnection scon1 = new SqlConnection(@"Data Source=RJ-PC\SQLEXPRESS;Initial Catalog=cadastroclienteW;Integrated Security=True");
                        string slq = "SELECT * from CAD_ENTRADA WHERE ID  = " + Convert.ToString(numeroid);
                        SqlCommand cmdo = new SqlCommand(slq, scon1);
                        cmdo.Parameters.AddWithValue("@ID", numeroid);
                        scon1.Open();
                        SqlDataReader ler = cmdo.ExecuteReader();
                        while (ler.Read())
                        {
                            txbNome.Text = ler[1].ToString();
                            txbEmissor.Text = ler[5].ToString();

                         }

                       scon1.Close();

    }

    caso seja util marque.


    • Editado Wsti domingo, 24 de agosto de 2014 23:03
    domingo, 24 de agosto de 2014 23:02
  • Define o campo cnpj no banco de dados como chave primária

    Laercio Tersi

    segunda-feira, 25 de agosto de 2014 00:57
  • Também tenho esta dúvida e a Chave primária é o ID... não posso mudar.

    BD ACCESS.

    • Editado Jair Souza quinta-feira, 6 de abril de 2017 16:29
    quinta-feira, 6 de abril de 2017 16:28