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 / WLanguage / Administrar bases de datos
  • Presentación
  • Principio de gestión asistida
  • Principio
  • Observaciones
  • Funcionamiento estándar
  • Error de duplicación
  • Error de integridad
  • Error de contraseña
  • Error de conflicto de modificación y error de conflicto de estado de modificación
  • Error de bloqueo
  • Base de datos Input( requerida con acceso a OLE DB)
  • Reindexación en curso
  • La reconexión de automatic al servidor HFSQL
  • Personalización
  • Las diferentes soluciones
  • Implementación
  • Ejemplos de ventanas o páginas que se pueden incluir fácilmente en sus aplicaciones
  • Constantes utilizadas para personalizar los errores
  • Desactivación de la gestión asistida
  • Presentación
  • Implementación
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 asistida de errores HFSQL
ODBCNo disponible con este tipo de conexión
Presentación
WINDEV y WEBDEV incluyen un módulo para la gestión asistida de errores HFSQL. Una ventana o página específica se muestra automáticamente para los siguientes tipos de errores:
Los diferentes casos de error que pueden ocurrir deben ser comprobados después de cada función HFSQL que maneje un archivo de datos. Si no se realiza esta comprobación, se genera un error WLanguage y la aplicación se detiene.
HOnError se utiliza para personalizar la gestión asistida de errores o para desactivar esta gestión.. Para cada tipo de error, puede hacerlo:
  • Gestione este error a través de una ventana/página específica o a través de un Procedure (ver Gestionar un error HFSQL a través de un Procedure para más detalles).
  • Desactivar la gestión asistida y gestionar el error mediante programación (como en WINDEV 5.5).
Java En las aplicaciones Java, Android o Android Widget, sólo tiene la posibilidad de personalizar el error de reconexión automatic al servidor HFSQL con HOnError. Sólo la ventana para la reconexión de automatic al servidor HFSQL es mostrada por Default. Para todos los demás errores, debe Process el error.
Principio de gestión asistida

Principio

Para simplificar la programación de la gestión de archivos de datos, los tipos de errores más comunes son gestionados automáticamente por el motor HFSQL.
Este manejo de automatic ayuda al usuario Process el error. En la mayoría de los casos, el error se debe a un problema relacionado con los datos introducidos.
Esta gestión de automatic es propuesta por Default y puede ser personalizada o desactivada.

Observaciones

La gestión asistida de errores está disponible para archivos de datos en formato Hyper File Classic y Hyper File 5.5, para archivos de datos utilizados a través de un Conector Nativo (también llamado Native Access) y para archivos de datos utilizados a través de un proveedor de OLE DB.
If sus archivos de datos se manejan a través de un proveedor de OLE DB, sólo se gestionan los siguientes elementos:
  • The duplicate errors
    Atención: Algunos errores duplicados pueden no ser reconocidos como tales por el acceso a la base de datos OLE DB.. Estos errores no serán manejados como errores duplicados sino que serán considerados como errores fatales.. Ejemplo: el análisis WINDEV y el description de la base de datos externa están fuera de sincronía y el description del archivo de datos del análisis no contiene todas las claves únicas definidas en la base de datos.
  • Errores de entrada necesarios
    Atención: el mensaje de error de entrada requerida sólo aparece si el proveedor de OLE DB indica que el elemento está asociado a la Property"NULL forbidden".. De lo contrario, el error será procesado como un error fatal.
Si los archivos de datos se manipulan a través de un Conector Nativo, la gestión de las contraseñas obligatorias no está disponible.
Funcionamiento estándar

Error de duplicación

  • Causa de error
    El usuario añade un Record para el que ya existe el valor de una clave única.
    Por ejemplo, el código postal y el nombre del estado se definen como claves únicas en el archivo Cedex. Se produce un error de duplicado al añadir un estado cuyo número ya se ha encontrado.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Si se detecta un error de duplicación, se muestra una ventana o una página en la que se pide al usuario que modifique el valor de la Record que ha provocado el error.
  • Gestión del error
    Compruebe el resultado de HErrorDuplicates después de cada llamada a una función HFSQL que pueda desencadenar un duplicado Error(HAdd o HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.

Error de integridad

  • Causa de error
    El usuario intenta añadir un Record sin respetar las restricciones de integridad definidas entre los archivos del análisis.
    Por ejemplo, los ficheros denominados CEDEX, STATE y REGION son relacionado entre sí. Estos enlaces cumplen con las restricciones de integridad relacional. Se produce un error de integridad al añadir un estado sin crear la región correspondiente.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Cuando se produce un error de integridad, se muestra una ventana o una página, pidiendo al usuario que Cancel la operación o que modifique los datos introducidos.
  • Gestión del error
    Compruebe el resultado de HErrorIntegrity después de cada llamada a una función HFSQL que pueda desencadenar un duplicado Error(HAdd o HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.

Error de contraseña

  • Causa de error
    El programa intenta a manipular un archivo protegido por contraseña (abrir, primera operación leída, ....). La contraseña no fue especificada a través de la programación: se produce un error de contraseña.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Cuando se produce un error de contraseña, se muestra una ventana o una página que permite al usuario escribir la contraseña del archivo.
  • Gestión del error
    Compruebe el resultado de HErrorPassword después de cada llamada a una función HFSQL que pueda desencadenar una contraseña Error(HOpen por ejemplo o desde la primera función HFSQL que utilice el archivo). Los detalles del error son devueltos por HErrorInfo.

Error de conflicto de modificación y error de conflicto de estado de modificación

  • Causa de error
    Cuando se utiliza una aplicación en red, pueden producirse conflictos debido a los datos contradictorios introducidos por los diferentes usuarios..
    Por ejemplo:
    1. El usuario X edita el formulario de "California".
    2. El usuario Y edita el formulario de "California".
    3. El usuario X renombra el estado a "California_01".
    4. El usuario Y modifica el nombre del estado ("California_02") y guarda. Se produce un conflicto de modificación durante esta copia de seguridad.
      Se produce un conflicto de modificación.
      Se produce un conflicto de status de modificación cuando el usuario X borra el formulario, por ejemplo.
      Los diferentes casos se presentan a continuación en la tabla:
      Record leerHabilitadoCruzadoBorrado
      Record en disco
      HabilitadoConflicto de modificaciónConflicto de modificaciónConflicto de modificación
      CruzadoConflicto de estatus de modificaciónConflicto de modificaciónConflicto de modificación
      BorradoConflicto de estatus de modificaciónConflicto de estatus de modificaciónXXXX
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    • Si se produce un conflicto cuando se modifica un Record, se muestra una ventana que propone los posibles valores del Record:
      • el valor leído en el archivo (antes de la modificación).
      • el valor modificado por otro usuario.
      • el valor introducido por el usuario actual.
        A continuación, el usuario puede elegir el valor del elemento que se guardará.
    • Si se produce un conflicto al modificar un Record, se muestra una ventana que permite al usuario:
      • volver a activar los datos borrados.
      • mantener los datos en su estado actual.
        A continuación, el usuario puede elegir el valor del elemento que se guardará.
  • Gestión del error
    • Para los errores de conflicto de modificación, compruebe el resultado de HErrorModification después de cada llamada a una función HFSQL que pueda desencadenar este Error(HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.
    • Para los errores de conflicto de estado de modificación, compruebe el resultado de HErrorStatusModification después de cada llamada a una función HFSQL que pueda desencadenar este Error(HModify por ejemplo). Los detalles del error son devueltos por HErrorInfo.

Error de bloqueo

  • Causa de error
    En una aplicación de red, tiene la posibilidad de bloquear un Record o un archivo para realizar operaciones específicas, por ejemplo.
    Se produce un error de bloqueo cuando un ordenador de la red intenta acceder a un Record bloqueado.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Cuando se produce un error de bloqueo, el motor HFSQL realiza automáticamente la gestión de los bloqueos (comprobar si el archivo está bloqueado, procesar el bloqueo)..
    Una ventana o una página se muestra, indicando que el Record o archivo está bloqueado y permitiendo al usuario reintentar o Cancel la operación. En caso de cancelación, la aplicación sigue funcionando como siempre.
  • Gestión del error
    Compruebe el resultado de HErrorLock después de cada llamada a una función HFSQL que pueda provocar un error de bloqueo.

Base de datos Input( requerida con acceso a OLE DB)

  • Causa de error
    Algunas posiciones de fichero esperan necesariamente un valor. Si no se ha introducido ningún valor, aparece un mensaje de error de entrada obligatoria.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Si no se ha introducido ningún valor, el motor HFSQL abre automáticamente una ventana para introducir el valor requerido.
    Se muestra una ventana que indica que el elemento debe ser rellenado y permite al usuario escribir el valor del elemento.
  • Gestión del error
    El número de error asociado a este problema es 70710: Valor de posición obligatorio.
    Estos números de error son devueltos por HError.

Reindexación en curso

  • Causa de error
    El archivo utilizado está actualmente reindexado. El archivo no se puede utilizar (leer, escribir) durante esta operación de reindexación.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Aparece una ventana que indica que el archivo está siendo reindexado (también llamada reorganización).. Esta ventana se muestra durante toda la operación de reindexación y no se puede cerrar.. Una barra de progreso indica el estado de la operación de reindexación.

    WINDEV Observación: Para evitar los efectos del parpadeo, las ventanas de reindexación (ventana automatic o mantenimiento por otro ordenador) se muestran sólo si la operación de reindexación puede superar los 2 segundos. En este caso, las ventanas de reindexación se muestran después de 0,7 segundos.. Este mecanismo no se aplica a las ventanas utilizadas por HOnError. Para incluir este mecanismo en sus ventanas personalizadas, compruebe el código de la ventana "Reindex.wdw" suministrada en el directorio "\Programas\Datos\Ventanas predefinidas\HFSQL - Ventanas de ayuda de automatic".
  • Gestión del error
    El número de error asociado a este problema es 70720: Actualmente se realiza una operación de reindexación en el archivo
    Estos números de error son devueltos por HError.

La reconexión de automatic al servidor HFSQL

La función de reconexión de automatic es muy useful porque se ocupa de la desconexión de la conexión actual.
Típicamente, este problema surge con dispositivos con conexiones inestables al servidor (dispositivos móviles en particular, Wi-Fi, 3G, etc.).. Con una conexión Wi-Fi, por ejemplo, la conexión entre el dispositivo remoto y el servidor puede interrumpirse durante un corto periodo de tiempo.. Este tipo de ruptura también puede ocurrir en las redes cableadas estándar.
Una vez que la aplicación se "conecta" de nuevo, es useful para reanudar la aplicación donde la comunicación fue interrumpida. Los amortiguadores deben estar debidamente especificados. Con el automatic reanudando la conexión, todos los buffers son almacenados y reasignados. La aplicación puede reanudarse sin ningún error, como si la conexión nunca se hubiera interrumpido.
  • Causa de error
    La aplicación ha perdido una o más conexiones con uno o más servidores HFSQL.. Las posibles razones pueden ser:
    • pérdida del enlace GPRS,
    • intervención en la red,
    • actualización del servidor,
    • del servidor,
    • en espera del ordenador cliente.
  • Gestión asistida disponible en WINDEV, WINDEV Mobile y WEBDEV por defecto
    Cuando la aplicación cliente ya no tiene acceso al servidor, se muestra automáticamente una ventana o una página, indicando que la conexión con el servidor ya no está disponible.. Esta ventana intenta volver a conectarse regularmente. Cuando el servidor vuelve a estar disponible, la reconexión se realiza automáticamente y la ventana desaparece.. El usuario puede seguir utilizando la aplicación.
    Para implementar la reconexión de automatic, debe:
    • recompilar la aplicación cliente (versión superior a 15).
    • instalar el servidor HFSQL Client/Server (versión superior a 15).
  • Gestión del error
    Este error es un error fatal.
Atención: La reconexión de automatic no puede realizarse en los siguientes casos:
  • La aplicación incluye una transacción en curso.
  • La aplicación ha bloqueado un fichero (en lectura/escritura).
  • La aplicación ha bloqueado un archivo en modo de lectura/escritura y otra aplicación ha modificado una Record de este archivo cuando la aplicación no estaba conectada.
  • El bloqueo se realizó mediante una de las siguientes funciones: HFirst, HNext, HPrevious o HLast.
Personalización

Las diferentes soluciones

WINDEV, WEBDEV y WINDEV Mobile le permiten personalizar la gestión de los errores de HFSQL.
Es posible:
  • utilizar los procedimientos de custom.
    Un Procedure específico de su aplicación se ejecuta automáticamente tan pronto como se produce un error en el HFSQL.
    Observación: Se puede definir una Procedure para cada archivo y para cada tipo de error.
  • usar ventanas o páginas personalizadas: las ventanas y páginas estándar del motor HFSQL se sustituyen por las ventanas o páginas de su aplicación.
    Observación: Se puede definir una ventana o una página para cada archivo y para cada tipo de error.
WINDEVWindowsHFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBConectores Nativos

Implementación

Para implementar la gestión personalizada asistida de errores HFSQL, debe hacerlo:
  1. Para cada tipo de error, cree la Procedure, la ventana o la página utilizada para personalizar el error. La misma ventana, página o Procedure puede manejar varios tipos de errores. Esta ventana, página o Procedure debe devolver una constante específica de acuerdo con el Process para realizar (ver el párrafo siguiente).
  2. Definir la personalización de los errores con HOnError.
WINDEVWindowsHFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBConectores Nativos

Ejemplos de ventanas o páginas que se pueden incluir fácilmente en sus aplicaciones

Las ventanas y páginas de error utilizadas por Default y presentadas en los párrafos anteriores se suministran (con su código WLanguage) a título informativo.
WINDEV Para WINDEV, estas ventanas están disponibles en el directorio "\Programas\Datos\Ventanas preestablecidas\HFSQL - automatic ventanas de ayuda".
Type of errorVentana WINDEVPágina WEBDEV
Duplicate errorDuplicar.wdwdwDuplicar_WB.wwh
Error de integridadIntegridad.wdwdwIntegridad_WB.wwh
Error de contraseña de PasswordContraseña.wdwdwContraseña_WB.wwh
Error de conflicto de modificación y error de estado de modificación conflictModif.wdwdw
ModifStatus.wdw
Modif_WD.wwh
ModifStatus_WB.wwh
Error de bloqueo de LockBloqueo WDWBloquear_WB.wwh
Entrada obligatoriaObligatorioInput.WDW
Reindexación en cursoReindexación WDWReindexing_WB.wwh
Reconexión automáticaReconexión WDWReconexión_WB.wwh

Estas ventanas o páginas se pueden incluir en sus proyectos, se pueden personalizar, traducir y pasar en parámetro a HOnError.
Para incluir estas ventanas/páginas en sus proyectos: en el panel "Proyecto", en el grupo "Proyecto", amplíe "Importar" y seleccione "WINDEV/WEBDEV/WINDEV Elementos móviles y sus dependencias".
WINDEVWindowsHFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBConectores Nativos

Constantes utilizadas para personalizar los errores

El Procedure, la ventana o la página utilizada para personalizar el error debe devolver una de las constantes que se encuentran en el tabla más abajo.
El correspondiente Process se ejecutará de acuerdo con la constante devuelta.
opRetrySe vuelve a ejecutar la función que desencadenó el error.
opCancelLa función que desencadenó el error devuelve un error como si la gestión asistida estuviera deshabilitada..
Observación: Para los errores de pérdida de conexión, el error es fatal.
opEndProcessLa función que disparó el error devuelve un error y la actual Process se detiene. Equivalente al siguiente código Line:

IF NOT <HFSQL function> THEN ReturnToCapture()
Java Esta constante no está disponible.
opEndProgramLa función que disparó el error devuelve un error y el programa se detiene.. Equivalente al siguiente código Line:

IF NOT <HFSQL function> THEN EndProgram()
opRelaunchProgramFinaliza la aplicación y la reinicia automáticamente..

Observaciones:
  • Personalización de los errores de modificación: Si el procedimiento, ventana o página llamados durante el conflicto de modificación devuelven la constante la constante opRetry sin hacer nada más, los valores se escribirán en el archivo sin provocar un nuevo conflicto de modificación.
  • Para diferenciar entre un conflicto de modificación y un conflicto de estado, utilice HErrorStatusModification.
Desactivación de la gestión asistida

Presentación

WINDEV, WEBDEV y WINDEV Mobile le permiten desactivar completamente el sistema para la gestión de errores de automatic. En este caso, se deben verificar en la aplicación los diferentes casos de error que pueden producirse.. Si no se realiza esta comprobación, se genera un error WLanguage y la aplicación se detiene.

Implementación

Para desactivar por completo la gestión de errores de automatic, basta con utilizar HOnError y especificar una cadena vacía para el nombre de la ventana, página o Procedure.
En este caso, después de cada función HFSQL que pueda causar un error, es necesario comprobar el resultado de una o más de las siguientes funciones:
HErrorLockComprueba si se ha producido un error de bloqueo.
HErrorDuplicatesVerifica si se ha producido un error duplicado.
HErrorStatusModificationDevuelve el estado de un registro durante un conflicto de modificación.
HErrorIntegrityComprueba si se ha producido un error de integridad.
HErrorPasswordComprueba si se ha producido un error debido a una contraseña incorrecta.

Los detalles del error son devueltos por HErrorInfo.
La gestión asistida puede volver a activarse mediante HOnError
Observación: Para otros errores (modificación, entrada requerida, reindexación en curso), no es necesario realizar ninguna comprobación. Los números de error associated con estos problemas son:
  • 70700: Conflicto de modificación
  • 70710: Valor de posición obligatorio
  • 70720: Actualmente se realiza una operación de re-indexación en el archivo
Estos números de error son devueltos por HError.
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: 27/05/2022

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