Sie sind auf Seite 1von 4

Conexio n de mysql a visual basic

MySQL es una de las base de datos mas rpidas y potentes de la actualidad si a


esto le agregamos lo rpido que se torna desarrollar bajo Visual Basic sin dudas
corremos con grandes ventajas a la hora de crear potentes aplicaciones. No solo
para acceder de forma local a nuestra base de datos sino tambin puede que
necesitemos acceder a un servidor MySQL localizado en otra parte del mundo y
hasta que este corra bajo Linux.

Como primer paso debemos crear la referencia a RDO (Remote Data Object)
desde nuestro Visual Basic, para esto vamos al men Proyecto > Referencias... y
ah seleccionamos Microsoft Remote Data Object...

Esa va a ser la librera (similar a ADO o DAO) que nos va a dar todos los mtodos
para poder conectarnos tanto local como de forma remota a un servidor MySQL.

La aplicacin de ejemplo que hemos creado conecta al servidor indicado mediante
un usuario y contrasea y nos devuelve todas las tablas de la base de datos
indicada, veamos un grfico as queda mas claro...

Al hacer click en el botn conectar se inicia el proceso de conexin al servidor
indicado...

Private Sub boton_conectar_Click()
Dim cadena_conexion

'creamos la cadena de conexin leyendo los valores de los textbox
cadena_conexion = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servidor
& "; DATABASE=" & base_de_datos & " ;PWD=" & password & "; UID=" & usuario
& ";OPTION=3"

Set db = New rdoConnection


'asociamos la cadena de conexin al objeto
db.Connect = cadena_conexion
db.CursorDriver = rdUseServer

'establecemos la conexin
db.EstablishConnection
End Sub

Ese es el cdigo que nos conectara a nuestro servidor MySQL, vemos en negrita
los comentarios en el cdigo que nos facilitaran entenderlo. El prximo paso ser
obtener el listado de todas las tablas de la base de datos abierta....

Dim tabla As rdoTable
Dim hay_tablas As Boolean

hay_tablas = False
cambiar_botones True


'recorremos todas las tablas
For Each tabla In db.rdoTables
'extraemos el nombre de la tabla y lo agregamos en un listbox
tablas.AddItem tabla.Name
hay_tablas = True
Next

If Not hay_tablas Then
MsgBox "La base de datos esta vacia"
boton_desconectar_Click
End If

Hasta ac ya tenemos una lista de todas las tablas que hay en la base de datos,
ahora solo nos queda listar el contenido de la tabla seleccionada...

Dim tabla As String
Dim consulta As New rdoQuery
Dim resultados As rdoResultset
Dim contenido_row As String
Dim columna As rdoColumn

contenido.Clear

tabla = tablas.List(tablas.ListIndex)

'le indicamos al objeto consulta que usaremos db como base de datos activa
Set consulta.ActiveConnection = db

'creamos la consulta SQL y la ejecutamos
consulta.SQL = "SELECT * FROM " & tabla & " WHERE 1"
consulta.Execute

'asigamos el resultado de la consulta a nuestro objeto resultados (rdoResultset)
Set resultados = consulta.OpenResultset

'recorremos todos los resultados
While Not resultados.EOF

contenido_row = ""

'cargamos el contenido de cada registro
For Each columna In resultados.rdoColumns
contenido_row = contenido_row & columna.Name & "=" &
resultados(columna.Name) & "; "
Next

'agregamos el contenido de cada registro al listbox
contenido.AddItem contenido_row
resultados.MoveNext
Wend

'cerramos y borramos los objetos
resultados.Close
Set resultados = Nothing

Das könnte Ihnen auch gefallen