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 criaremos 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 e 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, 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:
- A classe DataBase – Contém o método ConexaoBD que realiza a conexão com o banco de dados MySql;
- A classe Manutenção – 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:
- 3 Buttons
- 3 Labels
- 3 TextBox
- 1 DataGridView
Disponha os controles conforme o layout 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.