AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • Valores copiados
  • Uso de listas de campos
  • Campos de tipo Array
  • Errores que no modifican el registro de destino
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
HCopyRecord (Función)
ODBCNo disponible con este tipo de conexión
Copia:
  • el contenido del registro en curso (cargado en memoria) en el registro en curso de un archivo de datos.
  • El archivo de datos de origen y el archivo de datos de destino no necesariamente tienen la misma estructura. Solo los datos almacenados del archivo de datos de destino se modifican. El archivo de datos de destino se modificará al guardar el registro en curso.
HReadFirst(Customer, Name)
WHILE HOut(Customer) = False
// Adds the record to the data file Customer2
HCopyRecord(Customer2, Customer, hDefaultVal)
HAdd(Customer2)
// Goes to the next record
HReadNext(Customer, Name)
END
// Copy records from the Orders data file to an archive file
Orders_2019 is Data Source
 
// Create the archive file
HAlias(Order, Orders_2019)
HChangeName(Orders_2019, "Orders_2019")
HCreation(Orders_2019)
 
// Archive the orders
FOR EACH Orders where OrderDate = "20190101" TO "20191231"
// Adds the record to the archive file
HCopyRecord(Orders_2019, Orders, hDefaultVal)
HAdd(Orders_2019)
END
Sintaxis

Copiar el registro en curso Ocultar los detalles

<Result> = HCopyRecord(<Destination data file> , <Source data file> [, <Destination item> [, <Source item>]] [, <Options>])
<Result>: Booleano
  • True si se copió la imagen,
  • False si se produce un error. La función HError permite identificar el error.
<Destination data file>: Cadena de caracteres
Nombre del archivo de datos de destino a manipular. Los datos se copiarán en el registro en curso de este archivo de datos.
<Source data file>: Cadena de caracteres
Nombre del archivo de datos de origen a manipular. El registro en curso de este archivo de datos contiene la información a copiar.
<Destination item>: Cadena de caracteres opcional
Lista de campos del archivo de datos de destino a asignar con los valores leídos en el registro actual del archivo de datos de origen. Los campos deben estar separados por una coma o por un retorno de carro (CR).
Observación: Las claves compuestas no pueden ser campos de destino. Se asignarán automáticamente.
Hyper File 5.5 Este parámetro no se tiene en cuenta.
<Source item>: Cadena de caracteres opcional
Lista de campos del archivo de datos de origen que deben copiarse en el registro actual del archivo de datos de destino. Los campos deben estar separados por una coma o por un retorno de carro (CR). Estos campos deben ordenarse según el orden en que se asignarán en los campos de destino. Las claves compuestas deben excluirse de esta lista.
Hyper File 5.5 Este parámetro no se tiene en cuenta.
<Options>: Constante o combinación de constantes (opcional)
Configura la copia de información:
hCopyAutoIdCopia el identificador automático conservando su valor.
Observación: Para utilizar esta constante se debe utilizar la constante hSetIdAuto la próxima vez que se llame a la función HAdd.
hDefaultValLos campos del registro de destino que no se ven afectados por la copia, se inicializan con su valor predeterminado (definido en el editor de análisis).

Si no se especifica ningún parámetro, no se copia el identificador automático y los campos del registro de destino que no se modificaron, no se inicializan.
Hyper File 5.5 Este parámetro no se tiene en cuenta.
Observaciones

Valores copiados

Los campos cuyo nombre es común a ambos registros se copian (y se convierten si es necesario).
Los campos del registro de origen que no existen en el registro de destino no se copian.
Los campos del registro de destino que no existen en el registro de origen no se modifican (excepto si se especifica la constante hDefaultVal).
Al copiar un campo con el valor NULL, si el archivo de datos de destino no soporta valores NULL, el campo copiado se inicializa vacío (cadena vacía ("") para las cadenas y 0 para los valores numéricos).
Observación: Cuando se realizan asignaciones entre campos de diferentes tipos, las conversiones de tipos siguen los estándares de WLanguage.

Uso de listas de campos

Al especificar dos listas de campos, se pueden asignar campos con nombres diferentes. Los campos se asignan en el orden en que aparecen en las listas.
Si no se proporciona ninguna de las dos listas de campos, solo se copian los campos que tienen un nombre común en ambos registros.
Si solo se especifica la lista de campos de destino (<Campo de destino>), solo se copian los elementos especificados.

Campos de tipo Array

Al manipular campos array, la función HCopyRecord copia el número máximo de elementos (comenzando por el primero).
Si el array del registro de "origen" contiene más elementos que el array del registro de "destino", los elementos adicionales del registro de "origen" no se copian.
Si el array del registro de "origen" contiene menos elementos que el array del registro de "destino", los elementos adicionales del registro de "destino" no se modifican, excepto si se especifica la constante hDefaultVal.

Errores que no modifican el registro de destino

Los siguientes errores no modifican el registro de destino:
  • no se especifica ninguna lista y ningún nombre de campo es común a los dos archivos de datos.
  • la lista de campos de un archivo de datos contiene el nombre de un campo que no existe en el archivo de datos.
  • la lista de campos de destino contiene un nombre de campo de tipo "clave compuesta".
  • la lista de campos de destino contiene un nombre de campo de tipo "identificador automático", pero no se ha especificado la constante hCopyAutoId.
  • se especificaron dos listas de tamaños diferentes.
Clasificación Lógica de negocio / UI: Lógica de negocio
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: 17/07/2023

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