• Viernes 8 de Noviembre de 2024, 14:00

Autor Tema:  Error En Conexion Mysql  (Leído 1766 veces)

willysistemas

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Error En Conexion Mysql
« en: Domingo 9 de Marzo de 2008, 13:34 »
0
Hola todos estoy haciendo una pequeña aplicacion en visual basic 6 y trato de establecer una conexion a mysql les pego a continuacion el codigo que utilizo

este codigo lo tengo en un modulo

Public Function ConectarMysql(ByVal IniServidor As String, ByVal IniUsuario As String, ByVal IniPasword As String, ByVal IniBaseDatos As String) As String


Dim consql As String

With ConectarMysql
    Set ConectarMysql = New ADODB.Connection
    ConectarMysql.CursorLocation = adUseClient
    consql = "Driver={MySQL ODBC 3.51 Driver};server=" & IniServidor & ";uid=" & IniUsuario & ";pwd=" & IniPasword & ";database=" & IniBaseDatos & ";connection="
    ConectarMysql.ConnectionString = consql
    ConectarMysql.CommandTimeout = 40
    ConectarMysql.Open
End With

End Function


en el formulario llamo de la siguiente forma la funcion



Private Sub Command3_Click()
Call ConectarMysql("localhost", "root", "", "prueba")
MsgBox "conectado a la base de datos"
End Sub


al ejecutar me da el siguiente error:
el objeto with debe ser de un tipo definido por el usuario, object o variant

espero me digan donde esta el error

gracias de antemano
Chaka Zulu

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Error En Conexion Mysql
« Respuesta #1 en: Lunes 10 de Marzo de 2008, 02:12 »
0
instancia primero el objeto

Código: Text
  1. Set ConectarMysql = New ADODB.Connection
  2.  
  3. With ConectarMysql
  4. .
  5. .
  6. .
  7. .
  8.  

Como no se ve ese objeto de conexion declarado dentro de la funcion, supongo que es una variable de instancia o global

de cualquier forma puedes instanciar al momento de declarar la variable

Código: Text
  1. dim ConectarMysql as New ADODB.Connection
  2.  

o

Código: Text
  1. Public ConectarMysql as New ADODB.Connection
  2.  

o sin usar ADODB.

Código: Text
  1. dim ConectarMysql as New Connection
  2.  

cuando creas la instancia al momento de la declaracion te evitas este paso

Código: Text
  1. Set ConectarMysql = New ADODB.Connection
  2.  
  3.  

Saludos Espero te sea de ayuda
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

9tnix

  • Miembro MUY activo
  • ***
  • Mensajes: 165
  • Nacionalidad: pe
    • Ver Perfil
Re: Error En Conexion Mysql
« Respuesta #2 en: Miércoles 12 de Marzo de 2008, 17:26 »
0
Hola willysistemas

El uso de With es para objetos no para nombre de funciones,  ni variables salvo estructuras. Como te indica F_Tanori debes instanciar primero un objeto coneccion para luego valga la redundancia puedas utilizar las propiedades de este objeto coneccion usando el With de tal forma que ya no estes repitiendo el nombre del objeto sino solo usando sus propiedades y metodos en el.

Un saludo
Zeekel [TKLP]
TP-Systems
our knowledge is our power!

willysistemas

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Error En Conexion Mysql
« Respuesta #3 en: Domingo 16 de Marzo de 2008, 16:30 »
0
Ok. lo he solucionado gracias a todos por su ayuda sus aportes son muy valiosos espero me sigan ayudando en mis dificultades


MIL GRACIAS!!!
Chaka Zulu