none
Select em C# com banco de dados MySQL

    Question

  • Ola pessoal, sou novo em programação.

    Estou cirando um programa para fazer cadastro de cliente, estou usando o Visual Studio C# com MySQL.

    Esta fazendo o cadastro gravando no MySQL certinho, eu consigo lista todos os dados cadastrados de todos os clientes.

    Minha duvida e como posso fazer uma pesquisa(select), e mostra no dataGridView.

    Ex: cadastrei o cliente NOME:Y, CPF:1, Endereco:xx, Rua:XX. quando eu escrever no textBoxCPF "1" e clicar em pesquisa, o programa mostra no  dataGridView todos os dados do cliente.

    segue o codigo de botão cadastro:

    private void btnCadastrar_Click(object sender, EventArgs e)
            {

                string Nome = txtNome.Text;
                string CPF = txtCpf.Text;
                string RG = txtRg.Text;
                string Telefone = txtTel.Text;
                string Endereco = txtEndereco.Text;
                string Bairro = txtBairro.Text;
                string Cidade = txtCidade.Text;
                string Cep = txtCep.Text;
                string Estado = txtEstado.Text;
                string Placa = txtPlaca.Text;

                {
                    //string de conecxão com o mysql
                    string CONFIG = ("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");
                    MySqlConnection Conexao = new MySqlConnection(CONFIG);
                    MySqlCommand Query = new MySqlCommand();
                    Query.Connection = Conexao;
                    Conexao.Open();
                    //string de inclusão de dados no Mysql
                    Query.CommandText = "INSERT INTO tbcliente(Nome,CPF,RG,Telefone,Endereco,Bairro,Cidade,Cep,Estado,Placa) VALUES(@Nome,                            @CPF, @RG, @Telefone, @Endereco, @Bairro, @Cidade, @Cep, @Estado, @Placa)";
                    Query.Parameters.AddWithValue("@Nome", Nome);
                    Query.Parameters.AddWithValue("@CPF", CPF);
                    Query.Parameters.AddWithValue("@RG", RG);
                    Query.Parameters.AddWithValue("@Telefone", Telefone);
                    Query.Parameters.AddWithValue("@Endereco", Endereco);
                    Query.Parameters.AddWithValue("@Bairro", Bairro);
                    Query.Parameters.AddWithValue("@Cidade", Cidade);
                    Query.Parameters.AddWithValue("@Cep", Cep);
                    Query.Parameters.AddWithValue("@Estado", Estado);
                    Query.Parameters.AddWithValue("@Placa", Placa);
                    Query.ExecuteNonQuery();
                    Query.Dispose();
                    MessageBox.Show("Cliente cadastrado com sucesso.", "Cadastro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    btnLimpar.PerformClick();
                    Conexao.Close();
                }

    segue o botão lista todos os clientes cadastrados:

    private void btnCadastrados_Click(object sender, EventArgs e)

            {
                conexaoDataset = new DataSet();
                //Define string de conexão
                conexao = new MySqlConnection("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");
                //Abre conecção         
                try
                {
                    conexao.Open();
                    MySqlDataAdapter conexaoAdapter = new MySqlDataAdapter("SELECT * FROM tbcliente ORDER BY nome", conexao);
                    conexaoAdapter.Fill(conexaoDataset, "tbcliente");
                    dataGridView1.DataSource = conexaoDataset;
                    dataGridView1.DataMember = "tbcliente";
                }
                catch
                {
                    MessageBox.Show("Impossível estabelecer conexão");
                    conexao.Close();
                }
            }

    segue o botão pesquisa de cliente:

                                                

    private void btnPesquisa_Click(object sender, EventArgs e)

            {

                conexaoDataset = new DataSet();
                conexao = new MySqlConnection("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");

             try
             {
                conexao.Open();
                MySqlDataAdapter conexaoAdapter = new MySqlDataAdapter("SELECT Nome,CPF,RG,Telefone,Endereco,Bairro,Cidade,CepEstado,Placa, FROM tbcliente WHERE CPF =" + txtCpf.Text, conexao);
                conexaoAdapter.Fill(conexaoDataset, "tbcliente");
                dataGridView1.DataSource = conexaoDataset;
                dataGridView1.DataMember = "tbcliente";

                  }
                catch
                {
                    MessageBox.Show("Impossível estabelecer conexão");
                    conexao.Close();
                }

             }

    Desde já agradeço!!! 

    (não tenho muita experiencia em programação)

    Tuesday, October 23, 2012 2:56 AM

Answers

  • Bom dia,

    faça o seguinte crie uma classe Cliente:

     public class Cliente
        {
            public string nome { get; set; }
            public string cpf { get; set; }
            public string RG { get; set; }
            public string telefone { get; set; }
            public string endereco { get; set; }
            public string bairro { get; set; }
            public string cidade { get; set; }
        }

    após criada a classe faça um metódo para preencher o dataGridView,

    public void preecherGrid()
            {
                string CONFIG = ("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");
                MySqlConnection Conexao = new MySqlConnection(CONFIG);
                MySqlCommand Query = new MySqlCommand();
                Query.Connection = Conexao;
                Query.CommandText = @"SELECT * FROM CLIENTE";
                Conexao.Open();//Abre conexão
                MySqlDataReader dtreader = Query.ExecuteReader();//Crie um objeto do tipo reader para ler os dados do banco
                List<Cliente> listaDeRetorno = new List<Cliente>();//Crie uma lista de Cliente
                Cliente cliente = new Cliente();//Estancia objeto do tipo cliente
                while (dtreader.Read())//Enquanto existir dados no select
                {
                    cliente.nome = dtreader["nome"].ToString();//Preencha objeto do tipo cliente com dados vindo do banco de dados
                    cliente.cpf = dtreader["cpf"].ToString();
                    cliente.RG = dtreader["rg"].ToString();
                    cliente.telefone = dtreader["telefone"].ToString();
                    cliente.bairro = dtreader["bairro"].ToString();
                    cliente.cidade = dtreader["cidade"].ToString();
                    listaDeRetorno.Add(cliente);//Adiciona na lista um objeto do tipo cliente
                }
                Conexao.Close();//Fecha Conexao
                grdDados.DataSource = listaDeRetorno; //Passa lista de cliente para a gridView
                grdDados.DataBind();
            }

    Desta forma você irá fazer o select no banco de dados e preencher o gridView,

    espero ter ajudado!

    Thursday, October 25, 2012 12:36 PM

All replies

  •  private void button11_Click(object sender, EventArgs e)
            {
                String connect = "Escereve a conecao aki"
                System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(connect);
    
                con.Open();
                MessageBox.Show("Ligado a base de Dado");
    
                System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand("SELECT * FROM Table_Copy Where FirstName = @my_Param, con);
    
                command.Parameters.AddWithValue("@my_Param", textBox1.Text.ToString());
    
                DataTable dt = new DataTable("Levi");
    
                System.Data.SqlClient.SqlDataAdapter adpt = new System.Data.SqlClient.SqlDataAdapter(command);
                adpt.Fill(dt);
                                        
                this.datagridview.DataSource = dt;
    
                con.Close();
            }



    http://malange-levi.blogspot.co.uk/

    • Proposed as answer by David_Júnior Tuesday, October 23, 2012 12:02 PM
    • Unproposed as answer by AndSilva Tuesday, October 23, 2012 11:05 PM
    Tuesday, October 23, 2012 8:42 AM
  • Mas isso e em SQL!!!!???  o banco de dados e MySQL

    no botão pesquisa eu tentei fazer assim:

    private void btnPesquisa_Click(object sender, EventArgs e)

            {

                conexaoDataset = new DataSet();
                conexao = new MySqlConnection("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");

             try
             {
                conexao.Open();
                MySqlDataAdapter conexaoAdapter = new MySqlDataAdapter("SELECT Nome,CPF,RG,Telefone,Endereco,Bairro,Cidade,CepEstado,Placa, FROM tbcliente WHERE CPF =" + txtCpf.Text, conexao);
                conexaoAdapter.Fill(conexaoDataset, "tbcliente");
                dataGridView1.DataSource = conexaoDataset;
                dataGridView1.DataMember = "@CPF";

                  }
                catch
                {
                    MessageBox.Show("Impossível estabelecer conexão");
                    conexao.Close();
                }

             }

    mas não funciona não tenho ideia como fazer essa string, agora vou tentar com o Report Viewer!!

    alguém dei uma idei como posso fazer?

    Download: Microsoft Report Viewer 
    Tuesday, October 23, 2012 11:13 PM
  • Olá AndSilva.

    Tente utilizar o MySqlCommand e aplique-o ao MySqlDataAdapter.

    Instancie um objeto DataTable e preencha-o com o conexaoAdapter.Fill(o_seu_command, o_seu_objeto_DataTable);

    após isto você vincula o DataSource com o DataTable.

    ok?


    Se a resposta foi útil e correta, marque para que possamos melhorar nosso fórum.

    Wednesday, October 24, 2012 2:52 AM
  • Olá David, tentei novamente mas não funciono!  :( 

    segue como eu fez o codigo:

                                 

     public DataTable pesquisaDatatable;

            private void btnPesquisa_Click(object sender, EventArgs e)
              {
               pesquisaDatatable = new DataTable();
                conexao = new MySqlConnection("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");
          try
             {
                conexao.Open();
                MySqlDataAdapter conexaoAdapter = new MySqlDataAdapter("SELECT Nome, CPF, RG, Telefone, Endereco, Bairro, Cidade, Cep, Estado, Placa, FROM * tbcliente WHERE CPF =" + txtCpf.Text, conexao);
                conexaoAdapter.Fill(pesquisaDatatable);
                dataGridView1.DataSource = pesquisaDatatable;

                dataGridView1.DataMember = "tbcliente";

    Obrigado pelo ajuda! 

    Thursday, October 25, 2012 12:05 AM
  • Bom dia,

    faça o seguinte crie uma classe Cliente:

     public class Cliente
        {
            public string nome { get; set; }
            public string cpf { get; set; }
            public string RG { get; set; }
            public string telefone { get; set; }
            public string endereco { get; set; }
            public string bairro { get; set; }
            public string cidade { get; set; }
        }

    após criada a classe faça um metódo para preencher o dataGridView,

    public void preecherGrid()
            {
                string CONFIG = ("Persist Security Info=False;server=localhost;database=bdcdc;uid=root;server=localhost;database=bdcdc;uid=root;pwd=''");
                MySqlConnection Conexao = new MySqlConnection(CONFIG);
                MySqlCommand Query = new MySqlCommand();
                Query.Connection = Conexao;
                Query.CommandText = @"SELECT * FROM CLIENTE";
                Conexao.Open();//Abre conexão
                MySqlDataReader dtreader = Query.ExecuteReader();//Crie um objeto do tipo reader para ler os dados do banco
                List<Cliente> listaDeRetorno = new List<Cliente>();//Crie uma lista de Cliente
                Cliente cliente = new Cliente();//Estancia objeto do tipo cliente
                while (dtreader.Read())//Enquanto existir dados no select
                {
                    cliente.nome = dtreader["nome"].ToString();//Preencha objeto do tipo cliente com dados vindo do banco de dados
                    cliente.cpf = dtreader["cpf"].ToString();
                    cliente.RG = dtreader["rg"].ToString();
                    cliente.telefone = dtreader["telefone"].ToString();
                    cliente.bairro = dtreader["bairro"].ToString();
                    cliente.cidade = dtreader["cidade"].ToString();
                    listaDeRetorno.Add(cliente);//Adiciona na lista um objeto do tipo cliente
                }
                Conexao.Close();//Fecha Conexao
                grdDados.DataSource = listaDeRetorno; //Passa lista de cliente para a gridView
                grdDados.DataBind();
            }

    Desta forma você irá fazer o select no banco de dados e preencher o gridView,

    espero ter ajudado!

    Thursday, October 25, 2012 12:36 PM
  • Como ficou seu problema?

    http://malange-levi.blogspot.co.uk/

    Tuesday, October 30, 2012 4:19 PM