Udostępnij przez


Jak Przygotowanie i wykonanie instrukcji (ODBC)

Aby przygotować instrukcja , a następnie wykonywania wiele razy

  1. Wywołanie SQLPrepare do przygotowania instrukcja.

  2. Opcjonalnie można wywołać SQLNumParams do określenia liczby parametrów w instrukcja przygotowany.

  3. Opcjonalnie dla każdego parametru w przygotowanej instrukcja:

    • Wywołanie SQLDescribeParam , aby uzyskać informacje o parametr.

    • Powiązać każdego parametru za pomocą zmiennej program SQLBindParameter.Ustawianie parametrów wszelkich danych na wykonanie.

  4. Dla każdego wykonanie gotowa instrukcja:

    • Jeśli instrukcja parametru, należy umieścić wartości danych do buforu parametru związanego.

    • Wywołanie SQLExecute wykonać gotowa instrukcja.

    • Jeśli używane są parametry wejściowe dane na wykonanie, SQLExecute zwraca SQL_NEED_DATA.Wyślij dane w fragmenty za pomocą SQLParamData i SQLPutData.

Aby przygotować instrukcja z powiązanie parametru kolumna-wise

  1. Wywołanie SQLSetStmtAttr do zestaw następujące atrybuty:

    • Ustaw SQL_ATTR_PARAMSET_SIZE liczba parametrów zestawy (S).

    • Ustaw SQL_ATTR_PARAM_BIND_TYPE na SQL_PARAMETER_BIND_BY_COLUMN.

    • Atrybut SQL_ATTR_PARAMS_PROCESSED_PTR wskaż zmienną SQLUINTEGER do przechowania liczby parametrów przetwarzania.

    • Ustaw SQL_ATTR_PARAMS_STATUS_PTR, wskaż polecenie tablica [S] zmienne SQLUSSMALLINT wskaźniki stanu parametru.

  2. Wywołanie SQLPrepare do przygotowania instrukcja.

  3. Opcjonalnie można wywołać SQLNumParams do określenia liczby parametrów w instrukcja przygotowany.

  4. Opcjonalnie dla każdego parametru w przygotowanej instrukcja call SQLDescribeParam , aby uzyskać informacje o parametr.

  5. Dla każdego parametru znacznika:

    • Przydzielić tablicy s buforów parametru do przechowywania wartości danych.

    • Przydzielić buforów parametru do przechowywania danych długości tablicy S.

    • Wywołanie SQLBindParameter do powiązania danych wartość i dane długość tablic parametrów do parametru instrukcja.

    • Jeśli parametr jest wykonywanie w danych tekst lub obraz parametr zestaw go w górę.

    • Jeśli używane są parametry danych na wykonanie, zestaw je.

  6. Dla każdego wykonanie gotowa instrukcja:

    • Wprowadzane wartości danych s i długości danych s do tablic parametrów związanego.

    • Wywołanie SQLExecute wykonanie przygotowanej instrukcja.

    • Jeśli używane są parametry wejściowe dane na wykonanie, SQLExecute zwraca wartość SQL_NEED_DATA.Wyślij dane w fragmenty za pomocą SQLParamData i SQLPutData.

Do przygotowania instrukcja z row-wise powiązane parametry

  1. Przydzielić tablicy [S] struktur, gdzie s jest liczba zestawów parametrów.Struktura ma jeden element dla każdego parametru, a każdy element ma dwie części:

    • Pierwsza część jest zmienną typu danych odpowiednich do przechowywania danych parametru.

    • Druga część jest zmienna SQLINTEGER do przechowywania wskaźnik stanu.

  2. Wywołanie SQLSetStmtAttr do zestaw następujące atrybuty:

    • Ustaw SQL_ATTR_PARAMSET_SIZE liczba parametrów zestawy (S).

    • Ustaw SQL_ATTR_PARAM_BIND_TYPE na rozmiar struktury przydzielone w kroku 1.

    • Atrybut SQL_ATTR_PARAMS_PROCESSED_PTR wskaż zmienną SQLUINTEGER do przechowania liczby parametrów przetwarzania.

    • Ustaw SQL_ATTR_PARAMS_STATUS_PTR, wskaż polecenie tablica [S] zmienne SQLUSSMALLINT wskaźniki stanu parametru.

  3. Wywołanie SQLPrepare do przygotowania instrukcja.

  4. Dla każdego znacznika parametru wywołania SQLBindParameter wskaż parametr danych wartość i dane długość wskaźnik swoje zmienne w pierwszym elemencie tablicy struktur przydzielone w kroku 1.Jeśli parametr jest parametrem danych na wykonanie zestaw go w górę.

  5. Dla każdego wykonanie gotowa instrukcja:

    • Wypełnienie tablica buforu parametru związanego z wartości danych.

    • Wywołanie SQLExecute wykonanie przygotowanej instrukcja.Sterownik efektywnie wykonuje instrukcja języka SQL s razy, raz dla każdego zestaw parametrów.

    • Jeśli używane są parametry wejściowe dane na wykonanie, SQLExecute zwraca wartość SQL_NEED_DATA.Wyślij dane w fragmenty za pomocą SQLParamData i SQLPutData.