SQLNextResult -處理下一個結果集

SQLNextResult() 會判定是否有與傳回結果集的儲存程序相關聯之陳述式控點的相關資訊可用。

語法

SQLRETURN   SQLNextResult   (SQLHSTMT          StatementHandle,
                             SQLHSTMT          NextResultHandle);

函數引數

表 1. SQLNextResult 引數
資料類型 引數 使用 說明
SQLHSTMT StatementHandle 輸入 陳述式控點。
SQLHSTMT NextResult控點 輸入 下一個結果集的陳述式控點。

用法

此函數用來將 StatementHandle 中的下一個結果集與 NextResultHandle 相關聯。 這與 SQLMoreResults() 不同,因為它可讓兩個陳述式控點同步處理其結果集。

如果已處理所有結果集,則 SQLNextResult() 會傳回 SQL_NO_DATA_FOUND。

如果使用 SQL_CLOSE 或 SQL_DROP 選項呼叫 SQLFreeStmt() ,則會捨棄此陳述式控點上所有擱置的結果集。

回覆碼

  • SQL_SUCCESS
  • SQL_SUCCESS_WITH_INFO
  • SQL_ERROR
  • SQL_INVALID_HANDLE
  • 找到 SQL_NO_DATA_FOUND

錯誤狀況

表 2. SQLNextResult SQLSTATE
SQL狀態 說明 說明
40003 08S01 通訊鏈結失敗 在完成功能之前,應用程式與資料來源之間的通訊鏈結失敗。
58004 非預期的系統失敗 無法復原的系統錯誤。
HY001 記憶體配置失敗 Db2® for i CLI 無法配置支援處理或完成函數所需的記憶體。
HY010 函數順序錯誤 在處理資料時 (SQLParamData()SQLPutData()) 作業中呼叫此函數。
HY013 非預期的記憶體處理錯誤 Db2 for i CLI 無法存取支援處理或完成函數所需的記憶體。
HY021 無效的內部描述子 內部描述子無法定址或配置,或包含無效的值。
HYT00 逾時過期  

參照

SQLMoreResults -判斷是否有更多結果集