La Web del Programador: Comunidad de Programadores
 
    Pregunta:  63701 - CONECCION MYSQL
Autor:  Jeckson Sampayo Mendoza
buenas; me gustaria saber como puedo conectarme POR MEDIO DE CODIGO a una bd creada en MySQL, tengo instalado VB2008 express. si pueden agregar ejemplos, de guardar, eliminar modificar y buscar, gracias

  Respuesta:  Nairo Ricardo
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, veamos con // 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

ES LO QUE SE TIENE QUE HACER DE ESTA MANERA PODRÁS TENER YA MAS O MENOS ORGANIZADA TU BASE DE DATOS CON TU APLICACION PUEDES ESCRIVIRME AL CORREO POR SI TIENES CONTRATIEMPOS