共用方式為


直接執行陳述式 (ODBC)

直接並且僅一次執行陳述式

  1. 如果語句有參數標記,請使用 SQLBindParameter 將每個參數系結至程式變數。 使用資料值填入程式變數,然後設定任何資料執行中 (data-at-execution) 參數。

  2. 呼叫 SQLExecDirect 來執行 語句。

  3. 如果使用資料執行輸入參數, SQLExecDirect 會傳回SQL_NEED_DATA。 使用 SQLParamDataSQLPutData以區區塊轉送資料。

使用資料行取向的參數繫結多次執行陳述式

  1. 呼叫 SQLSetStmtAttr 以設定下列屬性:

    將 SQL_ATTR_PARAMSET_SIZE 設定為參數集 (S) 的數目。

    將 SQL_ATTR_PARAM_BIND_TYPE 設定為 SQL_PARAMETER_BIND_BY_COLUMN。

    將 SQL_ATTR_PARAMS_PROCESSED_PTR 屬性設定為指向 SQLUINTEGER 變數,以保存已處理的參數數目。

    將 SQL_ATTR_PARAMS_STATUS_PTR 設定為指向 SQLUSSMALLINT 變數的陣列[S],以保存參數狀態指標。

  2. 針對每個參數標記:

    配置 S 個參數緩衝區的陣列來儲存資料值。

    配置 S 個參數緩衝區的陣列來儲存資料長度。

    呼叫 SQLBindParameter ,將參數資料值和資料長度陣列系結至語句參數。

    設定任何資料執行中的 text 或 image 參數。

    將 S 資料值和 S 資料長度放在繫結參數陣列中。

  3. 呼叫 SQLExecDirect 來執行 語句。 驅動程式會有效率地執行陳述式 S 次,針對每個參數集執行一次。

  4. 如果使用資料執行輸入參數, SQLExecDirect 會傳回SQL_NEED_DATA。 使用 SQLParamDataSQLPutData以區區塊轉送資料。

使用資料列取向的參數繫結多次執行陳述式

  1. 配置結構的陣列[S],其中 S 是參數集的數目。 結構中每個參數都具有一個元素,而每個元素則具有兩部分:

    第一個部分是適當資料類型的變數,可保存參數資料。

    第二個部分是 SQLINTEGER 變數,可保存狀態指標。

  2. 呼叫 SQLSetStmtAttr 以設定下列屬性:

    將 SQL_ATTR_PARAMSET_SIZE 設定為參數集 (S) 的數目。

    將 SQL_ATTR_PARAM_BIND_TYPE 設定為步驟 1 中配置的結構大小。

    將 SQL_ATTR_PARAMS_PROCESSED_PTR 屬性設定為指向 SQLUINTEGER 變數,以保存已處理的參數數目。

    將 SQL_ATTR_PARAMS_STATUS_PTR 設定為指向 SQLUSSMALLINT 變數的陣列[S],以保存參數狀態指標。

  3. 針對每個參數標記,呼叫 SQLBindParameter ,以將參數的資料值和資料長度指標指向步驟 1 中配置之結構陣列的第一個元素中的變數。 如果參數是資料執行中參數,請設定此參數。

  4. 將資料值填入繫結參數緩衝區陣列。

  5. 呼叫 SQLExecDirect 來執行 語句。 驅動程式會有效率地執行陳述式 S 次,針對每個參數集執行一次。

  6. 如果使用資料執行輸入參數, SQLExecDirect 會傳回SQL_NEED_DATA。 使用 SQLParamDataSQLPutData以區區塊轉送資料。

注意SQLPrepare 函 式和 SQLExecute 搭配使用的資料行和資料列式系結,通常會與 SQLExecDirect搭配使用。

另請參閱

執行查詢使用說明主題 (ODBC)