|
|
|
|
- Overview
- How to manage the NULL value in an item?
- Managing the NULL value
- Limits
- 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
- Request: Selection condition
- Example
- Limitations
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:
- an option " Support NULL values " in the description of the data file ("Details" 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.
New in version 28an option " Allow NULL values in indices (compatible only with version 28 and later) " in the description of the data file ("Details" tab). This option indicates that the key field can contain the value NULL.. Records whose indexes contain NULL values will be searchable.. CAUTION: When this feature is activated, the index file generated is no longer compatible with versions lower than 28. Only applications compiled in version 28 (and higher) will be able to access these data files.. If an application written in version 27 and lower attempts to access a file with this option enabled, an error is generated.: "Error, the file version is too recent". - 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.
| | The NullIableIndex property determines if a key item supports the "Null" value. | 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. |
Limits The NULL value cannot be used: - on the array items.
- 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:
Remarks: - 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.
- By Default, the "Allow NULL values in indices (compatible only with version 28 and later)" option is not checked for data files.. This means that the data file is compatible with older versions.. The NULL in the index is then considered as an empty string ("") for string fields, or as the value 0 for numeric fields..
New in version 28If the option " Allow NULL values in indices (compatible only with version 28 and later) ", the key field can contain the value NULL. Records whose indexes contain NULL values will be searchable.
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 constant. Request: 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. Example 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 Notes.Cours AS Cours,
Notes.DateNote AS DateNote,
LEFT(Notes.DateNote,4) AS Année,
AVG(Notes.Note) AS la_moyenne_Note
FROM Notes
WHERE Notes.Cours = 'Français'
AND Notes.Note IS NOT NULL
AND LEFT(Notes.DateNote,4) = '2003'
GROUP BY Notes.Cours, Notes.DateNote, LEFT(Notes.DateNote,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.
- Don't:
- Do:
Fic1.Rub1..Null = Fic2.Rub2..Null
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|