语句属性

语句属性是语句的特征。 例如,是否使用书签以及与语句的结果集一起使用的游标类型是语句属性。

语句属性使用 SQLSetStmtAttr 设置,并使用 SQLGetStmtAttr 检索其当前设置。 应用程序无需设置任何语句属性;所有语句属性都有默认值,其中一些是特定于驱动程序的。

能否设置语句属性取决于属性本身。 在执行语句之前,必须设置SQL_ATTR_CONCURRENCY、SQL_ATTR_CURSOR_TYPE、SQL_ATTR_SIMULATE_CURSOR和SQL_ATTR_USE_BOOKMARKS语句属性。 可以随时设置SQL_ATTR_ASYNC_ENABLE和SQL_ATTR_NOSCAN语句属性,但在再次使用该语句之前不会应用。 可以随时设置SQL_ATTR_MAX_LENGTH、SQL_ATTR_MAX_ROWS和SQL_ATTR_QUERY_TIMEOUT语句属性,但是否在再次使用该语句之前应用它们特定于驱动程序。 可以随时设置剩余的语句属性。

注释

ODBC 3 中已弃用通过调用 SQLSetConnectAttr 在连接级别设置语句属性的功能。x. ODBC 3.x 应用程序不应在连接级别设置语句属性。 ODBC 3.x 驱动程序只有在需要与 ODBC 2.x 应用程序一起使用时才需要支持此功能。 有关详细信息,请参阅附录 G 中的 SQLSetConnectOption 映射 :驱动程序向后兼容性准则。

例外情况是SQL_ATTR_METADATA_ID和SQL_ATTR_ASYNC_ENABLE属性,这些属性既是连接属性,也是语句属性,可以在连接级别或语句级别设置。

ODBC 3.x 中引入的语句属性(除了 SQL_ATTR_METADATA_ID)都不能在连接级别设置。

有关详细信息,请参阅 SQLSetStmtAttr 函数说明。