分享方式:


陳述式屬性

陳述式屬性是陳述式的特性。 例如,是否要使用書籤,以及要與陳述式結果集搭配使用的資料指標類型都是陳述式屬性。

陳述式屬性是以 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.x 中取代呼叫 SQLSetConnectAttr 而在連接層級設定陳述式屬性的能力。 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 函式說明。