Select em C# com banco de dados MySQL

Ola, 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:
[color=red] “ESTE ESTA OK”[/color]

private void btnCadastrar_Click(object sender, EventArgs e) “ESTE ESTA OK”
{

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: [color=red] “ESTE ESTA OK”[/color]

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: [color=red]“ESTE NÃO ESTA OK, NÃO MOSTRA NO GRID OS DADOS DO CLIENTE”[/color]

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”;

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

}

Desde já agradeço!!!

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

Oi!

Então, por que não está okay? dei uma olhada por cima e parece tudo em ordem.

Para mostrar um dataTable/dataSet em uma DatagridView você precisa dizer na grid quais serão os dados que vão ser mostrados. Será que não é esse o seu porblema?

Ou dá auma exceção?

[quote=MayogaX]Oi!

Então, por que não está okay? dei uma olhada por cima e parece tudo em ordem.

Para mostrar um dataTable/dataSet em uma DatagridView você precisa dizer na grid quais serão os dados que vão ser mostrados. Será que não é esse o seu porblema?

Ou dá auma exceção?[/quote]

Opa, anderson.fs, beleza?

Faço das palavras da MayogaX as minhas e mais:

  1. Confira se a sua consulta SQL retorna mesmo os valores;
  2. Se sim, sete a propriedade AutoGenerateColumns de sua GridView como true. Talvez possa ser também o problema de você não definir as colunas no seu DataGridView;
  3. Como você usou o método Fill() do DataAdapter em cima de um DataTable, não precisa setar a propriedade DataMember.

Use e abuse daquele nosso queridíssimo amigo, o Debugger, pra procurar seus erros!
Grande abraço,
fique com Deus! :smiley: