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
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 <Fuente>.SetMemo).
Tras la llamada a <Fuente>.DuplicateRecord:
  • 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.
  • <Fuente>.DuplicateRecord y <Fuente>.Add son equivalentes.
Ejemplo
// Duplicates the current record
Customer.DuplicateRecord()
Sintaxis
<Result> = <Source>.DuplicateRecord([<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.
    • PHP La gestión de las cerraduras no está disponible en PHP.
    • AndroidWidget Android La gestión de las cerraduras no está disponible en las bases de datos SQLite.
    • Java Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC.
  • la gestión de duplicados.
  • la gestión de la integridad.
Hyper File 5.5 Este parámetro no se tiene en cuenta.
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>.DuplicateRecord 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 PHP Esta constante no está disponible.
Java Acceso con JDBC: 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 (<Variable Connection>.SetIntegrity).
Si se utilizan las constantes hIgnoreIntegrity y hCheckIntegrity al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android PHP Esta constante no está disponible.
Java Acceso con JDBC: 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 <Fuente>.SetDuplicates).
Si se utilizan las constantes hIgnoreDuplicates y hCheckDuplicates al mismo tiempo, se produce un error WLanguage.
AndroidWidget Android PHP Esta constante no está disponible.
Java Acceso con JDBC: 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 PHP Esta constante no está disponible.
Java Acceso con JDBC: Esta constante no está disponible.
hLockNo (valor predeterminado)Modo de bloqueo del registro agregado: Sin bloqeuo: el registro agregado no se bloqueará.
AndroidWidget Android PHP Esta constante no está disponible.
Java Acceso con JDBC: 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 PHP Esta constante no está disponible.
Java Acceso con JDBC: 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 PHP Esta constante no está disponible.
Java Acceso con JDBC: 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, <Fuente>.ReadNext utilizado después de <Fuente>.DuplicateRecord 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 JavaPHPOLE DBConectores 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.
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadJavaPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

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.
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadJavaPHPAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

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.
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadAjaxHFSQL 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 <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 modo de funcionamiento de las versiones anteriores puede mantenerse usando la constante hAffectBrowse.
JavaPHPOLE DBConectores 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.
WINDEVWEBDEV - Código ServidorAjaxHyper File 5.5

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

If está utilizando HDuplicateRecord con una base de datos en formato Hyper File 5.5:
  • Las opciones de adición (<Opciones>) se ignoran.
  • Los elementos TEXT se rellenan automáticamente con caracteres de espacio.
  • <Fuente>.DuplicateRecord no puede utilizarse en una vista creada a partir de archivos de datos de Hyper File 5.5.
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: 17/07/2023

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