Wyniki przetwarzania - Wyniki procesu

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Przetwarzanie wyników w aplikacji ODBC polega najpierw na określeniu cech zbioru wyników, a następnie na pobraniu danych do zmiennych programowych za pomocą SQLBindCol lub SQLGetData.

Przetwarzanie wyników

  1. Pobierz informacje o zestawie wyników.

  2. Jeśli używasz kolumn ograniczonych, dla każdej kolumny, do której chcesz się powiązać, wywołaj SQLBindCol , aby przypisać bufor programu do tej kolumny.

  3. Dla każdego wiersza w zbiorze wyników:

    • Zadzwoń do SQLFetch , aby uzyskać następny wiersz.

    • Jeśli używane są kolumny ograniczone, użyj danych dostępnych obecnie w buforach kolumn powiązanych.

    • Jeśli używa się kolumn niepowiązanych, wywołaj SQLGetData jeden lub więcej razy, aby uzyskać dane dla kolumn niepowiązanych po ostatniej kolumnie powiązanej. Wywołania do SQLGetData powinny być w kolejności rosnącej względem numeru kolumny.

    • Dzwon do SQLGetData wielokrotnie, aby uzyskać dane z kolumny tekstowej lub obrazowej.

  4. Gdy SQLFetch sygnalizuje koniec zbioru wyników, zwracając SQL_NO_DATA, wywołaj SQLMoreResults , aby sprawdzić, czy dostępny jest inny zbiór wyników.

    • Jeśli zwraca SQL_SUCCESS, dostępny jest inny zestaw wyników.

    • Jeśli zwróci SQL_NO_DATA, nie ma już dostępnych zestawów wyników.

    • Jeśli zwraca SQL_SUCCESS_WITH_INFO lub SQL_ERROR, wywołaj SQLGetDiagRec , aby sprawdzić, czy wyjście z instrukcji PRINT lub RAISERROR jest dostępne.

      Jeśli parametry instrukcji bound są używane dla parametrów wyjściowych lub wartości zwrotnej procedury, użyj danych dostępnych obecnie w buforach parametrów bound. Ponadto, gdy używane są parametry bound, każde wywołanie SQLExecute lub SQLExecDirect wykonuje polecenie SQL S razy, gdzie S to liczba elementów w tablicy parametrów bound. Oznacza to, że będzie S zbiorów wyników do przetworzenia, z których każdy zestaw wyników obejmuje wszystkie zestawy wyników, parametry wyjściowe oraz kody zwrotne, zwykle zwracane przez jedno wykonanie instrukcji SQL.

    Uwaga / Notatka

    Gdy zbiór wyników zawiera wiersze obliczeniowe, każdy wiersz obliczeniowy jest dostępny jako osobny zbiór wyników. Te zbiory wyników obliczeniowych są przeplatane z wierszami normalnymi i dzielą wiersze normalne na wiele zbiorów wyników.

  5. Opcjonalnie wywołaj SQLFreeStmt z SQL_UNBIND zwolnić bufory kolumn powiązanych.

  6. Jeśli dostępny jest inny zestaw wyników, przejdź do kroku 1.

Uwaga / Notatka

Aby anulować przetwarzanie zbioru wyników przed zwróceniem SQL_NO_DATA przez SQLFetch , wywołaj SQLCloseCursor.