Continuando o tutorial anterior de ODBC em C# Sharp, Agora vamos aprender usando o conector MySQL adquirido no site do MySQL (precisa fazer um login para download). Feito isso é só instalar e escolher como "completo" para ele já colocar as bibliotecas em seus devidos lugares e poderá importar direto da sua IDE sem necessitar ficar procurando arquivos. :)
Vamos lá!
Requerimentos:
- Conector MySQL
- Conhecimento básico de SQL
- Conhecimento básico em C# Sharp
(ou Java)
- Orientação de
Objetos(import/classes/métodos/funções).
- Usar uma IDE
(SharpDevelop/Visual Studio)
- Gerenciador MySQL
ativado(Service) no Sistema para conectar a servidor localhost (Estou
usando o MySQL do XAMPP).
Recomendações:
- NET Framework 4.0
- SharpDevelop 4
- Windows 7/8 ou 10
- XAMPP
- Ativando o MySQL no Sistema Operacional para gerenciar dados SQL:
![]() |
Painel do XAMPP para ativar o MySQL |
- Criando um novo projeto "Solução" em SharpDevelop 4 > Files > New Solution > C# > NET Framework 4.0/Applcation Console...
![]() |
Criando um novo projeto "Solução" |
- Após criar... Observe que vc expande a arvore e se depara com "References" que são suas bibliotecas importadas, então você clica em cima de "References" com o botão direito do mouse > Add Reference...
![]() |
Primeira interface após criar o projeto Application Console |
- Selecione a aba GAC e procure por MySql.Data e depois pressione "Ok", Feito isso já poderá ser usada para desfrutar de suas funções.
![]() |
Importação da lib MySql.data via Add References |
- Então usamos MySql.Data.MySqlClient; Vamos apagando o que for desnecessário do modelo pré definido...
- Observe que eu estou usando um tema Monokai e o seu deve ser o padrão ou diferente.
![]() |
Tudo pronto para trabalhar! |
- Agora vamos meter a mão na massa! O resto dos comentários estão no script! (pode copiar, é código!)
using System; using MySql.Data.MySqlClient; //by Luiz R. namespace ConectMySQL { class Program { public static void Main(string[] args) { try{ MySqlConnection conn = new MySqlConnection("" + "server=127.0.0.1;" + //ou localhost //"database=teste;" + //opcional "uid=root;" + // usuario mysql uid= "pwd=root"); // senha pwd= conn.Open(); // abre a conexão MySqlCommand sql = conn.CreateCommand(); //cria novo objeto sql pra comandar Console.WriteLine("Conexão estabelecida com sucesso!"); /* * TODA MANIPULAÇÃO DO MYSQL É FEITA AKI ANTES DE Close(); */ conn.Close(); // fecha conexão }catch(Exception){ Console.WriteLine("Erro ao tentar conectar MySQL."); } Console.ReadKey(true); } } }
- Completo! Observe atentamente que é diferente do anterior! O conector MySQL sem duvida é muito melhor! Tente comparar!
using System; using MySql.Data.MySqlClient; //by Luiz R. namespace ConectMySQL { class Program { public static void Main(string[] args) { try{ //A VANTAGEM JA COMEÇA NA CONEXÃO, OLHA A FACILIDADE! MySqlConnection conn = new MySqlConnection("" + "server=localhost;" + //ou 127.0.0.1 //"database=teste;" + "uid=root;" + // usuario mysql uid= "pwd=root"); //senha pwd= conn.Open(); //abre a conexão MySqlCommand sql = conn.CreateCommand(); //cria novo objeto sql pra comandar Console.WriteLine("Conexão estabelecida com sucesso..."); //CRIANDO BANCO DE DADOS "TESTE" SE NÃO EXISTIR NO GERENCIADOR MYSQL //OBSERVE QUE EM CONECTOR MYSQL EU POSSO EXECUTAR VARIOS COMANDOS AO MESMO TEMPO, EM ODBC NÃO try{ sql.CommandText = "" + "DROP DATABASE IF EXISTS TESTE;" + "CREATE DATABASE IF NOT EXISTS TESTE;" + "USE TESTE;"; sql.ExecuteNonQuery(); Console.WriteLine("Banco de dados criado com sucesso..."); }catch(Exception){ Console.WriteLine("Erro ao tentar criar banco de dados."); } //CRIANDO TABELA "LOGIN" SE NÃO EXISTIR NO GERENCIADOR MYSQL/TESTE/? try{ sql.CommandText = "" + "CREATE TABLE LOGIN(" + "ID INT AUTO_INCREMENT PRIMARY KEY NOT NULL," + "NICK VARCHAR(15) NOT NULL," + "SENHA INT NOT NULL)"; sql.ExecuteNonQuery(); Console.WriteLine("Tabela criada com sucesso..."); }catch(Exception){ Console.WriteLine("Erro ao tentar criar tabela."); } //INSERINDO DADOS NO MYSQL/TESTE/LOGIN try{ sql.CommandText= "INSERT INTO LOGIN (NICK,SENHA) VALUES ('DARK',123)"; sql.ExecuteNonQuery(); Console.WriteLine("Dados inseridos com sucesso..."); }catch(Exception){ Console.WriteLine("Erro ao tentar inserir dados."); } //IMPRIMINDO DADOS DA TABELA MYSQL/TESTE/LOGIN... NO CONSOLE :P //OBSERVE A FACILIDADE PARA OBTER DADOS, O CONECTOR OBTEM TUDO COMO STRING try{ sql.CommandText = "SELECT * FROM LOGIN;"; MySqlDataReader get; get = sql.ExecuteReader(); while (get.Read()){ /*string dados = ""; for (int i = 0; i < get.FieldCount; i++) dados += get.GetValue(i).ToString() + ", "; Console.WriteLine(dados); OU....*/ string ID = get.GetString("ID"); string NICK = get.GetString("NICK"); string SENHA = get.GetString("SENHA"); Console.WriteLine(ID+", "+NICK+", "+SENHA); } }catch(Exception){ Console.WriteLine("Erro ao tentar imprimir dados."); } conn.Close(); //fecha conexão }catch(Exception){ Console.WriteLine("Erro ao tentar conectar MySQL."); } Console.ReadKey(true); } } }
![]() |
Resultado final no console. |
- Também será feito um tutorial semelhante para Java, em breve!
- XAMPP download https://www.apachefriends.org/pt_br/download.html
- SharpDevelop 4 download http://www.icsharpcode.net/OpenSource/SD/Download/#SharpDevelop4x
Até mais!! ;D
0 comentários:
Postar um comentário