AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

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 <Fuente>.Cross).
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 <Fuente>.Delete, el Record se inserta en la lista de Record s borrados y será reutilizado por <Fuente>.Add.
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 <Fuente>.DeleteAll.
Ejemplo
WEBDEV - Código ServidorPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5
// Deletes the record #123
Customer.Delete(123)
// Delete the customer orders
Order.ReadSeekFirst(CustNum, ValCustNum)
WHILE Order.Found() = True
Order.Delete()
Order.ReadNext()
END
// Delete the customer orders
FOR EACH Order where CustNum = CustNumVal
Order.Delete()
END
Sintaxis
<Result> = <Source>.Delete([<Record number> [, <Options>]])
<Result>: Boolean
  • 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 <Fuente>.Delete devuelve True.
<Source>: Tipo de fuente especificada
Nombre del archivo o vista de datos HFSQL utilizado.
<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 <Fuente>.RecNum.
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 (<Variable Connection>.SetIntegrity)
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

<Fuente>.NbRec 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 .ExecuteQuery o .ExecuteSQLQuery). 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), <Fuente>.Delete 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 .ExecuteQuery o .ExecuteSQLQuery: 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 <Fuente>.Delete tiene éxito, se modifica el número de versión de el archivo de datos. Este número de versión es devuelto por <Fuente>.Version.
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 (<Fuente>.Add). 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 <Fuente>.Index, 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 <Fuente>.Delete y <Fuente>.Cross tienen el mismo efecto: el Record se cruza pero no se borra. Por lo tanto, la Record puede volver a activarse mediante <Fuente>.Modify. En este caso, la función <Fuente>.State devuelve la constante hStateCrossed en un registro eliminado (y no la constante hStateDel).
Para eliminar físicamente los registros cruzados, debe utilizar <Fuente>.Index.
Archivos FoxPro: <Fuente>.Index no está disponible
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/11/2023

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