|
FieldIdentifier
|
Information
returned in
|
Description
|
|---|
|
SQL_DESC_AUTO_UNIQUE_VALUE (ODBC 1.0)
|
NumericAttributePtr
|
SQL_TRUE if the column is an autoincrementing column.
SQL_FALSE if the column is not an autoincrementing column or is not numeric.
This field is valid for numeric data type columns only. An application can insert values into a row containing an autoincrement column, but typically cannot update values in the column.
When an insert is made into an autoincrement column, a unique value is inserted into the column at insert time. The increment is not defined, but is data source–specific. An application should not assume that an autoincrement column starts at any particular point or increments by any particular value.
|
|
SQL_DESC_BASE_COLUMN_NAME (ODBC 3.0)
|
CharacterAttributePtr
|
The base column name for the result set column. If a base column name does not exist (as in the case of columns that are expressions), then this variable contains an empty string.
This information is returned from the SQL_DESC_BASE_COLUMN_NAME record field of the IRD, which is a read-only field.
|
|
SQL_DESC_BASE_TABLE_NAME (ODBC 3.0)
|
CharacterAttributePtr
|
The name of the base table that contains the column. If the base table name cannot be defined or is not applicable, then this variable contains an empty string.
This information is returned from the SQL_DESC_BASE_TABLE_NAME record field of the IRD, which is a read-only field.
|
|
SQL_DESC_CASE_SENSITIVE (ODBC 1.0)
|
NumericAttributePtr
|
SQL_TRUE if the column is treated as case-sensitive for collations and comparisons.
SQL_FALSE if the column is not treated as case-sensitive for collations and comparisons or is noncharacter.
|
|
SQL_DESC_CATALOG_NAME (ODBC 2.0)
|
CharacterAttributePtr
|
The catalog of the table that contains the column. The returned value is implementation-defined if the column is an expression or if the column is part of a view. If the data source does not support catalogs or the catalog name cannot be determined, an empty string is returned. This VARCHAR record field is not limited to 128 characters.
|
|
SQL_DESC_CONCISE_TYPE (ODBC 1.0)
|
NumericAttributePtr
|
The concise data type.
For the datetime and interval data types, this field returns the concise data type; for example, SQL_TYPE_TIME or SQL_INTERVAL_YEAR. (For more information, see Data Type Identifiers and Descriptors in Appendix D: Data Types.)
This information is returned from the SQL_DESC_CONCISE_TYPE record field of the IRD.
|
|
SQL_DESC_COUNT (ODBC 1.0)
|
NumericAttributePtr
|
The number of columns available in the result set. This returns 0 if there are no columns in the result set. The value in the ColumnNumber argument is ignored.
This information is returned from the SQL_DESC_COUNT header field of the IRD.
|
|
SQL_DESC_DISPLAY_SIZE (ODBC 1.0)
|
NumericAttributePtr
|
Maximum number of characters required to display data from the column. For more information about display size, see Column Size, Decimal Digits, Transfer Octet Length, and Display Size in Appendix D: Data Types.
|
|
SQL_DESC_FIXED_PREC_SCALE (ODBC 1.0)
|
NumericAttributePtr
|
SQL_TRUE if the column has a fixed precision and nonzero scale that are data source–specific.
SQL_FALSE if the column does not have a fixed precision and nonzero scale that are data source–specific.
|
|
SQL_DESC_LABEL (ODBC 2.0)
|
CharacterAttributePtr
|
The column label or title. For example, a column named EmpName might be labeled Employee Name or might be labeled with an alias.
If a column does not have a label, the column name is returned. If the column is unlabeled and unnamed, an empty string is returned.
|
|
SQL_DESC_LENGTH (ODBC 3.0)
|
NumericAttributePtr
|
A numeric value that is either the maximum or actual character length of a character string or binary data type. It is the maximum character length for a fixed-length data type, or the actual character length for a variable-length data type. Its value always excludes the null-termination byte that ends the character string.
This information is returned from the SQL_DESC_LENGTH record field of the IRD.
For more information about length, see Column Size, Decimal Digits, Transfer Octet Length, and Display Size in Appendix D: Data Types.
|
|
SQL_DESC_LITERAL_PREFIX (ODBC 3.0)
|
CharacterAttributePtr
|
This VARCHAR(128) record field contains the character or characters that the driver recognizes as a prefix for a literal of this data type. This field contains an empty string for a data type for which a literal prefix is not applicable. For more information, see Literal Prefixes and Suffixes.
|
|
SQL_DESC_LITERAL_SUFFIX (ODBC 3.0)
|
CharacterAttributePtr
|
This VARCHAR(128) record field contains the character or characters that the driver recognizes as a suffix for a literal of this data type. This field contains an empty string for a data type for which a literal suffix is not applicable. For more information, see Literal Prefixes and Suffixes.
|
|
SQL_DESC_LOCAL_TYPE_NAME (ODBC 3.0)
|
CharacterAttributePtr
|
This VARCHAR(128) record field contains any localized (native language) name for the data type that may be different from the regular name of the data type. If there is no localized name, then an empty string is returned. This field is for display purposes only. The character set of the string is locale-dependent and is typically the default character set of the server.
|
|
SQL_DESC_NAME (ODBC 3.0)
|
CharacterAttributePtr
|
The column alias, if it applies. If the column alias does not apply, the column name is returned. In either case, SQL_DESC_UNNAMED is set to SQL_NAMED. If there is no column name or a column alias, an empty string is returned and SQL_DESC_UNNAMED is set to SQL_UNNAMED.
This information is returned from the SQL_DESC_NAME record field of the IRD.
|
|
SQL_DESC_NULLABLE (ODBC 3.0)
|
NumericAttributePtr
|
SQL_ NULLABLE if the column can have NULL values; SQL_NO_NULLS if the column does not have NULL values; or SQL_NULLABLE_UNKNOWN if it is not known whether the column accepts NULL values.
This information is returned from the SQL_DESC_NULLABLE record field of the IRD.
|
|
SQL_DESC_NUM_PREC_RADIX (ODBC 3.0)
|
NumericAttributePtr
|
If the data type in the SQL_DESC_TYPE field is an approximate numeric data type, this SQLINTEGER field contains a value of 2 because the SQL_DESC_PRECISION field contains the number of bits. If the data type in the SQL_DESC_TYPE field is an exact numeric data type, this field contains a value of 10 because the SQL_DESC_PRECISION field contains the number of decimal digits. This field is set to 0 for all non-numeric data types.
|
|
SQL_DESC_OCTET_LENGTH (ODBC 3.0)
|
NumericAttributePtr
|
The length, in bytes, of a character string or binary data type. For fixed-length character or binary types, this is the actual length in bytes. For variable-length character or binary types, this is the maximum length in bytes. This value does not include the null terminator.
This information is returned from the SQL_DESC_OCTET_LENGTH record field of the IRD.
For more information about length, see Column Size, Decimal Digits, Transfer Octet Length, and Display Size in Appendix D: Data Types.
|
|
SQL_DESC_PRECISION (ODBC 3.0)
|
NumericAttributePtr
|
A numeric value that for a numeric data type denotes the applicable precision. For data types SQL_TYPE_TIME, SQL_TYPE_TIMESTAMP, and all the interval data types that represent a time interval, its value is the applicable precision of the fractional seconds component.
This information is returned from the SQL_DESC_PRECISION record field of the IRD.
|
|
SQL_DESC_SCALE (ODBC 3.0)
|
NumericAttributePtr
|
A numeric value that is the applicable scale for a numeric data type. For DECIMAL and NUMERIC data types, this is the defined scale. It is undefined for all other data types.
This information is returned from the SCALE record field of the IRD.
|
|
SQL_DESC_SCHEMA_NAME (ODBC 2.0)
|
CharacterAttributePtr
|
The schema of the table that contains the column. The returned value is implementation-defined if the column is an expression or if the column is part of a view. If the data source does not support schemas or the schema name cannot be determined, an empty string is returned. This VARCHAR record field is not limited to 128 characters.
|
|
SQL_DESC_SEARCHABLE (ODBC 1.0)
|
NumericAttributePtr
|
SQL_PRED_NONE if the column cannot be used in a WHERE clause. (This is the same as the SQL_UNSEARCHABLE value in ODBC 2.x.)
SQL_PRED_CHAR if the column can be used in a WHERE clause but only with the LIKE predicate. (This is the same as the SQL_LIKE_ONLY value in ODBC 2.x.)
SQL_PRED_BASIC if the column can be used in a WHERE clause with all the comparison operators except LIKE. (This is the same as the SQL_EXCEPT_LIKE value in ODBC 2.x.)
SQL_PRED_SEARCHABLE if the column can be used in a WHERE clause with any comparison operator.
Columns of type SQL_LONGVARCHAR and SQL_LONGVARBINARY usually return SQL_PRED_CHAR.
|
|
SQL_DESC_TABLE_NAME (ODBC 2.0)
|
CharacterAttributePtr
|
The name of the table that contains the column. The returned value is implementation-defined if the column is an expression or if the column is part of a view.
If the table name cannot be determined, an empty string is returned.
|
|
SQL_DESC_TYPE (ODBC 3.0)
|
NumericAttributePtr
|
A numeric value that specifies the SQL data type.
When ColumnNumber is equal to 0, SQL_BINARY is returned for variable-length bookmarks and SQL_INTEGER is returned for fixed-length bookmarks.
For the datetime and interval data types, this field returns the verbose data type: SQL_DATETIME or SQL_INTERVAL. (For more information, see Data Type Identifiers and Descriptors in Appendix D: Data Types.
This information is returned from the SQL_DESC_TYPE record field of the IRD.
Note
To work against ODBC 2.x drivers, use SQL_DESC_CONCISE_TYPE instead.
|
|
SQL_DESC_TYPE_NAME (ODBC 1.0)
|
CharacterAttributePtr
|
Data source–dependent data type name; for example, "CHAR", "VARCHAR", "MONEY", "LONG VARBINARY", or "CHAR ( ) FOR BIT DATA".
If the type is unknown, an empty string is returned.
|
|
SQL_DESC_UNNAMED (ODBC 3.0)
|
NumericAttributePtr
|
SQL_NAMED or SQL_UNNAMED. If the SQL_DESC_NAME field of the IRD contains a column alias or a column name, SQL_NAMED is returned. If there is no column name or column alias, SQL_UNNAMED is returned.
This information is returned from the SQL_DESC_UNNAMED record field of the IRD.
|
|
SQL_DESC_UNSIGNED (ODBC 1.0)
|
NumericAttributePtr
|
SQL_TRUE if the column is unsigned (or not numeric).
SQL_FALSE if the column is signed.
|
|
SQL_DESC_UPDATABLE (ODBC 1.0)
|
NumericAttributePtr
|
Column is described by the values for the defined constants:
SQL_ATTR_READONLY SQL_ATTR_WRITE SQL_ATTR_READWRITE_UNKNOWN
SQL_DESC_UPDATABLE describes the updatability of the column in the result set, not the column in the base table. The updatability of the base column on which the result set column is based may be different from the value in this field. Whether a column is updatable can be based on the data type, user privileges, and the definition of the result set itself. If it is unclear whether a column is updatable, SQL_ATTR_READWRITE_UNKNOWN should be returned.
|