AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Editores / Editor de ventanas y de páginas
  • Presentación
  • ¿Qué es un contexto HFSQL?
  • Contexto HFSQL independiente
  • Transacciones y contexto HFSQL independiente
  • Limitación: Archivos de datos en formato 5.5 y vistas en formato Hyper File 5.5
  • Limitación: Contexto HFSQL independiente y uso de un controlador ODBC
  • Contextos y ventanas HFSQL
  • ¿Cómo administrar el contexto HFSQL de una ventana?
  • Si los contextos HFSQL no son independientes para cada ventana (opción no seleccionada)
  • Si los contextos HFSQL son independientes para cada ventana (opción seleccionada)
  • Contextos e informes HFSQL
  • ¿Cómo gestionar el contexto HFSQL de una reporte?
  • Si los contextos HFSQL no son independientes para cada reporte
  • Si los contextos HFSQL son independientes para cada reporte
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Gestión de los contextos HFSQL en las ventanas y en los informes
Presentación
Un contexto HFSQL contiene información relativa a los datos utilizados:
  • Información sobre la actual Record: El número de Record, el contenido de los artículos, ...
  • Valores de HFound, HOut, ...
  • Características del filtro actual.
  • Características de la búsqueda actual.
  • Características de la navegación actual.
  • Nombre de los archivos abiertos.
  • Nombre y características de las consultas (HExecuteSQLQuery, HExecuteQuery, SQLExec, SQLExecWDR).
Observación: Se permite una sola transacción por contexto HFSQL.
¿Qué es un contexto HFSQL?

Contexto HFSQL independiente

WINDEV le permite crear contextos HFSQL independientes:
Al abrir la ventana (o el reporte), el contexto HFSQL existente se "duplica" automáticamente (se crea un copy del contexto existente): las operaciones realizadas en cada uno de los contextos serán independientes de las realizadas en los otros contextos. El uso de un contexto independiente proporciona el mismo resultado que si dos instancias de la misma aplicación se ejecutaran en paralelo.
Se recomienda la gestión de un contexto independiente de HFSQL para las aplicaciones MDI y multi-Thread.
Se tiene en cuenta el contexto HFSQL independiente:
  • Cuando una base de datos HFSQL es manejada por la Funciones HFSQL (que comienza con la letra H).
  • Cuando una base de datos HFSQL es manejada por la Funciones SQL (que comienza con las letras SQL).
  • Cuando se maneja cualquier base de datos a través de un controlador ODBC, mediante el uso de la herramienta Funciones SQL.
Observaciones:
  • Desde el código global de una ventana padre MDI, no se puede acceder a una ejecución de consulta en una ventana secundaria con un contexto HFSQL independiente, incluso si la fuente de datos utilizada es global para el proyecto.
  • Todos los Conectores Nativos soportan contextos HFSQL independientes: el contexto se copia y las operaciones realizadas son independientes. Sin embargo, algunos Conectores Nativos no guardan la posición actual al copiar el contexto.. En este caso, es necesario volver a fijar la posición a la Record actual después de copiar el contexto..

Transacciones y contexto HFSQL independiente

Al copiar un contexto, si una transacción está en curso en el primer contexto, el nuevo contexto no está en la transacción.. Debe llamar a HTransactionStart para iniciar una transacción en el nuevo contexto.

Limitación: Archivos de datos en formato 5.5 y vistas en formato Hyper File 5.5

  • Los contextos independientes no son compatibles con los archivos de Hyper File 5.5.
  • La copy de un contexto HFSQL (contexto HFSQL independiente creado a partir de un contexto existente) falla si hay una vista de Hyper File 5.5 (HCreateView_55 mantenida por compatibilidad con versiones anteriores) en el contexto HFSQL original.

Limitación: Contexto HFSQL independiente y uso de un controlador ODBC

Atención: la consulta se duplicará sólo si la copy del contexto (apertura de la ventana o de la reporte) se realiza UNA VEZ que la navegación fue inicializada por SQLFirst.
No hacer
IF SQLExec("Query1") THEN
Open(WIN_Result)
END
Do
IF SQLExec("Query1") THEN
SQLFirst("Query1")
Open(WIN_Result)
END
Contextos y ventanas HFSQL

¿Cómo administrar el contexto HFSQL de una ventana?

Administrar (o no) el contexto HFSQL independiente de una ventana:
  1. Mostrar la ventana description.
  2. Vaya a la pestaña "Detalles".
  3. Si es necesario, seleccione "Contexto HFSQL independiente".

Si los contextos HFSQL no son independientes para cada ventana (opción no seleccionada)

Cada vez que se abre una ventana, el contexto HFSQL se actualiza según las operaciones realizadas en la ventana.
Todas las ventanas trabajan en el mismo contexto HFSQL.
Si la misma ventana se abre varias veces en paralelo en la aplicación, los contextos HFSQL pueden solaparse y los datos utilizados pueden no corresponderse con los datos esperados.

Si los contextos HFSQL son independientes para cada ventana (opción seleccionada)

El contexto HFSQL actual se copia por completo cada vez que se abre una nueva ventana.. Esto le permite realizar diferentes operaciones (filtros, clasificaciones, búsquedas) en el mismo archivo, en ventanas abiertas en paralelo.. Cada ventana tiene su propio contexto. No hay riesgo de que se mezclen los datos.
Cada contexto HFSQL es independiente, los bloqueos de Record pueden ser manejados en cada contexto. Cerrar una ventana con un contexto independiente:
  • desbloquea automáticamente los registros bloqueados por esta ventana,
  • cerrará el contexto independiente.
Además, una función HFSQL utilizada en un contexto no tendrá ningún efecto fuera de este contexto. Por lo tanto, si la gestión de notas está habilitada al abrir los contextos independientes, tiene la posibilidad de deshabilitar esta función en una ventana.: la desactivación de los memos sólo se realizará en el contexto correspondiente a la ventana.
Contextos e informes HFSQL

¿Cómo gestionar el contexto HFSQL de una reporte?

Gestionar (o no) el contexto HFSQL independiente de una reporte:
  1. Abra la descripción del reporte (seleccione "Descripción del reporte" en el menú contextual).
  2. En la pestaña "Datos", marque "La ejecución del reporte no afecta las operaciones de navegación (contexto HFSQL independiente)", si es necesario.

Si los contextos HFSQL no son independientes para cada reporte

Cada vez que se imprime una reporte, el contexto HFSQL se actualiza de acuerdo con las operaciones realizadas en el reporte. Todos los informes actualmente impresos utilizan el mismo contexto HFSQL.
Si varios informes examinan simultáneamente el mismo archivo, le recomendamos que utilice contextos HFSQL independientes.

Si los contextos HFSQL son independientes para cada reporte

El contexto HFSQL actual se copia completamente cada vez que se imprime una nueva reporte.. Esto le permite realizar diferentes operaciones (filtros, clasificaciones, búsquedas) en el mismo archivo, en informes abiertos en paralelo.. Cada reporte tiene su propio contexto. No hay riesgo de que se mezclen los datos.
Ver también
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 24/06/2023

Señalar un error o enviar una sugerencia | Ayuda local