SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: willysistemas en Domingo 9 de Marzo de 2008, 13:34

Título: Error En Conexion Mysql
Publicado por: willysistemas en Domingo 9 de Marzo de 2008, 13:34
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
Título: Re: Error En Conexion Mysql
Publicado por: F_Tanori en Lunes 10 de Marzo de 2008, 02:12
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
Título: Re: Error En Conexion Mysql
Publicado por: 9tnix en Miércoles 12 de Marzo de 2008, 17:26
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]
Título: Re: Error En Conexion Mysql
Publicado por: willysistemas en Domingo 16 de Marzo de 2008, 16:30
Ok. lo he solucionado gracias a todos por su ayuda sus aportes son muy valiosos espero me sigan ayudando en mis dificultades


MIL GRACIAS!!!