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
  • Gestión de los identificadores de automatic
  • Reutilización de los registros borrados o liberados
  • Versión del archivo de datos después de una adición
  • Añadiendo un Record en una consulta
  • Adición de registros en una vista
  • Navegación y adición de registros
  • Lentitud al añadir o eliminar una Record por primera vez en un archivo de datos HFSQL
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
Duplica un registro leído en un archivo de datos: el registro de la memoria se agrega al archivo de datos (consulta o vista). Los índices que corresponden a las claves utilizadas en la archivo de datos se actualizan automáticamente. Los posibles memos se agregan si la gestión de memos está habilitada (función HSetMemo).
Tras la llamada a HDuplicateRecord:
  • Un manejo de errores de automatic está disponible para varios 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.
  • Si la gestión de duplicados está activada y el archivo de datos contiene una clave única, la función HErrorDuplicates devuelve True si el valor de la clave agregada no es único. El registro no se agrega.
  • El registro agregado se convierte en el registro actual. El identificador automático se completa automáticamente. Por Default, la iteración actual no se ve afectada.
Observación: Todo el Record en la memoria (el contenido de Record previamente leído) está escrito en el archivo de datos.
Observaciones:
  • Esta función también se puede utilizar en una vista o en una consulta.
  • HDuplicateRecord y HAdd son equivalentes.
Ejemplo
// Duplicates the current record
HDuplicateRecord(Customer)
Sintaxis
<Result> = HDuplicateRecord([<Data file> [, <Options>]])
<Result>: booleano
  • True si se agregó el registro,
  • False si se produce un problema (error de integridad, duplicados, etc). La función HError permite identificar el error.
<Data file>: Cadena de caracteres opcional
Nombre del archivo de datos, vista o consulta utilizada. Si no se especifica este nombre, la función HDuplicateRecord utilizará el último archivo de datos utilizado por la última función HFSQL (que empieza por "H").
<Options>: Constante opcional
Permite configurar:
  • el efecto al agregar un registro en la navegación en curso.
  • el modo de cálculo del identificador automático. Para obtener más información, consulte Gestión del identificador automático al agregar un registro.
  • el modo de bloqueo del registro agregado.
    • AndroidWidget Android La gestión de las cerraduras no está disponible en las bases de datos SQLite.
  • la gestión de duplicados.
  • la gestión de la integridad.
hAffectBrowseEfecto al agregar registros en la navegación: Al agregar registros, se altera la navegación.
Por ejemplo, HReadNext utilizado después de HDuplicateRecord posiciones en el Record encontrado después de la Record añadido.
La constante hAffectBrowse tiene prioridad sobre la constante hWriteDefault.
hCheckDuplicatesModo de gestión de duplicados: Verifica los duplicados en esta operación, incluso si la verificación de duplicados está desactivada (función HSetDuplicates).
Si se utilizan las constantes hIgnoreDuplicates y hCheckDuplicates al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hCheckIntegrityModo de gestión de la integridad: Comprueba la integridad de la operación, incluso si la comprobación de integridad de automatic está desactivada (HSetIntegrity).
Si se utilizan las constantes hIgnoreIntegrity y hCheckIntegrity al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hForceIdAutoModo de cálculo del identificador automático: El identificador automático no se calcula al agregar registros. El identificador corresponde a:
  • el valor asignado al elemento mediante programación (por ejemplo, CUSTOMERID = 7)
  • el valor predeterminado del identificador que se especificó en el editor de análisis (si el archivo de datos acaba de abrirse, sin que se haya leído ningún registro)
  • el valor del identificador en la memoria (valor del identificador del último registro leído en el archivo de datos).
Después de agregar el registro, se calculará el siguiente identificador automático calculado por el motor HFSQL, sin tener en cuenta el valor agregado con hForceIdAuto.
Si se utilizan las constantes hSetIdAuto y hForceIdAuto al mismo tiempo, se genera un error WLanguage.
Conectores Nativos SQLServer CE: No se puede utilizar la constante hForceIdAuto.
hIgnoreDuplicatesModo de gestión de duplicados: No comprueba la existencia de duplicados para esta operación, incluso si la verificación automática de duplicados está activada (función HSetDuplicates).
Si se utilizan las constantes hIgnoreDuplicates y hCheckDuplicates al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hIgnoreIntegrityModo de gestión de la integridad: Ignora la verificación de la integridad en esta operación, incluso si la verificación automática de la integridad está activada (función HSetIntegrity).
Si se utilizan las constantes hIgnoreIntegrity y hCheckIntegrity al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hLockNo (valor predeterminado)Modo de bloqueo del registro agregado: Sin bloqeuo: el registro agregado no se bloqueará.
AndroidWidget Android Esta constante no está disponible.
hLockReadWriteModo de bloqueo del registro agregado: Bloqueo de lectura/escritura: se aplicará un bloqueo de lectura y escritura en el registro agregado . Este registro no puede ser leído ni modificado por otras aplicaciones. Solo la aplicación actual puede modificarlo, leerlo o desbloquearlo.
AndroidWidget Android Esta constante no está disponible.
hLockWriteModo de bloqueo del registro agregado: Bloqueo de escritura: el registro agregado se bloqueará contra escritura. Otras aplicaciones pueden leer el registro pero no modificarlo. Solo la aplicación en curso podrá modificarlo o desbloquearlo.
AndroidWidget Android Esta constante no está disponible.
hSetIdAutoModo de cálculo del identificador automático: El identificador automático no se calcula al agregar registros: el valor del identificador será el que se almacena al agregar un registro.
El siguiente valor del identificador calculado por el motor HFSQL corresponderá al mayor valor del identificador en el archivo +1.
Si se utilizan las constantes hSetIdAuto y hForceIdAuto al mismo tiempo, se genera un error WLanguage.
Conectores Nativos SQLServer CE: No se puede utilizar la constante hSetIdAuto.
hWriteDefault
(valor predeterminado)
Efecto al agregar registros en la navegación: Al agregar registros, no se altera la navegación.
Por ejemplo, HReadNext utilizado después de HDuplicateRecord posiciones en el Record encontrado después de la actual Record antes de la adición.
La constante hAffectBrowse tiene prioridad sobre la constante hWriteDefault.
Observaciones

Gestión de los identificadores de automatic

Por defecto, el elemento "identificador automático" se actualiza automáticamente cuando se añade un Record en un archivo de datos. No hay necesidad de leer el Record de nuevo para averiguar el valor del identificador automatic. Simplemente use la siguiente sintaxis: <Nombre del archivo>.<Nombre del elemento identificador de automatic>.
Las constantes hForceIdAuto y hSetIdAuto permiten modificar el comportamiento predeterminado del identificador automático.
Para más detalles sobre los identificadores automatic para los nuevos registros, véase Gestión del identificador automático al agregar un registro.
AndroidWidget Android Conectores Nativos Caso especial
  • Si la base de datos genera un identificador automatic, el motor HFSQL mantiene este valor. Si se especifica la constante hForceIDAuto o hSetIDAuto, el motor HFSQL sustituye el valor generado por el valor deseado.
    Observación: la constante hForceIdAuto equivale a hSetIdAuto: el identificador automatic calculado por el motor HFSQL durante la próxima adición será único en el archivo de datos.
  • Si la base de datos no genera ningún identificador de automatic, el motor HFSQL genera el valor y lo asigna al identificador automatic.
Universal Windows 10 AppiPhone/iPadHFSQL ClassicHFSQL Client/Server

Reutilización de los registros borrados o liberados

Cuando se añade un nuevo Record, el motor HFSQL optimiza el relleno del archivo de datos. El espacio correspondiente a las Record s borradas o liberadas se utiliza primero cuando se añade una nueva Record.
Los registros cruzados no se reutilizan.
Universal Windows 10 AppiPhone/iPadHFSQL ClassicHFSQL Client/Server

Versión del archivo de datos después de una adición

Si el Record fue agregado a el archivo de datos (sin error de duplicación y sin error de integridad), el número de versión del archivo de datos es modificado. Para get el número de versión, utilice HVersion.

Añadiendo un Record en una consulta

Se puede añadir una Record a 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), solo es posible agregar registros a una consulta de archivo único. Las posiciones calculadas especificadas durante la suma se ignoran. Se calculan automáticamente.
Atención:
  • No se permite ninguna adición en 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.
Universal Windows 10 AppiPhone/iPadHFSQL ClassicHFSQL Client/Server

Adición de registros en una vista

Tiene la posibilidad de añadir registros en una vista creada sobre archivos de datos en formato HFSQL Classic. Estos registros se añaden sólo en la memoria. Para añadirlos en el archivo de datos relacionado a la vista (vista simple, por ejemplo), debe utilizar HViewToFile.

Navegación y adición de registros

Es posible configurar el efecto de agregar registros al navegar por un archivo de datos (constantes hWriteDefault y hAffectBrowse). El modo de funcionamiento de las versiones anteriores puede mantenerse usando la constante hAffectBrowse.
Conectores Nativos Casos especiales: Si se añade el Record durante una búsqueda, será Visible sólo en la búsqueda actual.. Si se han definido otras operaciones de navegación en esta base de datos, el nuevo Record sólo será Visible una vez que estas operaciones de navegación se hayan reiniciado.

Lentitud al añadir o eliminar una Record por primera vez en un archivo de datos HFSQL

Acceder por primera vez a un Record en un archivo de datos HFSQL puede llevar mucho tiempo. Para solucionar este problema:
  • Desactive el antivirus para los archivos.FIC,.NDX,.MMO y.REP.
  • Desactive la opción "Restaurar el sistema" en Windows XP.
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 18
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