fazer uma consulta no banco (mysql) e comparar o retorno da consulta.

C#

22/03/2017

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.
Junior Gutekoski

Junior Gutekoski

Curtidas 0

Melhor post

Luis Mesa

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
GOSTEI 1

Mais Respostas

Junior Gutekoski

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

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

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:
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
POSTAR