C# - Manutenção de dados com DataGridView no MySQL - I

 Hoje vou apresentar uma aplicação C# usando ADO .NET que realiza a manutenção dos dados dos alunos em um banco de dados MySQL.


Neste artigo eu apresento uma aplicação bem simples que usa a linguagem C# e os recursos da ADO .NET para acessar um banco de dados e gerenciar as informações dos dados dos Alunos.

Para isso a aplicação acessa o banco Cadastro e a tabela alunos cuja estrutura vemos abaixo:

O Script SQL para criar a tabela é o seguinte:

CREATE TABLE `alunos` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `nome` varchar(80) NOT NULL,
  `email` varchar(150) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
SELECT * FROM cadastro.alunos;

Como a aplicação é muito simples vou usar uma abordagem onde iremos criar uma classe contendo os métodos para acessar os dados no MySQL.

Recursos Usados:

Criando o projeto no VS 2017 Community

Abra o Visual Studio Community 2017 e clique em New Project;

Selecione Visual C#, o template Windows Classic Desktope a seguir Windows Forms App(.NET Framework);

Informe o nome CRUD_Mysql e clique no botão OK;

Agora vamos incluir uma referência a biblioteca MySql.Data neste projeto para podermos acessar o MySQL.

No menu Tools clique em Nuget Package Manager -> Manage Nuget Packages for Solution;

Selecione o item MySql.Data, marque o projeto CRUD_MySql e clique no botão Install;

A seguir temos o código usado no projeto:

Criando a classe com os métodos de acesso aos dados

No menu Project clique Add Class e informe o nome Database.cs e inclua o código abaixo nesta classe:

using MySql.Data.MySqlClient;
using System.Data;
using System.Windows.Forms;
namespace CRUD_MySql
{
    public class Database
    {
        public static string MySqlClientString = "server= localhost;user id=root;password=senha_do_banco;
database=cadastro";
        
        public static void ConexaoBD()
        {
            MySqlConnection conn = new MySqlConnection(MySqlClientString);
            try
            {
                if (conn.State.Equals(ConnectionState.Closed))
                {
                    conn.Open();
                }
            }
            catch (MySqlException erro)
            {
                MessageBox.Show("Não foi possível conectar com o banco de dados : " + erro.Message, "Erro de Conexão", 
MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning);
            }
            finally
            {
                conn.Dispose();
            }
        }
        public class Manutencao
        {
            public MySqlConnection conn = new MySqlConnection(MySqlClientString);
            public MySqlCommand cmd = new MySqlCommand();
            public DataTable dt = new DataTable();
            public MySqlDataAdapter da = new MySqlDataAdapter();
            public DataSet ds = new DataSet();
            //Executa a instrução para inserir/deletar e atualizar
            public void ExecutaConsulta(string MySql)
            {
                try
                {
                    conn.Open();
                    cmd.Connection = conn;
                    cmd.CommandText = MySql;
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
                catch
                {
                    throw;
                }
            }
            //Obtem os registros da tabela
            public DataTable GetRegistros(string MySql)
            {
                try
                {
                    dt = new DataTable();
                    da = new MySqlDataAdapter(MySql, conn);
                    da.Fill(dt);
                    return dt;
                }
                catch
                {
                    throw;
                }
            }
        }
    }
}

No arquivo DataBase.cs definimos duas classes :

  1. A classe DataBase - Contém o método ConexaoBD que realiza a conexão com o banco de dados MySql;

  2. A classe Manutencao - Contém o método ExecutaConsulta() que realiza que inclui, altera e exclui dados da tabela alunos, e, o método GeRegistros() que retorna os dados da tabela alunos;

Uma abordagem mais robusta seria criar um novo projeto do tipo Class Library e definir neste projeto a camada de acesso dados.

Definindo a interface com o usuário no formulário MainForm

Nossa interface será bem simples e vai ter somente um único formulário. Inclua os seguintes controles no formulário Form1.cs:

Disponha os controles conforme o leiaute da figura abaixo:

Na próxima parte do artigo vamos implementar o código do formulário para acessar e realizar a manutenção de dados acessando o MySql.

(Disse Jesus) Na verdade, na verdade vos digo que aquele que crê em mim tem a vida eterna. João 6:47

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti