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