Hola,
Creo que sería interesante añadir una propiedad a AdoDatasource que puede llamarse cDefaultDatabase para que, en el momento de la creación, podamos indicar el nombre de la base de datos que se quiere abrir.
A veces la cadena de conexión no contiene ese valor.
Saludos,
José Luis Capel
Por ejemplo, la case podría quedar así
CLASS tAdoDatasource FROM xAdoDatasource
PROPERTY cDefaultDatabase
METHOD Connect()
ENCLASS
METHOD Connect( cConnect ) CLASS tAdoDataSource
LOCAL oError, oDataLink
UPDATE ::cConnect TO cConnect
::DisConnect()
::OnConnect( ::oConnection )
// Establecemos parametros conexion
TRY
WITH OBJECT ::oConnection
:Attributes := ::nAttributes
:CommandTimeOut := ::nTimeOut
:ConnectionString := ::cConnect
:ConnectionTimeOut := ::nConnTimeOut
:CursorLocation := ::nCursorLocation
:IsolationLevel := ::nIsolationLevel
:Mode := ::nMode
IF !EMPTY(::cDefaultDatabase)
:DefaultDatabase := ::cDefaultDatabase
ENDIF
END WITH
CATCH oError
::NewADOError( "ADODB:oConnection:Params" )
RETURN .F.
END
// Intentamos conectar
TRY
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
TRY
IF Empty( ::cConnect )
oDataLink := TOleAuto():New( "DataLinks" )
oDataLink:PromptEdit( ::oConnection )
::FcConnect := ::oConnection:ConnectionString
oDataLink := NIL
ENDIF
::Properties( "Prompt" ):Value := 2
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
::NewADOError( "ADODB:oConnection:Open" )
RETURN .F.
END
END
::FlConnected := ::State() != adStateClosed
::FcConnect := ::oConnection:ConnectionString
::OnConnected()
RETURN .T.
--
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
DefaultDatabase de Ado
- ignacio
- Site Admin
- Mensajes: 9460
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
DefaultDatabase de Ado
José Luis,
Echale un vistazo al nuevo método TAdoDataSource:ConnectTag.
Espero que te guste
Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"José Luis Capel - V" <capelsoft@terra.es> escribió en el mensaje news:[email=4ae43e16@svctag-j7w3v3j....]4ae43e16@svctag-j7w3v3j....[/email]
Hola,
Creo que sería interesante añadir una propiedad a AdoDatasource que puede llamarse cDefaultDatabase para que, en el momento de la creación, podamos indicar el nombre de la base de datos que se quiere abrir.
A veces la cadena de conexión no contiene ese valor.
Saludos,
José Luis Capel
Por ejemplo, la case podría quedar así
CLASS tAdoDatasource FROM xAdoDatasource
PROPERTY cDefaultDatabase
METHOD Connect()
ENCLASS
METHOD Connect( cConnect ) CLASS tAdoDataSource
LOCAL oError, oDataLink
UPDATE ::cConnect TO cConnect
::DisConnect()
::OnConnect( ::oConnection )
// Establecemos parametros conexion
TRY
WITH OBJECT ::oConnection
:Attributes := ::nAttributes
:CommandTimeOut := ::nTimeOut
:ConnectionString := ::cConnect
:ConnectionTimeOut := ::nConnTimeOut
:CursorLocation := ::nCursorLocation
:IsolationLevel := ::nIsolationLevel
:Mode := ::nMode
IF !EMPTY(::cDefaultDatabase)
:DefaultDatabase := ::cDefaultDatabase
ENDIF
END WITH
CATCH oError
::NewADOError( "ADODB:oConnection:Params" )
RETURN .F.
END
// Intentamos conectar
TRY
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
TRY
IF Empty( ::cConnect )
oDataLink := TOleAuto():New( "DataLinks" )
oDataLink:PromptEdit( ::oConnection )
::FcConnect := ::oConnection:ConnectionString
oDataLink := NIL
ENDIF
::Properties( "Prompt" ):Value := 2
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
::NewADOError( "ADODB:oConnection:Open" )
RETURN .F.
END
END
::FlConnected := ::State() != adStateClosed
::FcConnect := ::oConnection:ConnectionString
::OnConnected()
RETURN .T.
--
Echale un vistazo al nuevo método TAdoDataSource:ConnectTag.
Espero que te guste

Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"José Luis Capel - V" <capelsoft@terra.es> escribió en el mensaje news:[email=4ae43e16@svctag-j7w3v3j....]4ae43e16@svctag-j7w3v3j....[/email]
Hola,
Creo que sería interesante añadir una propiedad a AdoDatasource que puede llamarse cDefaultDatabase para que, en el momento de la creación, podamos indicar el nombre de la base de datos que se quiere abrir.
A veces la cadena de conexión no contiene ese valor.
Saludos,
José Luis Capel
Por ejemplo, la case podría quedar así
CLASS tAdoDatasource FROM xAdoDatasource
PROPERTY cDefaultDatabase
METHOD Connect()
ENCLASS
METHOD Connect( cConnect ) CLASS tAdoDataSource
LOCAL oError, oDataLink
UPDATE ::cConnect TO cConnect
::DisConnect()
::OnConnect( ::oConnection )
// Establecemos parametros conexion
TRY
WITH OBJECT ::oConnection
:Attributes := ::nAttributes
:CommandTimeOut := ::nTimeOut
:ConnectionString := ::cConnect
:ConnectionTimeOut := ::nConnTimeOut
:CursorLocation := ::nCursorLocation
:IsolationLevel := ::nIsolationLevel
:Mode := ::nMode
IF !EMPTY(::cDefaultDatabase)
:DefaultDatabase := ::cDefaultDatabase
ENDIF
END WITH
CATCH oError
::NewADOError( "ADODB:oConnection:Params" )
RETURN .F.
END
// Intentamos conectar
TRY
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
TRY
IF Empty( ::cConnect )
oDataLink := TOleAuto():New( "DataLinks" )
oDataLink:PromptEdit( ::oConnection )
::FcConnect := ::oConnection:ConnectionString
oDataLink := NIL
ENDIF
::Properties( "Prompt" ):Value := 2
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
::NewADOError( "ADODB:oConnection:Open" )
RETURN .F.
END
END
::FlConnected := ::State() != adStateClosed
::FcConnect := ::oConnection:ConnectionString
::OnConnected()
RETURN .T.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
DefaultDatabase de Ado
Ignacio,
Me gusta
)
Saludos,
José Luis Capel
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el mensaje news:4ae5be1f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
José Luis,
Echale un vistazo al nuevo método TAdoDataSource:ConnectTag.
Espero que te guste
Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"José Luis Capel - V" <capelsoft@terra.es> escribió en el mensaje news:[email=4ae43e16@svctag-j7w3v3j....]4ae43e16@svctag-j7w3v3j....[/email]
Hola,
Creo que sería interesante añadir una propiedad a AdoDatasource que puede llamarse cDefaultDatabase para que, en el momento de la creación, podamos indicar el nombre de la base de datos que se quiere abrir.
A veces la cadena de conexión no contiene ese valor.
Saludos,
José Luis Capel
Por ejemplo, la case podría quedar así
CLASS tAdoDatasource FROM xAdoDatasource
PROPERTY cDefaultDatabase
METHOD Connect()
ENCLASS
METHOD Connect( cConnect ) CLASS tAdoDataSource
LOCAL oError, oDataLink
UPDATE ::cConnect TO cConnect
::DisConnect()
::OnConnect( ::oConnection )
// Establecemos parametros conexion
TRY
WITH OBJECT ::oConnection
:Attributes := ::nAttributes
:CommandTimeOut := ::nTimeOut
:ConnectionString := ::cConnect
:ConnectionTimeOut := ::nConnTimeOut
:CursorLocation := ::nCursorLocation
:IsolationLevel := ::nIsolationLevel
:Mode := ::nMode
IF !EMPTY(::cDefaultDatabase)
:DefaultDatabase := ::cDefaultDatabase
ENDIF
END WITH
CATCH oError
::NewADOError( "ADODB:oConnection:Params" )
RETURN .F.
END
// Intentamos conectar
TRY
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
TRY
IF Empty( ::cConnect )
oDataLink := TOleAuto():New( "DataLinks" )
oDataLink:PromptEdit( ::oConnection )
::FcConnect := ::oConnection:ConnectionString
oDataLink := NIL
ENDIF
::Properties( "Prompt" ):Value := 2
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
::NewADOError( "ADODB:oConnection:Open" )
RETURN .F.
END
END
::FlConnected := ::State() != adStateClosed
::FcConnect := ::oConnection:ConnectionString
::OnConnected()
RETURN .T.
--
Me gusta

Saludos,
José Luis Capel
"Ignacio Ortiz de Zúñiga" <NoNameToAvoidSpam@xailer.com> escribió en el mensaje news:4ae5be1f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
José Luis,
Echale un vistazo al nuevo método TAdoDataSource:ConnectTag.
Espero que te guste

Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"José Luis Capel - V" <capelsoft@terra.es> escribió en el mensaje news:[email=4ae43e16@svctag-j7w3v3j....]4ae43e16@svctag-j7w3v3j....[/email]
Hola,
Creo que sería interesante añadir una propiedad a AdoDatasource que puede llamarse cDefaultDatabase para que, en el momento de la creación, podamos indicar el nombre de la base de datos que se quiere abrir.
A veces la cadena de conexión no contiene ese valor.
Saludos,
José Luis Capel
Por ejemplo, la case podría quedar así
CLASS tAdoDatasource FROM xAdoDatasource
PROPERTY cDefaultDatabase
METHOD Connect()
ENCLASS
METHOD Connect( cConnect ) CLASS tAdoDataSource
LOCAL oError, oDataLink
UPDATE ::cConnect TO cConnect
::DisConnect()
::OnConnect( ::oConnection )
// Establecemos parametros conexion
TRY
WITH OBJECT ::oConnection
:Attributes := ::nAttributes
:CommandTimeOut := ::nTimeOut
:ConnectionString := ::cConnect
:ConnectionTimeOut := ::nConnTimeOut
:CursorLocation := ::nCursorLocation
:IsolationLevel := ::nIsolationLevel
:Mode := ::nMode
IF !EMPTY(::cDefaultDatabase)
:DefaultDatabase := ::cDefaultDatabase
ENDIF
END WITH
CATCH oError
::NewADOError( "ADODB:oConnection:Params" )
RETURN .F.
END
// Intentamos conectar
TRY
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
TRY
IF Empty( ::cConnect )
oDataLink := TOleAuto():New( "DataLinks" )
oDataLink:PromptEdit( ::oConnection )
::FcConnect := ::oConnection:ConnectionString
oDataLink := NIL
ENDIF
::Properties( "Prompt" ):Value := 2
::oConnection:Open( ::cConnect, ::cUser, ::cPassword, ;
IIf( ::lConnectAsync, adAsyncConnect, adConnectUnspecified ) )
CATCH oError
::NewADOError( "ADODB:oConnection:Open" )
RETURN .F.
END
END
::FlConnected := ::State() != adStateClosed
::FcConnect := ::oConnection:ConnectionString
::OnConnected()
RETURN .T.
--