Manual VB + Mysql, conectando a un servidor

MySQL es una de las base de datos mas rápidas y potentes de la actualidad si a esto le agregamos lo rápido 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 también 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 librería (similar a ADO o DAO) que nos va a dar todos los métodos para poder conectarnos tanto local como de forma remota a un servidor MySQL.

La aplicación de ejemplo que hemos creado conecta al servidor indicado mediante un usuario y contraseña y nos devuelve todas las tablas de la base de datos indicada, veamos un gráfico así queda mas claro...


Al hacer click en el botón conectar se inicia el proceso de conexión al servidor indicado...

Private Sub boton_conectar_Click()
Dim cadena_conexion

'creamos la cadena de conexión 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 conexión al objeto
db.Connect = cadena_conexion
db.CursorDriver = rdUseServer

'establecemos la conexión
db.EstablishConnection
End Sub

Ese es el código que nos conectara a nuestro servidor MySQL, vemos en negrita los comentarios en el código que nos facilitaran entenderlo. El próximo 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 aca 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

Bien hasta aca tenemos todos los aspectos básicos de como conectarnos y trabajar con una base de datos MySQL desde Visual Basic, recordemos que el código aca mostrado forma parte de nuestro ejemplo que podemos descargar desde aqui: http://www.elguruprogramador.com.ar/contenidos/File/vbmysql.zip




enlace original: http://www.elguruprogramador.com.ar/articulos/conectando-a-un-servidor-mysql-desde-visual-basic.htm
muchas gracias por la ayuda

Comentarios

Entradas populares