Select em C# com banco de dados MySQL

2 respostas
A

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(<a class="mention" href="/u/nome">@Nome</a>, @CPF, @RG, @Telefone, @Endereco, @Bairro, @Cidade, @Cep, @Estado, @Placa)”;

Query.Parameters.AddWithValue("<a class="mention" href="/u/nome">@Nome</a>", 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)

2 Respostas

M

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?

N

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?

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:

Criado 25 de outubro de 2012
Ultima resposta 26 de out. de 2012
Respostas 2
Participantes 3