MySQL + Visual Basic

Soy yo otra vez quisiera me enviaras el código completo para conectarme desde Visual Basic a MySQL, si se pudiera inclusive como realizar unas consultas. Todo esto desde la apertura de la concexión has ta el cierre de la conexión.
Gracias

1 Respuesta

Respuesta
1
Aquí tienes el código.
Primero debes asegurarte que tienes cargada la librería que vamos a utilizar, que es la ADO.
En el menú de Vb Proyecto->Rerefencias buscas una opción que se llama "Microsoft ActiveX Data Object 2.5 Library"(o puede ser 2.0 o 2.1) y la activas.
Después vas a crear para este ejemplo dos objetos, uno para la conexión a la base de datos y otro que contendrá la tabla o mejor dicho el grupo de registros resultado de una sentencia SQL sobre una o más tablas.
Primero declaramos los objetos.
Dim cnX As ADODB.Connection 'Para la conexión
Dim rsX As ADODB.Recordset 'Para el recordset
(Normalmente la conexión se declara pública en un módulo del proyecto para que se pueda usar en todo el proyecto y no estarla definiendo a cada momento y los recordsets se van declarando de acuerdo a lo que se necesita, por ejemplo: Public cnX As ADODB. Connection)
Set cnX = New ADODB.Connection 'Creamos una instancia de conexión
'Ahora le indicaremos cual DNS(Creado con ODBC por ejemplo) es el que va a tomar. Por medio del DNS es que Vb va a saber a cual base de datos va a apuntar. Si tuvieras que abrir 2 bases de datos, harías 2 DNS. También puedes hacer una conexión por medio de OLE DB sin tener que crear un DNS pero en este caso si lo es. Desde luego en el DNS establecimos la base de datos que manejaremos. En este ejemplo el DNS creado en el Panel de Control se llama "BaseX"
cnX.ConnectionString = "DSN=BaseX"
'Y finalmente con el método Open abrimos la conexión a la base de datos.
cnX.Open 'aqui es donde realmente abrimos la conexión a la base de datos
Set rsX = New ADODB.Recordset 'Abres nueva instancia para un recordset
rsX.LockType = adLockOptimistic 'El bloqueo de registros sera solo mientras se hace el update(si es que hacemos una actualización)
rsX.CursorLocation = adUseClient 'El objeto se creará en el cliente(PC donde se ejecuta) no en el servidor
'Abre el recordset. Nota que uno de los parámetros es cnX que es nuestra conexión definida antes. Con esto le indicamos en que conexión(o de que base de datos) vamos a abrir el recordset o grupo de registros
rsX.Open "Select * From Tabla", cnX, , , adCmdText
Despues puede recorrerlo
Do While Not rsX.EOF
List1.AddItem rsX.[Campo 1] & " " & rsX!Campo2
rsX.movenext
Loop
o también puede hacer actualizaciones como esta
rsX.Open "Delete From Tabla", cnX, , , adCmdText 'Borrar TODOS los registros
o
rsX.Open "Delete From Tabla Where Campo1 = " & sVariable1, cnX, , , adCmdText
rsX.Close 'Cierras recordset
cnX.Close 'Cierras conexión
Este código sirve para bases de datos en Access, SQL Server, Oracle, desde luego MySQL, etc. porque lo que cambia es el driver de ODBC.
Puedes leer la ayuda de Vb con todo lo referente a ADO y ahí viene mucha documentación y código de ejemplo.
Si tienes alguna duda dímela.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas