SQLGetInfo 支持

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

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

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

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 bitmask。

以下位遮罩与标志结合使用,以确定支持哪些选项:

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 bitmask,枚举了SQLSetPosfLock参数支持的锁类型。

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

SQL_LCK_NO_CHANGE SQL_LCK_EXCLUSIVE SQL_LCK_UNLOCK
SQL_ODBC_API_CONFORMANCE(ODBC 1.0) 一个SQLSMALLINT值表示ODBC符合程度。

SQL_OAC_NONE = 无

SQL_OAC_LEVEL1 = 支持的1级

SQL_OAC_LEVEL2 = 支持的第二级
SQL_ODBC_SQL_CONFORMANCE(ODBC 1.0) 一个表示驱动支持的SQL语法的SQLSMALLINT值。 请参阅 附录C:SQL文法 ,了解SQL符合性等级的定义。

SQL_OSC_MINIMUM = 支持的最低语法

SQL_OSC_CORE = 支持的核心语法

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

以下位掩码与标志结合用来确定支持哪些选项:

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) 一个枚举支持的定位SQL语句的SQLINTEGER bitmask。

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

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 = 光标使用最低锁定层次,确保该行可以更新。

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

SQL_SCCO_OPT_VALUES = 光标使用乐观并发控制,比较数值。
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 3*.x* 应用,配合 ODBC 2。而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 函数描述。