記述子フィールド

記述子には、列またはパラメーターを完全に記述するヘッダー フィールドとレコード フィールドが含まれます。

記述子には、次のヘッダー フィールドの 1 つのコピーが含まれています。 ヘッダー フィールドを変更すると、すべての列またはパラメーターに影響します。

SQL_DESC_ALLOC_TYPE
SQL_DESC_ARRAY_SIZE
SQL_DESC_ARRAY_STATUS_PTR
SQL_DESC_BIND_OFFSET_PTR

SQL_DESC_BIND_TYPE
SQL_DESC_COUNT
SQL_DESC_ROWS_PROCESSED_PTR

記述子に 0 個以上の記述子レコードが含まれています。 各レコードは、記述子の種類に応じて列またはパラメーターを記述します。 新しい列またはパラメーターがバインドされると、新しいレコードが記述子に追加されます。 列またはパラメーターがバインドされていない場合、レコードは記述子から削除されます。 各レコードには、次のフィールドの 1 つのコピーが含まれています。

SQL_DESC_AUTO_UNIQUE_VALUE
SQL_DESC_BASE_COLUMN_NAME
SQL_DESC_BASE_TABLE_NAME
SQL_DESC_CASE_SENSITIVE
SQL_DESC_CATALOG_NAME
SQL_DESC_CONCISE_TYPE
SQL_DESC_DATA_PTR
SQL_DESC_DATETIME_INTERVAL_CODE
SQL_DESC_DATETIME_INTERVAL_PRECISION
SQL_DESC_DISPLAY_SIZE
SQL_DESC_FIXED_PREC_SCALE
SQL_DESC_INDICATOR_PTR
SQL_DESC_LABEL
SQL_DESC_LENGTH
SQL_DESC_LITERAL_PREFIX
SQL_DESC_LITERAL_SUFFIX

SQL_DESC_LOCAL_TYPE_NAME
SQL_DESC_NAME
SQL_DESC_NULLABLE
SQL_DESC_OCTET_LENGTH
SQL_DESC_OCTET_LENGTH_PTR
SQL_DESC_PARAMETER_TYPE
SQL_DESC_PRECISION
SQL_DESC_SCALE
SQL_DESC_SCHEMA_NAME
SQL_DESC_SEARCHABLE
SQL_DESC_TABLE_NAME
SQL_DESC_TYPE
SQL_DESC_TYPE_NAME
SQL_DESC_UNNAMED
SQL_DESC_UNSIGNED
SQL_DESC_UPDATABLE

ステートメント属性の多くは、記述子のヘッダー フィールドに対応しています。 SQLSetStmtAttr の呼び出しによってこれらの属性を設定し、SQLSetDescField を呼び出して対応する記述子ヘッダー フィールドを設定すると、同じ効果があります。 SQLGetStmtAttrSQLGetDescField についても同じですが、どちらも同じ情報を取得します。 記述子関数の代わりにステートメント関数を呼び出すと、記述子ハンドルを取得する必要がないという利点があります。

ステートメント属性を設定することで、次のヘッダー フィールドを設定できます。

SQL_DESC_ARRAY_SIZE
SQL_DESC_ARRAY_STATUS_PTR
SQL_DESC_BIND_OFFSET_PTR

SQL_DESC_BIND_TYPE
SQL_DESC_ROWS_PROCESSED_PTR

このセクションでは、次のトピックを扱います。