Udostępnij przez


Jak Przygotowanie i wykonać instrukcja (ODBC)

Aby przygotować instrukcja jeden raz, a następnie ją wykonać wiele razy

  1. Wywołanie SQLPrepare Przygotowanie instrukcja.

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

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

    • Wywołanie SQLDescribeParam Aby uzyskać informacje o parametrach.

    • Powiązanie każdego parametru do zmiennej program przy użyciu SQLBindParameter. zestaw up żadnych parametrów danych na wykonanie.

  4. Dla każdego wykonania gotowa instrukcja:

    • Jeśli instrukcja ma znaczniki parametrów, wprowadzane 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.Wysyłanie danych w fragmentów przy użyciu SQLParamData and SQLPutData.

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

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

    • zestaw SQL_ATTR_PARAMzestaw_SIZE liczby s zestaw (S) z parametrami.

    • zestaw SQL_ATTR_PARAM_BIND_TYPE do SQL_PARAMETER_BIND_BY_COLUMN.

    • zestaw atrybut SQL_ATTR_PARAMS_PROCESSED_PTR wskaż SQLUINTEGER zmiennej do przechowania liczby parametrów przetwarzania.

    • zestaw SQL_ATTR_PARAMS_STATUS_PTR wskaż tablicy [S] SQLUSSMALLINT zmiennych do przechowywania parametru wskaźników stanu.

  2. Wywołanie SQLPrepare Przygotowanie instrukcja.

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

  4. Opcjonalnie dla każdego parametru w instrukcja przygotowany wywołania SQLDescribeParam Aby uzyskać informacje o parametrach.

  5. Dla każdego parametru znacznika:

    • Przydzielić Tablica parametru S buforów do przechowywania wartości danych.

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

    • Wywołanie SQLBindParameter Aby powiązać parametr danych wartość i dane długości tablic parametr instrukcja.

    • Jeśli parametr ma danych na wykonanie tekstu lub parametr obrazu zestaw go w górę.

    • Jeśli używane są parametry danych na wykonanie, zestaw je w górę.

  6. Dla każdego wykonania gotowa instrukcja:

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

    • Wywołanie SQLExecute Aby wykonać przygotowanej instrukcja.

    • Jeśli używane są parametry wejściowe dane na wykonanie, SQLExecute Zwraca SQL_NEED_DATA. Wysyłanie danych w fragmentów przy użyciu SQLParamData i SQLPutData.

Do przygotowania instrukcja z row-wise powiązane parametry

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

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

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

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

    • zestaw SQL_ATTR_PARAMzestaw_SIZE liczby s zestaw (S) z parametrami.

    • zestaw SQL_ATTR_PARAM_BIND_TYPE rozmiar struktury przydzielonych w kroku 1.

    • zestaw atrybut SQL_ATTR_PARAMS_PROCESSED_PTR wskaż SQLUINTEGER zmiennej do przechowania liczby parametrów przetwarzania.

    • zestaw SQL_ATTR_PARAMS_STATUS_PTR wskaż tablicy [S] SQLUSSMALLINT zmiennych do przechowywania parametru wskaźników stanu.

  3. Wywołanie SQLPrepare Przygotowanie instrukcja.

  4. Dla każdego znacznika parametru wywołania SQLBindParameter Aby wskazać parametr danych wartość i dane długość wskaźnik swoje zmienne w pierwszym elemencie tablicy struktur przydzielonych w kroku 1. Jeśli parametr ma parametr danych na wykonanie, należy go skonfigurować.

  5. Dla każdego wykonania gotowa instrukcja:

    • Wypełnienie tablica buforu parametru związanych z wartościami danych.

    • Wywołanie SQLExecute Aby wykonać przygotowanej instrukcja. Sterownik wykonuje wydajnie razy S instrukcję SQL, tylko jeden raz dla każdego zestaw parametrów.

    • Jeśli używane są parametry wejściowe dane na wykonanie, SQLExecute Zwraca SQL_NEED_DATA. Wysyłanie danych w fragmentów przy użyciu SQLParamData i SQLPutData.