Conexión mysql y visual basic

Como conecto visual basic 6.0 con mysql
1

1 respuesta

1
Respuesta de
La mejor opción es usar ADO mediante el driver de conexión Myodbc.
Para realizar la conexión con la base de datos debes usar el siguiente código:
'Definición de la variable de conexión
Public mConn As ADODB.Connection
Public Sub ConectarBase()
'Etiqueta para verificar si se ha producido un error en la conexión
'On Error GoTo controlerror
'Apertura de la base de datos
'Se crea la variable que contiene la conexión con la base de datos
Set mConn = New ADODB.Connection
'Indica el intervalo de espera para que se ejecute un comando antes de que
'finalice el intento y se genere un error.
mConn.CommandTimeout = 40
'Indica el intervalo de espera mientras se establece una conexión antes de
'que finalice el intento y se genere un error.
mConn.ConnectionTimeout = 40
'Establece o devuelve la posición de un motor de cursores.
'En nuestro caso lo ponemos del lado del cliente
mConn.CursorLocation = adUseClient
'Contiene la información que se utiliza para establecer una conexión a un
'origen de datos.
mConn.ConnectionString = _
"UID=benito" & _
";PWD=benito" & _
";DATABASE=autonomo;" & _
"SERVER=localhost;" & _
"DRIVER={MySQL ODBC 3.51 Driver};"
' donde
'UID: El nombre de usuario que tiene permiso para conectarse
'PWD: La contraseña para UID
'DATABASE: El nombre de la base de datos
'SERVER: El nombre del host o la dirección IP
'DRIVER: El nombre del controlador ODBC
'Se abre la conexión
mConn.Open
'Se introduce el valor en la variable usuario
Usuario = "Pepe"
'Se llama al formulario principal para que introduzca en la barra de estado
'la información acerca del usuario
' mdiPrincipal.PonerUsuario
'Se oculta el formulario de entrada de usuario
'frmLogin.Hide
'Se muestra el formulario tapiz del principal
'Me conecto al a base de datos para recoger los permisos
'que tiene el usuario
' Set Sesion = DameSesion(frmLogin.txtUserName.Text)
frmPrincipal.Enabled = True
frmPrincipal.Show
Exit Sub
controlerror:
'Se ha producido un error. Le damos la oportunidad al usuario
'de que vuelva a insertar su nombre y contraseña
'MsgBox "Compruebe nombre y contraseña" & frmLogin.txtPassword.Text, vbCritical
'frmLogin.txtUserName.SetFocus
End Sub
Luego, cuando quieras realizar una consulta por ejemplo usas el código siguiente:
'Declaras la variable recordSet
Dim rs As ADODB.RecordSet
'Se inicializa el manejador
Set rs = New ADODB.Recordset
'Se introducen los parámetros de conexión
rs.CursorType = adOpenKeyset
rs.LockType= adLockPessimistic
'Se obtiene la cadena SQL rs.Source = "SELECT campo1, campo 2 FROM tabla"
rs.ActiveConnection = mConn
'Finalmente se abre
rs.Open
Para acceder a los campos resultado de la consulta tendrías que usar:
rs.Fields(0).value --> sería el campo 1
rs.Fields(1).value --> sería
El campo 2
Para verificar si el recordset esta vacío (porque el resultado de la consulta sea de 0 filas) usamos la instrucción:
rs.EOF --> variable booleana que nos dice si esta vacío
Para moverse por el recordset se usa la instrucción:
rs.MoveNext
En caso de querer ejecutar una instrucción SQL de actualización de la base de datos en lugar de una consulta
deberás usar el siguiente código:
'Declaramos la variable
'Command
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandType = 1
cmd.CommandTimeout = 40
'Se contruye la cadena para hacer update o el insert o el delete....
cmd.CommandText = "update table set campo1 = 'x' where campo2 = 'y'"
cmd.Execute
Espero que te sirva de algo todo esto, y si tienes alguna duda, únicamente tienes que preguntar.
Un saludito.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema MySQL o hacer tu propia pregunta: