使用陳述式 (ODBC)
使用陳述式
利用 SQL_HANDLE_STMT 的 HandleType 來呼叫 SQLAllocHandle,以配置陳述式控制代碼。
您可以選擇呼叫 SQLSetStmtAttr 來設定陳述式選項,或是呼叫 SQLGetStmtAttr 來取得陳述式屬性。
若要使用伺服器資料指標,您必須將資料指標屬性設定為預設值以外的值。
如果此陳述式將會執行數次,您可以選擇預備此陳述式搭配 SQLPrepare 函數一起執行。
如果此陳述式已經繫結參數標記,您可以選擇使用 SQLBindParameter 將這些參數標記繫結至程式變數。 如果此陳述式已備妥,您可以呼叫 SQLNumParams 和 SQLDescribeParam 來尋找參數的數目和參數的特性。
使用 SQLExecDirect 直接執行陳述式
- 或 -
如果此陳述式已備妥,請使用 SQLExecute 將它執行多次。
- 或 -
呼叫目錄函數,這樣會傳回結果。
若要處理結果,請將結果集資料行繫結至程式變數、使用 SQLGetData 將資料從結果集資料行中移到程式變數,或是結合這兩個方法。
透過陳述式的結果集一次提取一個資料列。
- 或 -
透過結果集,利用區塊資料指標一次提取數個資料列。
- 或 -
呼叫 SQLRowCount 來判斷受到 INSERT、UPDATE 或 DELETE 陳述式影響的資料列數。
如果 SQL 陳述式可以有多個結果集,請在每一個結果集的結尾呼叫 SQLMoreResults,以查看是否有其他結果集要處理。
處理完結果之後,可能需要採取以下動作,以便提供陳述式控制代碼來執行新的陳述式:
如果您要等到它傳回 SQL_NO_DATA 之後才會呼叫 SQLMoreResults,請呼叫 SQLCloseCursor 來關閉此資料指標。
如果您將參數標記繫結至程式變數,請呼叫 SQLFreeStmt 並將 Option 設定為 SQL_RESET_PARAMS,以釋放繫結參數。
如果您將結果集資料行繫結至程式變數,請呼叫 SQLFreeStmt 並將 Option 設定為 SQL_UNBIND,以釋放繫結的資料行。
若要重複使用陳述式控制代碼,請移至步驟 2。
使用 SQL_HANDLE_STMT 的 HandleType 呼叫 SQLFreeHandle,以釋放陳述式控制代碼。