Udostępnij za pośrednictwem


Jak Użyj kursorów (ODBC)

Aby użyć kursory

  1. Wywołanie SQLSetStmtAttr Aby zestaw kursor żądane atrybuty:

    zestaw SQL_ATTR_CURSOR_TYPE i SQL_ATTR_CONCURRENCY atrybuty (jest to preferowana opcja).

    Or

    zestaw atrybuty SQL_CURSOR_SCROLLABLE i SQL_CURSOR_SENSITIVITY.

  2. Wywołanie SQLSetStmtAttr Aby ustawić rozmiar zestaw wierszy przy użyciu atrybut SQL_ATTR_ROW_ARRAY_SIZE.

  3. Opcjonalnie można wywołać SQLSetCursorName ustawić nazwa kursor, jeśli aktualizacje będą mogły wykonać przy użyciu klauzula WHERE CURRENT OF.

  4. wykonać instrukcja języka SQL.

  5. Opcjonalnie można wywołać SQLGetCursorName uzyskanie kursor nazwy, jeśli aktualizacje będą mogły wykonać przy użyciu klauzula WHERE CURRENT OF a nazwa kursora nie został dostarczony z SQLSetCursorName w kroku 3.

  6. Wywołanie SQLNumResultCols Aby uzyskać odpowiednią liczbę kolumn (C) w zestawie zestaw wierszy.

    Za pomocą kolumna-wise wiązanie.

    - lub -

    Za pomocą row-wise wiązanie.

  7. Pobieranie wierszy z kursor stosownie do potrzeb.

  8. Wywołanie SQLMoreResults Aby ustalić, czy zestaw wyników innego jest dostępna.

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

    • Zwraca SQL_NO_DATA, zestaw wyników nie są dostępne.

    • Jeśli zwraca SQL_SUCCESS_WITH_INFO lub SQL_ERROR wywołania SQLGetDiagRec, aby określić, czy dane wyjściowe z instrukcja PRINT lub RAISERROR jest dostępny.

    Jeśli parametry związane instrukcja są używane dla parametrów wyjściowych lub wartości zwracanej przez procedura przechowywana, należy użyć danych dostępnych w buforach parametr związanego.

    Gdy używane są parametry związane, każde wywołanie SQLExecute or SQLExecDirect będzie wykonywany SQL instrukcja S razy, gdzie S to liczba elementów w tablicy powiązania parametry.Oznacza to, że będzie można S zestawów wyniki proces, w którym każdy zestaw wyniki obejmuje zestawy wyniki, parametry wyjściowe i zwracają kodów zazwyczaj zwracane przez pojedynczy wykonanie instrukcja języka SQL.

    Należy zauważyć, że gdy zestaw wyników zawiera wiersze obliczeń, każdy wiersz obliczeń są dostępne jako zestaw oddzielnych wyników.Obliczenia te zestawy wyników są wplecione w ramach normalnej wierszy i podział wierszy normalny na wiele zestawów wyników.

  9. Opcjonalnie można wywołać SQLFreeStmt z SQL_UNBIND zwolnić wszystkie bufory kolumna związanej.

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

    W kroku 9, wywoływanie SQLMoreResults częściowo przetworzone wyniku zestaw usuwa pozostałą część zestaw wyników. Inny sposób, aby je wyczyścić zestaw wyników częściowo przetworzone polega na wywołania SQLCloseCursor.

    Można określić typ używany przez ustawienie SQL_ATTR_CURSOR_TYPE i SQL_ATTR_CONCURRENCY lub przez ustawienie SQL_ATTR_CURSOR_SENSITIVITY i SQL_ATTR_CURSOR_SCROLLABLE kursor.Nie należy mieszać dwie metody określania zachowania kursor.