SQLGetInfo 支持

当 ODBC 2。x 应用程序将 SQLGetInfo 调用 ODBC 3*.x* 驱动程序,下表中的 InfoType 参数必须受支持。

InfoType 返回
SQL_ALTER_TABLE (ODBC 2.0) 注意: 未弃用此信息类型;右侧列中的位掩码已弃用。 一个 SQLINTEGER 位掩码,枚举数据源支持的 ALTER TABLE 语句中的子句。

以下位掩码用于确定支持哪些子句:

SQL_AT_DROP_COLUMN = 支持删除列的功能。 这是否导致级联或限制行为由驱动程序定义。 (ODBC 2.0)

SQL_AT_ADD_COLUMN = 支持在单个 ALTER TABLE 语句中添加多个列的功能。 此位不与其他SQL_AT_ADD_COLUMN_XXX位或SQL_AT_CONSTRAINT_XXX位组合在一起。 (ODBC 2.0)
SQL_FETCH_DIRECTION (ODBC 1.0)

信息类型已在 ODBC 1.0 中引入;每个位掩码都标有引入它的版本。
枚举支持的提取方向选项的 SQLINTEGER 位掩码。

以下位掩码与 标志结合使用,以确定支持的选项:

SQL_FD_FETCH_NEXT (ODBC 1.0) SQL_FD_FETCH_FIRST (ODBC 1.0) SQL_FD_FETCH_LAST (ODBC 1.0) SQL_FD_FETCH_PRIOR (ODBC 1.0) SQL_FD_FETCH_ABSOLUTE (ODBC 1.0) SQL_FD_FETCH_RELATIVE (ODBC 1.0) SQL_FD_FETCH_BOOKMARK (ODBC 2.0)
SQL_LOCK_TYPES (ODBC 2.0) 一个 SQLINTEGER 位掩码,枚举 SQLSetPosfLock 参数支持的锁类型。

以下位掩码与 标志结合使用,以确定支持哪些锁类型:

SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK
SQL_ODBC_API_CONFORMANCE (ODBC 1.0) 指示 ODBC 一致性级别的 SQLSMALLINT 值。

SQL_OAC_NONE = 无

SQL_OAC_LEVEL1 = 支持级别 1

SQL_OAC_LEVEL2 = 支持级别 2
SQL_ODBC_SQL_CONFORMANCE (ODBC 1.0) 一个 SQLSMALLINT 值,指示驱动程序支持的 SQL 语法。 有关 SQL 一致性级别的定义,请参阅 附录 C:SQL 语法

SQL_OSC_MINIMUM = 支持的最小语法

SQL_OSC_CORE = 支持核心语法

SQL_OSC_EXTENDED = 支持的扩展语法
SQL_POS_OPERATIONS (ODBC 2.0) 一个 SQLINTEGER 位掩码,枚举 SQLSetPos 中支持的操作。

以下位掩码用于与 标志结合使用,以确定支持的选项:

SQL_POS_POSITION (ODBC 2.0) SQL_POS_REFRESH (ODBC 2.0) SQL_POS_UPDATE (ODBC 2.0) SQL_POS_DELETE (ODBC 2.0) SQL_POS_ADD (ODBC 2.0)
SQL_POSITIONED_STATEMENTS (ODBC 2.0) 一个 SQLINTEGER 位掩码,枚举受支持的定位 SQL 语句。

以下位掩码用于确定支持哪些语句:

SQL_PS_POSITIONED_DELETE SQL_PS_POSITIONED_UPDATE SQL_PS_SELECT_FOR_UPDATE
SQL_SCROLL_CONCURRENCY (ODBC 1.0) 一个 SQLINTEGER 位掩码,枚举游标支持的并发控制选项。

以下位掩码用于确定支持的选项:

SQL_SCCO_READ_ONLY = 游标为只读。 不允许更新。

SQL_SCCO_LOCK = Cursor 使用足以确保行可以更新的最低锁定级别。

SQL_SCCO_OPT_ROWVER = Cursor 使用乐观并发控制,比较行版本,例如 SQLBase ROWID 或 Sybase TIMESTAMP。

SQL_SCCO_OPT_VALUES = Cursor 使用乐观并发控制,比较值。
SQL_STATIC_SENSITIVITY (ODBC 2.0) 一个 SQLINTEGER 位掩码,枚举应用程序是否可以通过 SQLSetPos 或定位更新或删除语句检测到应用程序对静态或键集驱动的游标所做的更改。

SQL_SS_ADDITIONS = 添加的行对游标可见;游标可以滚动到这些行。 这些行添加到游标的位置依赖于驱动程序。

SQL_SS_DELETIONS = 已删除的行不再可用于游标,并且不会在结果集中留下“孔”;游标从已删除的行滚动后,无法返回到该行。

SQL_SS_UPDATES = 汇报行对游标可见;如果游标从滚动并返回到更新的行,则游标返回的数据是更新的数据,而不是原始数据。 此选项仅适用于静态游标或不更新键集驱动的游标上的更新。 此选项不适用于动态游标或在混合游标中更改键的情况。

应用程序能否检测其他用户(包括同一应用程序中的其他游标)对结果集所做的更改取决于游标类型。

使用 ODBC 3*.x* 驱动程序的 ODBC 3*.x* 应用程序不应使用上表所述的 InfoType 参数调用 SQLGetInfo,而应使用下一段中所列的 ODBC 3*.x* InfoType 参数。 ODBC 2 中使用的 InfoType 参数之间没有一对一的对应关系。x 和 ODBC 3*.x* 中使用的那些。 使用 ODBC 2 的 ODBC 3*.x* 应用程序。另一方面,x 驱动程序应使用前面所述的 InfoType 参数。

上表中的某些信息类型已弃用,改用游标属性信息类型。 这些弃用的信息类型包括SQL_FETCH_DIRECTION、SQL_LOCK_TYPES、SQL_POS_OPERATIONS、SQL_POSITIONED_STATEMENTS、SQL_SCROLL_CONCURRENCY和SQL_STATIC_SENSITIVITY。 新的游标属性类型SQL_XXX_CURSOR_ATTRIBUTES1and SQL_XXX_CURSOR_ATTRIBUTES2,其中 XXX 等于 DYNAMIC、FORWARD_ONLY、KEYSET_DRIVEN 或 STATIC。 每个新类型都指示单个游标类型的驱动程序功能。 有关这些选项的详细信息,请参阅 SQLGetInfo 函数说明。