步驟 4a:擷取結果
下個步驟是擷取結果,如下圖所示。
如果在「步驟 3:建置和執行 SQL 語句」中執行的語句是 SELECT 語句或目錄函式,應用程式會先呼叫 SQLNumResultCols 來判斷結果集中的數據行數目。 如果應用程式已知結果集資料行的數目 (例如 SQL 陳述式已在垂直或自訂應用程式進行硬式編碼),則無須此步驟。
接下來,應用程式會利用 SQLDescribeCol 來擷取每個結果集資料行的名稱、資料類型、精確度與級別。 同上,對於已知這項資訊的應用程式,例如垂直與自訂應用程式,則無須這麼做。 應用程式會將這項資訊傳遞至 SQLBindCol,以便將應用程式變數繫結至結果集的資料行。
應用程式現在會呼叫 SQLFetch 來擷取第一個資料列,並將該資料列的資料放在與 SQLBindCol 繫結的變數。 如果資料列包含任何長資料,則會呼叫 SQLGetData 來擷取該資料。 應用程式會繼續呼叫 SQLFetch 與 SQLGetData 來擷取其他資料。 在完成擷取資料之後,會呼叫 SQLCloseCursor 來關閉資料指標。
如需擷取結果的完整描述,請參閱擷取結果 (基本) 與擷取結果 (進階)。
應用程式現在會返回「步驟 3:建置和執行 SQL 語句」,以在相同的交易中執行另一個語句:或繼續進行「步驟 5:認可交易」,以認可或回復交易。