Olá,
Eu tenho um programa simples escrito em C# e um componente “DataGridView1” no formulário. Não tenho nenhum botão ainda e a intenção é apenas carregar os dados do MySQL no C# dentro do “DataGridView1”.
Eu tenho algumas dúvidas também. Achei esse código na internet mas não explica muito…
- Como eu faço a ligação do “DataGridView1” que está no “form1” pra mostrar os dados via código da tabela “Clientes”?
Segue o código:
https://pastebin.com/Nn1y1cZn
- Outra dúvida que tenho é se esta “bom/correto” o local que eu fecho a conexão e o jeito “simples” e prático que utilizei pra fechar a conexão. Está correto?
Obrigado por qualquer ajuda.
Olá,
Alterei o código e a segunda dúvida minha sobre fechar a conexão está respondida. Porém ainda não consegui visualizar os dados no “datagridview1”.
Eu alterei o código tbm. Segui mais 2 códigos que encontrei na internet e alterei meu código. Porém ainda não consigo visualizar os dados.
E estou recebendo um mensagem de erro, que espero não ser o problema em questão de não carregar os dados no datagridview1.
Imagem do “erro” quando executo o programa:
-
Segue o Código:
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 teste
{
public partial class Form1 : Form
{
//private System.Windows.Forms.DataGrid datagrid;
private MySqlConnection conexao;
private MySqlDataAdapter adapter;
private DataSet dataset;
public Form1()
{
InitializeComponent();
dataset = new DataSet();
conexao = new MySqlConnection("Persist Security Info=False;" +
" server=localhost;" +
" database=teste;" +
" uid=root;" +
" pwd=pass");
try
{
conexao.Open();
// Verifica se a conexao esta aberta
if (conexao.State == ConnectionState.Open)
{
// Cria um adapter para acessar a tabela Clientes
adapter = new MySqlDataAdapter("SELECT * FROM clientes", conexao);
// Preenche o dataset via adapter
adapter.Fill(dataset, "clientes");
// Atribui o resultado a propriedade DataSource do DataGrid
//datagrid.DataSource = dataset;
//datagrid.DataMember = "Clientes";
dataGridView1.DataSource = dataset;//.Tables[0].DefaultView;
dataGridView1.DataMember = "clientes";
}
}
catch(Exception e)
{
MessageBox.Show(e.Message.ToString());
}
finally
{
if (conexao.State == ConnectionState.Open)
{
conexao.Close();
}
}
}
}}
Obrigado por qualquer ajuda.
=== EDIT ===
Resolvido.
Minha string de conexão foi alterada para essa forma(parece que é um código a mais que precisa adicionar na string de conexão do MySQL):
conexao = new MySqlConnection("Persist Security Info=False;" +
" server=localhost;" +
" database=teste;" +
" uid=root;" +
" pwd=;" +
" SslMode=none;");
Obrigado.