語句屬性是語句的特性。 例如,是否使用書籤,以及該語句的結果集使用哪種游標,都是語句屬性。
語句屬性由 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 函式描述。