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.

Conexion centralizada

Foro público de Xailer en español
Responder
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Conexion centralizada

Mensaje por Andres Hocevar »

Hola a Todos
En una consulta pasada pregunte si habia la posibilidad de centralizar la
conexion en una clase y poder usarla en todas las formas, la respuesta fue
"no hasta una futura version", ahora bien cuando edito la forma necesito
tener la conexion viva igual que la consulta para facilitar la construccion
de la misma, pero en tiempo de ejecucion prefiero poner la conexion en una
variable publica y usarla en toda la aplicacion, mi pregunta es puedo hacer
que la conexion de la forma se desactive en tiempo de ejecucion pero que
este activa cuando esta en el IDE? si es afirmativa cual seria la mejor
forma de hacerlo
Gracias
Mario Hahn
Mensajes: 33
Registrado: Sab Jul 15, 2006 12:05 am

Conexion centralizada

Mensaje por Mario Hahn »

En mis pruebas estoy haciendo lo siguiente, de acuerdo a la respuesta que
dió Ortíz de Zúñiga en su momento, en el modo diseño tengo una conexión con
su propiedad lConnected = .T., cuando pruebo el formulario lo pongo en .F.,
tengo creado una DATA oCX en donde almaceno la conexión que tengo el el
Formulario Principal de la Aplicación de la sugiente manera:
METHOD FormInitialize( oSender ) CLASS TFrmDatosFijos
Local oForm
With Object oForm := Application:oMainForm
::oTxtNombre:value := :Usuario
::oTxtFechaProceso:Value := :FechaProceso
::oCx := :oCx
End With
RETURN Nil
todos los OdbcDataSets lo inicializo de la siguiente manera en el evento
OnCreate:
METHOD OdbcDatosFijosCreate( oSender ) CLASS TFrmDatosFijos
With Object oSender
:oDataSource := Application:oMainForm:oCx
:lOpen := .T.
End With
RETURN Nil
cuando tengo que almacener los datos en los nuevos OdbcDataSets hago lo
siguiente:
IF ::oRadioNroSocio:lChecked = .T.
nCampo = "nro_socio"
buscar = ::oTxtBuscar:value
::oOdbcNroSocio := ::oCx:Query("Select * from datsoc where " + nCampo
+ " = '" + buscar + "'" )
ELSE
nCampo = "nombre"
buscar := alltrim(::oTxtBuscar:value)
::oOdbcNombre := ::oCx:Query("Select * from datsoc where nombre like
'%" + buscar + "%'" )
ENDIF
Luego los abrís y los trabajás sin problema.
Espero haberte ayudado.
Saludos.
Mario Hahn
Puerto Rico - Misiones - Argentina
"Andres Hocevar" <datasql@gmail.com> escribió en el mensaje
news:[email=4720941d@ozsrv2.ozlan.local...]4720941d@ozsrv2.ozlan.local...[/email]
> Hola a Todos
>
> En una consulta pasada pregunte si habia la posibilidad de centralizar la
> conexion en una clase y poder usarla en todas las formas, la respuesta
> fue "no hasta una futura version", ahora bien cuando edito la forma
> necesito tener la conexion viva igual que la consulta para facilitar la
> construccion de la misma, pero en tiempo de ejecucion prefiero poner la
> conexion en una variable publica y usarla en toda la aplicacion, mi
> pregunta es puedo hacer que la conexion de la forma se desactive en tiempo
> de ejecucion pero que este activa cuando esta en el IDE? si es afirmativa
> cual seria la mejor forma de hacerlo
>
> Gracias
>
>
Responder