ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / Managing databases / HFSQL / Types of HFSQL variables
  • Declaring a Record variable
  • Accessing the items
  • Reading and assigning a Record variable
  • Special cases
  • Functions that handle the Record type
  • Properties specific to Record variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
The Record type is used to handle (modify, save, ...) the values of a record. This record can be a record found in a data file, a query or a view. The variable associated with the Record type will be structured like a record of the database.
Usage example: This allows you to store in different variables the content of several records in order to compare them or to compare some items.
Example
// CUSTOMER is a data file described in the analysis
CustomerRec is Record of CUSTOMER
 
HReadFirst(CUSTOMER, CUSTNUM)
IF NOT HOut() THEN
CustomerRec = CUSTOMER
// Display the last and first names of the customer
Info(CustomerRec.LASTNAME, CustomerRec.FIRSTNAME)
END
// CUSTOMER is a data file described in the analysis
CustomerRec is Record of CUSTOMER
 
CustomerRec.LastName = "MOORE"
CustomerRec.FirstName = "Paul"
CustomerRec.City = "PARIS"
 
// Assigns the content of the CustomerRec variable in the buffer of Customer data file
CUSTOMER = CustomerRec  
 
HAdd(CUSTOMER)
 
// You have the ability to do: HAdd(CUSTOMER, CustomerRec)
Remarks

Declaring a Record variable

The following syntax is used to declare a Record variable:
<Variable name> is Record [of <Name of data file in the analysis>]
  • If <Name of data file in the analysis> is specified, the record is associated with a description of one of the data files in the analysis. In this case, you have the ability to handle the different record items.
  • If <Name of data file in the analysis> is not specified, the structure of the record will be built dynamically according to the buffer of the file allocated to it.

Accessing the items

To access the items of a Record variable, use the following syntax:
  • To assign an item of the variable:
    <Variable name>.<Item name> = <Value to assign>
  • To retrieve the value of the items:
    <Value> = <Variable name>.<Item name>
Remark: When using a record variable associated with a data file of the analysis, the code editor automatically proposes the different record items:

Reading and assigning a Record variable

A Record variable can be read or assigned. The syntax is as follows:
  • To store the buffer of a data file in a Record variable:
    <Name of Record variable> = <Name of data file>
  • To assign the buffer of a data file from a Record variable:
    <Name of data file> = <Name of Record variable>
Remark: Assigning a variable of type Record to a data file modifies the NewRecord property.

Special cases

  • HRecordToString used on a Record variable returns a character string containing the value of each item separated by a TAB character.
  • No compilation error occurs if a Record variable with type on a data file is assigned with the buffer of another data file. An homonymic copy of buffers is performed: only the items with the same name of each buffer will be assigned. The other items will be not assigned.
  • Only JSON serialization is available for this type of variable (Serialize). No deserialization is possible.

Functions that handle the Record type

The following functions use the Record type:
HAddAdds:
  • the record found in memory into the data file (query or view).
  • the record found in a Record variable into the data file (query or view).
HCopyRecordCopies:
  • the content of the current record (loaded in memory) to the current data file record.
  • the content of the Record variable to the current data file record.
HExtractMemoExtracts the content of a binary memo item from an HFSQL file, a query or an HFSQL view to a physical file (on disk).
HInfoMemoReturns the characteristics of binary and text memos.
HLinkMemoUsed to associate a file with a binary memo item or to cancel the existing link between a file and a binary item.
HListItemReturns the list of items:
  • found in a data file ( a query or a view) known to the HFSQL engine. The data files defined by HDeclare, HDeclareExternal and HDescribeFile are taken into account.
  • found in a Record variable.
HRecordToStringConverts the content of the current record to string (in a data file, HFSQL view, query, etc.).
HResetInitializes:
  • one or all variables of file items with their default values.
  • one or all items of a Record variable with their default values.
Remark: You can also use VariableReset to reset the contents of a variable of type Record.

Properties specific to Record variables

The following properties can be used to find out the characteristics of a Record variable:
Property nameType usedEffect
AssociatedFileCharacter stringName of the HFSQL data file on which the variable is based.
This property is read-only.
ContentCharacter stringContent of the current record (identical to the result returned by HRecordToString).
This property is read-only.
Minimum version required
  • Version 19
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 07/04/2023

Send a report | Local help