Usuário com melhor resposta
Como evitar Duplicidade de Nome em C#

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
Respostas
-
Define o campo cnpj no banco de dados como chave primária
Laercio Tersi
- Sugerido como Resposta Gustavo Lopes de Azevedo segunda-feira, 25 de agosto de 2014 18:08
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 25 de agosto de 2014 20:04
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
-
Define o campo cnpj no banco de dados como chave primária
Laercio Tersi
- Sugerido como Resposta Gustavo Lopes de Azevedo segunda-feira, 25 de agosto de 2014 18:08
- Marcado como Resposta Ricardo Barbosa Cortes segunda-feira, 25 de agosto de 2014 20:04
-
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