Você está na página 1de 6

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

VB.NET - Acessando o MySQL


J tratei do MySql em diversos artigos no site, desde os tempos do VB5 passando pelo VB6 at chegar no VB.NET e ASP.NET. A relao de artigos abaixo no me deixa mentir: VB .NET - Criando uma conexo com o MySQL via ODBC VB .NET - Strings de Conexo e Provedores de dados ASP.NET - Acessando o MySQL MySQL - Vinculando , Importando e Exportando tabelas do Access Visual Basic - Acessando MySQL com ADO usando um Driver ODBC Visual Basic - Acessando MySQL com ADO VB e MySQL - Gerenciando dados MySQL - Distribuindo o MySQL com sua aplicao MySQL - Operaes bsicas com SQL

Volto ao assunto para mostrar como acessar o MySQL via VB.NET usando o provedor especfico para o MySQL, sem precisar usar um provedor ODBC. Vou usar o provedor MySQL Connector/NET que voc pode baixar do site do
MySQL. Antes de iniciar o projeto VB.NET para realizar a conexo voc vai precisar ter os seguintes componentes instalados:

1. MySQL 2. MySQL Query Browser 3. MySQL Connector/NET 1 - Instalando o MySQL


Atualmente existem 3 verses estveis do MySQL disponveis para download: MySQL 4.0, MySQL 4.1, and MySQL 5.0. Neste artigo vou usar o MySQL 4.1 que voc pode baixar no endereo : http://dev.mysql.com/downloads/mysql /4.1.html

Existem 3 sabores disponveis : Windows Essentials, Windows, e Without installer .Para os propsitos deste artigo o
sabor Windows Essentials pode ser usado sem problema algum. Faa o download e instale o MySQL seguindo as instrues.

2- Instalando o MySQL Query Browser


O MySQL Query Browser uma ferramenta com uma interface grfica que permite criar, editar tabelas e navegar pelo contedo das tabelas fazendo as alteraes que voc desejar. Para detalhes de operao do MySQL Query Browser voc pode acessar a documentao em : http://dev.mysql.com /doc/query-browser/en/index.html. Faa o download do MySQL Query Browser no seguinte endereo : http://dev.mysql.com/downloads/query-browser /index.html Aps o download instale a ferramenta seguindo as instrues do assistente.

3- Instalando o MySQL Connector/NET


O MySQL Connector/NET um dos provedores com mais recursos para o MySQL, foi escrito em C# , possui cdigo gerenciado, e pode ser portado para qualquer plataforma que suporta o .NET incluindo o Mono . Uma vantagem do MySQL Connector/NET usar um protocolo nativo MySQL. Ele esta disponvel gratuitamente sob os termos da GNU Public License. Faa o download do MySQL Connector/NET no endereo : http://dev.mysql.com/downloads/connector/net/ Assumindo que voc instalou os componentes com sucesso , vamos continuar...

Verificando os detalhes finais


Quando voc instala o MySQL vai notar que , por padro, ele vem com o banco de dados test que voc pode usar para efetuar os seus testes. Mas vou aproveitar a ocasio e mostrar uma ferramenta que voc pode usar para migrar seu banco de dados Access para o MySQL.

1 de 6

02/05/2013 17:22

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

Neste artigo eu vou migrar o banco de dados northwind.mdb com todas as suas tabelas para o MySQL usando uma ferramenta grtis chamada Access to MySQL que voc pode pegar no endereo : http://www.bullzip.com /download.php O Access to MySQL que converte o seu banco de dados Access para MySQL e possui os seguintes recursos: Uma interface grfica com assistente. Transfere os dados diretamente de um servidor para outro Cria um arquivo dump. Permite a seleo das tabelas a transferir. Permite a seleo de campos a transferir. Transferncia opcional de indexes. Transferncia opcional de registros Transferncia opcional de valores padro e definies de campos Identifica e transfere campos do tipo auto-numerao Possui uma interface de linha de comando Aps baixar o Acess to MySQL execute-o e aps a primeira tela voc dever informar o caminho do banco de dados Access que deseja migrar:

A seguir informe os parmetros para efetuar a conexo com o MySQL. (Eu estou me conectando como root mas aconselhvel criar um novo usurio.)

Na etapa seguinte selecione as tabelas que deseja migrar.

2 de 6

02/05/2013 17:22

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

Antes de efetuar a migrao voc pode selecionar se deseja transferir os ndices e os registros e as informaes padro e auto-numerao dos campos.

Pronto ! Seu banco de dados Access virou MySQL... Vamos usar a ferramenta MySQL Query Browser para visualizar as tabelas e os registros para verificar se tudo ocorreu sem problemas. Ao iniciar o MySQL Query Browser voc dever informar os parmetros para efetuar a conexo com o MySQL:

3 de 6

02/05/2013 17:22

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

Aps a conexo podemos visualizar o banco de dados northwind e suas tabelas. Selecionando a tabela customers podemos exibir os registros conforme figura abaixo:

Criando o projeto VB.NET para conexo com o MySQL


Vamos agora ao projeto VB.NET. Crie um novo projeto chamado MySqlNet no VS.NET (ou no VB.NET 2005 Express Edition) do tipo Windows Application usando a linguagem VB.NET e no formulrio padro inclua um componente DataGrid. Neste momento devemos incluir no projeto uma referncia ao provedor MySQL Connector/NET que foi instalado. Para isto clique com o boto direito do mouse sobre o projeto e selecione a opo Add Reference. Na janela Add Reference escolha a opo MySQL.Data.dll conforme abaixo:

4 de 6

02/05/2013 17:22

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

Agora podemos usar o imports para o namespace MySql.Data.MySqlClient conforme abaixo:

Imports MySql.Data.MySqlClient
E a seguir podemos declarar as variveis usadas no projeto no incio do formulrio form1.vb:

Dim conn As New MySqlConnection Dim myCommand As New MySqlCommand Dim myAdapter As New MySqlDataAdapter Dim myData As New DataTable Dim SQL As String
Agora vamos incluir o cdigo que faz a conexo com o MySQL e acessa o banco de dados northwind exibindo os registros da tabela employees. Vou colocar o cdigo no evento Load do formulrio form1.vb:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn As MySqlConnection conn = New MySqlConnection conn.ConnectionString = "server=localhost;user id=root;password=mac;database=northwind" SQL = "SELECT * FROM northwind.employees" Try conn.Open() Try myCommand.Connection = conn myCommand.CommandText = SQL myAdapter.SelectCommand = myCommand myAdapter.Fill(myData) DataGrid1.DataSource = myData Catch myerro As MySqlException MsgBox("Erro de leitura no banco de dados : " & myerro.Message) End Try MessageBox.Show("Conexo aberta com sucesso") conn.Close()

5 de 6

02/05/2013 17:22

Acessando o MySQL

http://www.macoratti.net/net_msql.htm

Catch myerro As MySqlException MessageBox.Show("Erro ao conectar com o Banco de dados : " & myerro.Message) Finally conn.Dispose() End Try End Sub
Veja a string de conexo usada : conn.ConnectionString = "server=localhost;user id=root;password=mac; database=northwind" (No muito legal exibir a senha em aberto no mesmo???) E instruo SQL menciona o banco de dados e a tabela usada : SQL = "SELECT * FROM northwind.employees" O resto do cdigo idntico aos demais exemplos j exibidos no site para Access e SQLServer. Ao final teremos os registros da tabela employees exibidos no datagrid conforme figura :

Meu objetivo foi mostrar como realizar a conexo com o MySQL sem usar ODBC e ele esta cumprido. A partir deste ponto as demais operaes so semelhantes ao que j foi discutido em diversos artigos sobre acesso a dados no site. Pegue o projeto aqui : mySqlNet.zip. O resto, agora com voc...

Eu sei apenas VB.NET mas eu gosto...

Jos Carlos Macoratti

6 de 6

02/05/2013 17:22