fazer uma consulta no banco (mysql) e comparar o retorno da consulta.
bom sou iniciante, sei que é uma coisa simples isso, mas ja pesquisei e nao achei muita coisa que me ajudasse nesse sentido.
e o seguinte: quero fazer um consulta no banco de dados, e ver se tem aquele mesmo dado la, tipo, é pra evitar que dados fiquem duplicados.
e o seguinte: quero fazer um consulta no banco de dados, e ver se tem aquele mesmo dado la, tipo, é pra evitar que dados fiquem duplicados.
Junior Gutekoski
Curtidas 0
Melhor post
Luis Mesa
22/03/2017
Bom dia Polaquinho, tudo bem por aí?
Então, se você quer evitar que dados fiquem duplicados, acho que você deveria definir essa coluna como Chave Primária.
Uma coluna que é Chave Primária identifica de maneira única um registro, assim mesmo que você tente adicionar un registro com essa mesma Chave Primária o Banco de Dados lançará uma exceção e impedirá a tarefa de ser concluída,
Por exemplo, para um cadastro em um site, você pode definir o e-mail como uma coluna Chave Primária. Assim, se algum usuário tentar se registrar com um e-mail já existente, um erro seria lançado!
Um abraço
Então, se você quer evitar que dados fiquem duplicados, acho que você deveria definir essa coluna como Chave Primária.
Uma coluna que é Chave Primária identifica de maneira única um registro, assim mesmo que você tente adicionar un registro com essa mesma Chave Primária o Banco de Dados lançará uma exceção e impedirá a tarefa de ser concluída,
Por exemplo, para um cadastro em um site, você pode definir o e-mail como uma coluna Chave Primária. Assim, se algum usuário tentar se registrar com um e-mail já existente, um erro seria lançado!
Um abraço
GOSTEI 1
Mais Respostas
Junior Gutekoski
22/03/2017
sim ja tenho uma chave primaria chamada ID (alto incrementada), e tenho um projeto no visual studio C#, para cadastrar clientes, mas quero que quando alguem for cadastrar alguem com mesmo cpf o sistema nao deixe. So que nao sei o codigo pra isso em C#. vcs podem me AJUDAR?
GOSTEI 0
Luis Mesa
22/03/2017
sim ja tenho uma chave primaria chamada ID (alto incrementada), e tenho um projeto no visual studio C#, para cadastrar clientes, mas quero que quando alguem for cadastrar alguem com mesmo cpf o sistema nao deixe. So que nao sei o codigo pra isso em C#. vcs podem me AJUDAR?
O CPF será obrigatório para o cadastro? Se sim, eu recomendaria substituir a sua chave primária Id auto-incrementada pelo CPF. Assim você nao gastará tempo tentando validar se existe já um CPF existente ou nao.
Se ainda assim você quiser seguir do jeito que tá, poderá usar LINQ, que permite a realizaçao de consultas independente dos detalhes da implementaçao do que você esteja utilizando.
Imagina que os dados de sua tabela estejam em uma lista chamada Usuarios, que armazena objetos de tipo Usuario.
var jaExiste = Usuarios.Any(u=> u.Cpf == "111111111"); // Se existe algum usuario com CPF "111111111", retornará verdadeiro.
if (jaExiste)
//faz nada
Ajudaria bastante se soubessemos como você está armazenando os dados. :)
GOSTEI 1
Junior Gutekoski
22/03/2017
estou ultilizando o Mysql para armazenar os dados cadastrados no Form de clientes. No caso do cpf será obrigatrio.
esse e basicamente a codigo que estou fazendo:
esse e basicamente a codigo que estou fazendo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace CadClientes
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void limpa()
{
//metodo para limpar todos os controles
foreach (Control controle in this.Controls)
{
if (controle is TextBox || controle is MaskedTextBox || controle is ComboBox)
{
//limpa tudo
controle.Text = string.Empty;
}
}
}
public void salvar_dados()
{
//conexão
MySqlConnection conn = new MySqlConnection("Server = localhost; Database = loja; Uid = root; Pwd =");
//abre conexão
conn.Open();
try
{
//inserção de dados no B.D.
MySqlCommand cmd = new MySqlCommand("INSERT INTO clientes (nome, cpf, email, telefone, endereco, bairro, cidade, cep, uf, data_cadastro) VALUES (@nome, @cpf, @email, @telefone, @endereco, @bairro, @cidade, @cep, @uf, @data_cadastro)", conn);
cmd.Parameters.AddWithValue("@nome", txtNome.Text);
cmd.Parameters.AddWithValue("@cpf", maskedCpf.Text);
cmd.Parameters.AddWithValue("@email", txtEmail.Text);
cmd.Parameters.AddWithValue("@telefone", maskedTel.Text);
cmd.Parameters.AddWithValue("@endereco", txtEndereco.Text);
cmd.Parameters.AddWithValue("@bairro", txtBairro.Text);
cmd.Parameters.AddWithValue("@cidade", txtCidade.Text);
cmd.Parameters.AddWithValue("@cep", maskedCep.Text);
cmd.Parameters.AddWithValue("@uf", txtUf.Text);
cmd.Parameters.AddWithValue("@data_cadastro", lebelDataCadastro.Text);
cmd.ExecuteNonQuery();
//mostra mensagem
MessageBox.Show("Salvo!!!");
}
catch
{
MessageBox.Show("Não salvo!!!");
}
finally
{
//fecha conexão
conn.Close();
}
}
private void button1_Click(object sender, EventArgs e)
{
//chamo o metodo de salvar dados.
salvar_dados();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
//chama o metodo limpa
limpa();
}
private void timer2_Tick(object sender, EventArgs e)
{
//pega a hora do sistema
lebelDataCadastro.Text = DateTime.Now.ToString();
}
}
}
GOSTEI 0