VB.NET COM MYSQL

ERLANMG 17/07/2011 17:53:28
#379395
Prezados colegas,

Tenho sistemas rodando em vb6 com bd em MySql. Mas estou começando a dar uma olhada no vb.net.

Então vou precisar da ajuda de voces.

No vb6 conecto ao Mysql usando o MySQL ODBC 3.51 Driver como segue abaixo:

Dentro de um módulo coloquei assim:
Public conn As ADODB.Connection [ô] referencia nessaria ADOBD
Public ipconexao As String

Public Sub Abrirconexao()
Set conn = New ADODB.Connection
conn.ConnectionString = [Ô]Driver=MySQL ODBC 3.51 Driver; DATABASE=[Ô]nome do banco[Ô]; Server=[Ô] & ipconexao & _
[Ô];Port=3306; UID=usuario; PASSWORD=senha[Ô]
conn.Open
end sub

Quando preciso usar o banco nos forms faço como segue:

Call Abrirconexao
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open [Ô]Select * From usuarios where codigo = [ô][Ô] & codigo_usuario & [Ô][ô][Ô], conn

Gostaria da opinião de todos como ficaria essas mesmas rotinas em vb .net?
Qual conector mysql devo usar?

Desde já agradeço a atenção e colaboração de todos.

Abraços e até mais
ROBIU 17/07/2011 19:30:06
#379397
DOUGLASJ 18/07/2011 17:27:15
#379479
Resposta escolhida
Boa tarde Amigo,

voce declara no modulo:
Imports MySql.Data.MySqlClient
Module CONEXAO
Public cn As New MySqlConnection
Public myCommand As New MySqlCommand
Public myAdapter As New MySqlDataAdapter
Public myData As New DataTable
Public SQL As String

Sub CONECTA(ByVal conexao As String, ByVal usuario As String, ByVal SENHA As String, ByVal base As String)
cn.ConnectionString = [Ô]server=[Ô] & conexao & [Ô];user id=[Ô] & usuario & _
[Ô];password=[Ô] & SENHA & [Ô];database=[Ô] & base & [Ô][Ô]
End Sub

e chama na aplicaçao:


Imports MySql.Data.MySqlClient

Public Class TESTE
Private Sub CADASTRAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CADASTRAR.Click
Call CONECTA([Ô]LOCALHOST[Ô], [Ô]USUARIO[Ô], [Ô]SENHA[Ô], [Ô]BASE[Ô]) [ô] passa parametros de conexao
cn.Open() [ô] abre o banco de dados
Try
SQL = [Ô]Select * From usuarios where codigo = [Ô] & codigo_usuario

myCommand.Connection = cn [ô] seta a conexao SQL
myCommand.CommandText = SQL [ô] Passa o parametro de filtragem SQL
myAdapter.SelectCommand = myCommand [ô] Conexao parametro passados para Objeto conector data Mysql
myData.Rows.Clear() [ô] limpa o conteudo da grade view
myAdapter.Fill(myData) [ô] passa os parametros e filtragem do objeto dataMySQL para o objeto data de uma grid

grade.DataSource = myData [ô] carregada a grid com a filtragens de parametros

Catch myerro As MySqlException
MsgBox([Ô]Erro de leitura no banco de dados : [Ô] & myerro.Message)
End Try
cn.Dispose() [ô] LIBERA A MEMORIA (fecha a conexao)
End Sub


espero que este exemplo tenha ajudado.
ERLANMG 26/07/2011 10:17:26
#379989
Bom dia,

Para usar como segue acima, qual conector preciso instalar, preciso fazer alguma referencia?

Desde já agradeço a atenção de todos.

ERLANMG 26/07/2011 10:19:12
#379990
Apenas para completar estou usando MICROSOFT VISUAL STUDIO 2010.

ALTAIR148 26/07/2011 11:03:27
#379997
Bom dia,

Você tem que referencia a DLL em anexo.


Até mais.
ERLANMG 27/07/2011 09:29:16
#380086
Caros amigos,

As rotinas acima descritas já estão realizadas e rodando perfeitamente.

Agora vamos para [Ô]fase 2[Ô].

Eu uso em vb como segue:

No modulo declaro:

Public rs As ADODB.Recordset

e na aplicação:

Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open [Ô]Select * From clientes where codigo = [ô][Ô] & text1.Text & [Ô][ô][Ô], conn
If rs.RecordCount <= 0 Then
MsgBox ([Ô]Código não cadastrado. Favor verificar.[Ô]), vbInformation, [Ô]Mensagem do Sistema[Ô]
rs.Close
text1.SetFocus
Exit Sub
End If
on error resume next
text1.text = rs!nome
text2.text = rs!endereco

Como seria essa mesma rotina em vb.net.


Novamente agradeço desde já a ajuda de todos.
DOUGLASJ 29/07/2011 17:07:27
#380324
No exemplo que te dei anterior já tem as declarações necessarias no modulos apenas inclua estas abaixo:
Public ds As DataSet
Public DR As MySqlDataReader

Na Aplicação:

cmd.Connection = cn [ô] seta a conexao SQL
cmd.CommandText = SQL [ô] Passa o parametro de filtragem SQL
myAdapter.SelectCommand = cmd [ô] Conexao parametro passados para Objeto conector data Mysql
myAdapter.Fill(myData) [ô] passa os parametros e filtragem do objeto dataMySQL para o objeto data de uma grid caso queira alimentar uma grid

DR = cmd.ExecuteReader [ô] define o datareader com a consulta SQL
DR.Read() [ô] ativa filtragem
NOME.Text = DR([Ô]NOME[Ô])

Espero que te ajude...
Tópico encerrado , respostas não são mais permitidas