martes, 19 de agosto de 2008

Conexion a base de Datos Mysql con visual Basic 6.0



a qui les dejo un ejemplo de conexion a una base de datos hecha en mysql con visual basic 6.0 permite hacer consultas en tiempo de ejecucion, ingresando el servidor este puede ser local o remoto, elegir base de datos e ingresar usuario y contraseña, y escribir la consulta que se desea realizar.

'********************************************************************
Public conexion As ADODB.Connection
Public servi, bd, contra, usu_bd As String
Public recorset As ADODB.Recordset


Private Sub Command1_Click()
Set conexion = New ADODB.Connection

servi = Trim(servidor.Text)
bd = Trim(base.Text)
contra = Trim(contraseña.Text)
usu_bd = Trim(usuario.Text)
conexion.CursorLocation = adUseServer
conexion.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & servi & ";DATABASE=" & bd & ";PWD=" & contra & ";UID=" & usu_bd & ";OPTION=3"
conexion.Open

Timer1.Interval = 100

End Sub

Private Sub Command2_Click()
Set recorset = New ADODB.Recordset
recorset.CursorLocation = adUseClient
recorset.ActiveConnection = conexion
recorset.LockType = adLockOptimistic
recorset.CursorType = adOpenDynamic
recorset.Open Trim(Text1.Text)
Set DataGrid1.DataSource = recorset
End Sub

Private Sub Command3_Click()
conexion.Close
If conexion.State = adStateOpen Then
mensaje.Caption = "la conexion esta establecida"
End If

If conexion.State = adStateClosed Then
mensaje.Caption = "la conexion esta cerrada"
End If

End Sub

Private Sub Timer1_Timer()
If conexion.State = adStateOpen Then
mensaje.Caption = "la conexion esta establecida"
End If

If conexion.State = adStateClosed Then
mensaje.Caption = "la conexion esta cerrada"
End If

End Sub

'***************************************************************************
el boton command1 es el boton de conectar, el boton command2 es el boton de consultar y el boton command3 es el boton de cerrar.

tiene un timer para monitorear el estado de la conexion.

no se olviden de agregar una referencia a "Microsoft ActiveX Data Objects 2.0 Library" en menu proyecto->referencias.

espero y les sea de mucha utilidad.

8 comentarios:

Anónimo dijo...

Eres un genio estaba buscando este codigo entre tanta basura de la web este es un tesoro XD. Muchas gracias.
Salu2

Anónimo dijo...

gracias, ahorita estoy viendo que es mucho mas sencillo manejar mysql y visual basic 6.0 que compricarse la vida con otros manejadores. es sencillisimos de usar aun en redes.

Anónimo dijo...

Oiieee me sale un error con la variable "mensaje"...

ke onda con esa variable

EDG@R dijo...

"mensaje" no es una variable es un label que tienes que agregar a el formulario y ahi aparecen los estados de la coneccion.

Anónimo dijo...

hola
disculpa estoy tratando de implementar tu codigo pero me causa algunos errores...
el label k dices co el nombre mensaje no me asigna la propiedad caption dice k no pertenece a label
y los siguientes errores:
adUseServer
adUseClient
adLockOptimistic
adOpenDynamic
adStateOpenadStateClosed
los cuales no se si son variables o algunas instrucciones no declaradas...
espero puedas ayudarme, me sera de gran ayuda...
muchas gracias.

EDG@R dijo...

las siguiente lista son propiedades del objeto recorset:
adUseServer
adUseClient
adLockOptimistic
adOpenDynamic
adStateOpenadStateClosed

son los modos de ejecucion, y el "MENSAJE" es un label que solo le tienen que cambiar el nombre a mensaje.

Anónimo dijo...

muchas gracias por responder
lo k pasa k trato de implementarlo
pero para acces... esa lista ya me salio, pero lo del label sigue sin aceptarmelo...
detodos modos no me da resultados
aunk ya no me marca errores.

EDG@R dijo...

hola nuevamente lo que pasa es que el label solo sirve para mostrar los estados de la conexion es decir si esta conectada o desconectada y los controladores son para mysql prueba con los controladores para access, cualquier duda estoy a tus ordenes