AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

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
  • Adición a una base de datos en formato Hyper File 5.5
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
Agrega:
  • el registro que se encuentra en la memoria al archivo de datos (consulta o vista)
  • AndroidWidget Android el registro que se encuentra en una variable de tipo Record 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 <Fuente>.SetMemo).
Tras la llamada a <Fuente>.Add:
  • Se propone una gestión automática de errores 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 registro en memoria se escribe en el archivo de datos con los valores que se le asignaron (o con el contenido del registro leído previamente). Para borrar los valores del registro en memoria, se debe utilizar la función <Fuente>.Reset.
Ejemplo
// Add a record in a data file
// (record described through programming)
Customer.LastName = "Clark"
Customer.FirstName = "Vince"
Customer.Address = "Palm Lane"
Customer.City = "Philadelphia"
Customer.Zip = "19101"
Customer.Country = "USA"
Customer.Add()
Universal Windows 10 AppAndroidWidget Android iPhone/iPadIOS WidgetHFSQL ClassicHFSQL Client/ServerProcedimientos almacenadosConectores Nativos
// Add a record entered in a window
// in the Customer data file
Customer.ToFile()
Customer.Add()
Sintaxis

Agregar el registro de la memoria a un archivo de datos, vista o consulta Ocultar los detalles

<Result> = <Source>.Add([<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.
<Source>: Tipo de fuente especificada
Nombre del archivo de datos, vista o consulta utilizada.
<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, <Fuente>.ReadNext utilizado después de <Fuente>.Add 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 <Fuente>.SetDuplicates).
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: Verifica la integridad de la operación, incluso si la verificación automática de la integridad está desactivada (función <Variable Connection>.SetIntegrity).
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 produce un error WLanguage.
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 <Fuente>.SetDuplicates).
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 <Variable Connection>.SetIntegrity).
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.

Esta constante solo está disponible para HFSQL Client/Server y Conectores Nativos.
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.

Esta constante solo está disponible para HFSQL Client/Server y Conectores Nativos.
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 produce un error WLanguage.
hWriteDefault
(valor predeterminado)
Efecto al agregar registros en la navegación: Al agregar registros, no se altera la navegación.
Por ejemplo, <Fuente>.ReadNext utilizado después de <Fuente>.Add 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.
AndroidWidget Android

Agregar el contenido de una variable de tipo Record a un archivo de datos, vista o consulta Ocultar los detalles

<Result> = <Source>.Add(<Record> [, <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.
<Source>: Tipo de fuente especificada
Nombre del archivo de datos, vista o consulta utilizada.
<Record>: Variable de tipo Record
Nombre de la variable de tipo Record que contiene los valores de los elementos.
<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.
  • 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, <Fuente>.ReadNext utilizado después de <Fuente>.Add 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 <Fuente>.SetDuplicates).
Si las constantes hIgnoreDuplicates y hCheckDuplicates se utilizan al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hCheckIntegrityModo de gestión de la integridad: Verifica la integridad de la operación, incluso si la verificación automática de la integridad está desactivada (función <Variable Connection>.SetIntegrity).
Si las constantes hIgnoreIntegrity y hCheckIntegrity se utilizan al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android Esta constante no está disponible.
hFalsifyTimestampGestión de los elementos de la marca de tiempo: Por defecto, un elemento Timestamp contiene la fecha y la hora de creación/modificación de la Record. Esta fecha/hora se calcula automáticamente.
Esta constante impide que se actualice el elemento Timestamp: se mantendrá el último valor de la Record.
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 produce un error WLanguage.
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 <Fuente>.SetDuplicates).
Si las constantes hIgnoreDuplicates y hCheckDuplicates se utilizan 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 <Variable Connection>.SetIntegrity).
Si las constantes hIgnoreIntegrity y hCheckIntegrity se utilizan 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.

Esta constante solo está disponible para HFSQL Client/Server y Conectores Nativos.
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.

Esta constante solo está disponible para HFSQL Client/Server y Conectores Nativos.
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 produce un error WLanguage.
hWriteDefault
(valor predeterminado)
Efecto al agregar registros en la navegación: Al agregar registros, no se altera la navegación.
Por ejemplo, <Fuente>.ReadNext utilizado después de <Fuente>.Add 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 de 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/iPadIOS WidgetHFSQL ClassicHFSQL Client/ServerProcedimientos almacenados

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/iPadIOS WidgetHFSQL ClassicHFSQL Client/ServerProcedimientos almacenados

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 <Fuente>.Version.

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 .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), 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/iPadIOS WidgetHFSQL ClassicHFSQL Client/ServerProcedimientos almacenados

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 <Fuente>.ViewToFile.

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 comportamiento de las versiones anteriores se puede mantener con 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.
Procedimientos almacenados

Adición a una base de datos en formato Hyper File 5.5

Si utiliza <Fuente>.Add con una base de datos Hyper File 5.5:
  • Las opciones de adición (<Opciones>) se ignoran.
  • Los elementos TEXT se rellenan automáticamente con caracteres de espacio.
  • <Fuente>.Add no puede utilizarse en una vista creada a partir de archivos de datos de Hyper File 5.5.
Clasificación Lógica de negocio / UI: Lógica de negocio
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: 20/06/2023

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