Setting Descriptor Fields
Descriptor record fields are set with a record number (RecNumber) of 1 or higher, while descriptor header fields are set with a record number
of 0. A record number of 0 is also used to set bookmark fields, in accordance
with the convention that bookmarks are contained in column 0. This may leave the
impression that bookmark fields are contained within the descriptor header,
but this is not the case. Bookmark fields are distinct from header fields.
When setting fields individually, the application should follow the sequence
defined in SQLSetDescField. Setting some fields causes the driver to set other fields. This ensures that
the descriptor is always ready to use once the application has specified a
data type. When the application sets the SQL_DESC_TYPE field, the driver checks
that other fields that specify the type are valid and consistent.
If a function call that would set a descriptor field fails, the contents of
the descriptor field are undefined after the failed function call.