Use of ITValue::Printable with null value objects
value objects can encapsulate a datum fetched from a database or a datum that is to be inserted into a database. A value object exists only in the client application, and the datum encapsulated by it can be written to the database by using prepared statements encapsulated by ITStatement objects or, if a cursor that can be updated is used, by ITCursor::UpdateCurrent.
After it fetches a row from a database in which there are columns containing SQL NULL entries (that is, with no data), ITValue::Printable called on a value object matching a NULL column will return the string "null." The string "null" is informational only.
Likewise, after ITValue::SetNull is called to set a value object to null (where the term "null" means SQL NULL: That is, no data), calls to ITValue::Printable return the string "null" for that value object to indicate that the value object contains no data.
In the special case where the Object Interface for C++ application program inserted the valid data string "null" into a value object (for example, by calling ITValue::FromPrintable("null") or by fetching it from a database), the application can still distinguish between a null value object and a value object containing the valid data "null" by calling the function ITValue::IsNull on the value object. ITValue::IsNull returns true if the value object is null and false if the value object contains the valid data "null." Calling ITValue::IsNull is the preferred way to determine if a value object contains no data and is to be used instead of ITValue::Printable.