- How to manage the NULL value in an item?
- Managing the NULL value
- How to use the NULL value in my applications?
- How to save a NULL value in an item?
- Customizing the display of the items whose value is NULL
- Query: Selection condition
Managing NULL in HFSQL
Not available with this kind of connection
WINDEV, WEBDEV and WINDEV Mobile allow you to manage the NULL value in the items of HFSQL data files and for all the other types of accesses (Native, OLE DB, ...).
Therefore, when calculations are performed on the records found in your data files, the records containing a Null item will be ignored. For example, if a query calculates the average grade of students for the quarter, only the grades of the attending students will be taken into account. If a student is not attending, his grade will correspond to the Null value.
How to manage the NULL value in an item?
Managing the NULL value
To manage the null value in your data files, you can use:
- In the data model editor:
- a "NULL supported" option available in the description of the data file ("Info" tab). This option is used to specify whether the management of NULL is supported by this data file. In this case, you will have the ability to manage the NULL value for the different items of the data file.
- a "Default to NULL" option available for each item of your files ("General" tab of the item description). This option allows you to define the null value as default value for the item.
- a "NULL allowed" option for each item of your files ("General" tab of the item description). This option is used to allow (or not) the use of the NULL value for this item. By default, if NULL is supported by the data file, the "NULL Allowed" option is checked for all the items of the data file.
- In programming, several properties:
|Null||The Null property is used to:|
- Assign NULL to the item for the current record.
- Find out whether the item is associated with the NULL value for the current record.
- Define the default value of an item when the item is described through programming.
|NullAllowed||The NullAllowed property is used to manage the NULL value in the items of HFSQL data files.|
|NullSupported||The NullSupported property is used to manage the NULL value in HFSQL data files.|
The NULL value cannot be used:
- on the array items.
- on the automatic identifiers.
- on the composite keys.
How to use the NULL value in my applications?
How to save a NULL value in an item?
- Check the "NULL supported" box when the data file is described in the data model editor ("Description of data file" in the context menu, "Info" tab).
By default, "NULL Allowed" is checked for all file items.
- Generate the analysis.
- Check "NULL if empty" for the edit control linked to the item. If no value was entered by the user in this control, the NULL value will be automatically assigned to the item when using:
- The "NULL if empty" option for the edit controls can also be used to manage the optional parameters of a query with parameters. For more details, see Using a query with parameters.
- If the default value of the item is NULL (box checked in the editor), HReset resets the Null property to True.
- NULL at index level is considered like an empty string ("") for the string items or like the value 0 for the numeric items.
Customizing the display of the items whose value is NULL
By default, if an edit control is linked to an item whose value is NULL, the value displayed in the control is "". To customize this display mode, use ControlError
associated with the ceNull
Query: Selection condition
In the query editor, you have the ability to take into account or to ignore the records that have a null item. To do so, create a selection condition and choose "Is null" or "Is not null".
In a selection query that performs a calculation, all the records that have a null value (for the calculation item) will be ignored.
The following example is a query used to calculate the average grade of students for the 2003 French class. If one of the grades corresponds to the NULL value, this grade is ignored.
SELECT Marks.Course AS Course,
Marks.MarkDate AS MarkDate,
LEFT(Marks.MarkDate,4) AS YEAR,
AVG(Marks.Mark) AS the_average_Mark
WHERE Marks.Course = 'French'
AND Marks.Mark IS NOT NULL
AND LEFT(Marks.MarkDate,4) = '2003'
GROUP BY Marks.Course, Marks.MarkDate, LEFT(Marks.MarkDate,4)
- When managing the integrity, the NULL value is ignored
- A linked record on 0 or empty string ("") is equivalent to a linked record on NULL.
- For backward compatibility, the transfer of Null by assignment is not allowed.
File1.Item1 = File2.Item2
File1.Item1..Null = File2.Item2..Null
This page is also available for…