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 / HFSQL / Funciones HFSQL
  • Manejando un Record borrado
  • Número de registros eliminados
  • Borrar un Record de una consulta
  • Versión del archivo de datos
  • Tamaño del archivo de datos
  • Borrado y bloqueo
  • xBase/FoxFro
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
Elimina un registro de un archivo de datos (consulta o vista). La Record se borra lógica y físicamente. No se puede restaurar (a diferencia de los registros cruzados por HCross).
Se realizan las siguientes operaciones:
  • el Record se borra: el Record es Inactive y ya no está referenciado en el índice. Los datos no se guardan.
  • los índices (correspondientes a las claves de Record) se borran del archivo de índices.
  • los memos asociados con la Record se borran del archivo de memos.
Después de ejecutar HDelete, el Record se inserta en la lista de Record s borrados y será reutilizado por HAdd.
PHPOLE DBConectores Nativos La Record borrada ya no es Visible en la iteración sobre el artículo actual. Esta Record dejará de ser Visible en las iteraciones sobre otros artículos si estas iteraciones se reinicializan.


WINDEV, WINDEV Mobile y WEBDEV proponen una gestión de errores automatic para los siguientes tipos de errores: Error de duplicados, error de integridad, error de contraseña, error de conflicto de modificación, error de estado durante el conflicto de modificación y error de bloqueo. Para obtener más información, consulte Gestión asistida de errores HFSQL.
Observación: Para eliminar todos los registros de un archivo de datos, utilice HDeleteAll.
Ejemplo
WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5
// Deletes the record #123
HDelete(Customer, 123)
// Delete the customer orders
HReadSeekFirst(Orders, CustNum, ValCustNum)
WHILE HFound() = True
HDelete()
HReadNext()
END
// Delete the customer orders
FOR EACH Order where CustNum = CustNumVal
HDelete()
END
Sintaxis
<Result> = HDelete([<Data file> [, <Record number> [, <Options>]]])
<Result>: booleano
  • True si se eliminó el registro,
  • False si se ha producido un problema (registro bloqueado, etc.. (ver casos especiales)). La función HErrorInfo permite identificar el error.
Si el registro a eliminar ya ha sido eliminado, la función HDelete devuelve True.
<Data file>: Cadena de caracteres opcional
Nombre del archivo o vista de datos HFSQL utilizado. Si este parámetro es una cadena vacía (""), HDelete manipula el último archivo de datos utilizado por la última función HFSQL (función que empieza por "H").
<Record number>: Entero opcional
Número de la Record a borrar. Si no se especifica este parámetro, (si es igual a 0 o a la constante hCurrentRecNum), el registro activo se eliminará. Sin embargo, el actual Record seguirá siendo el Record borrado.

PRECAUCIÓN: No confundir el número Record con el identificador automático asociado al Record.
En la mayoría de los casos, estos dos números no son idénticos. El número Record es devuelto por HRecNum.
OLE DBConectores Nativos Este parámetro debe corresponder al número del registro activo (constante hCurrentRecNum).
<Options>: Constante opcional
Configura la gestión de la integridad realizada en el Record borrado.
hIgnoreIntegrityIgnora la comprobación de integridad para esta operación, incluso si la comprobación de integridad de automatic está activada (HSetIntegrity)
PHP Este parámetro no se tiene en cuenta.
Observaciones
WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

Manejando un Record borrado

WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

Número de registros eliminados

HNbRec se utiliza para conocer el número de registros borrados de el archivo de datos.
Observación: Para la compatibilidad retroactiva con el Hyper File 5.5, el H.NbDel Variable también puede utilizarse para averiguar el número de registros eliminados.

Borrar un Record de una consulta

Se puede borrar un Record de una consulta:
  • en el resultado de la consulta
  • en los archivos de datos tratados por la consulta (hModifyFile constante utilizada en HExecuteQuery o HExecuteSQLQuery). En este caso, la constante hWithFilter se selecciona automáticamente.
Independientemente del modo de ejecución de la consulta (con o sin la constante hWithFilter), HDelete sólo puede utilizarse en consultas de un solo archivo.
Atención:
  • En los archivos de datos que no están en formato HFSQL, no es necesario especificar la constante hModifyFile en HExecuteQuery o HExecuteSQLQuery: los archivos de datos utilizados en la consulta se modifican automáticamente al modificar el resultado de la consulta.
  • No se pueden eliminar registros de una consulta que utilice grupos o agregados.
  • La gestión de la integridad y de los duplicados no se realiza durante las operaciones en las consultas multiarchivo.: se recomienda utilizar las transacciones para evitar cualquier problema.
Para obtener más información, consulte Modificar el contenido de una consulta.
WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

Versión del archivo de datos

Si HDelete tiene éxito, se modifica el número de versión de el archivo de datos. Este número de versión es devuelto por HVersion.
WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

Tamaño del archivo de datos

La eliminación de uno o más registros no tiene ninguna incidencia en el tamaño total del archivo en el disco.. Los lugares que queden vacíos en los archivos de datos por las supresiones se reutilizarán durante las próximas incorporaciones de registros (HAdd). Esta función se utiliza para que get tenga un mejor rendimiento, ya que la reducción del tamaño del archivo es costosa en tiempo.
Sin embargo, si después de muchas eliminaciones es necesario reducir el tamaño de un archivo de datos, se puede reindexar (a través de HIndex, WDMap o el Centro HFSQL control).
WEBDEV - Código ServidorAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBConectores Nativos

Borrado y bloqueo

Si se produce un problema de bloqueo al "eliminar" un registro (intentar eliminar un registro bloqueado, por ejemplo), el registro no se elimina y la función HErrorLock devuelve True.
WEBDEV - Código ServidorAjaxConectores Nativos

xBase/FoxFro

La función HDelete y HCross tienen el mismo efecto: el Record se cruza pero no se borra. Por lo tanto, la Record puede volver a activarse mediante HModify. En este caso, la función HState devuelve la constante hStateCrossed en un registro eliminado (y no la constante hStateDel).
Para eliminar físicamente los registros cruzados, debe utilizar HIndex.
Archivos FoxPro: HIndex no está disponible
Componente: wd290hf.dll
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: 07/07/2022

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