Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Instrukcja jest najbardziej łatwo uważana za instrukcję SQL, taką jak SELECT * FROM Employee. Jednak instrukcja jest bardziej niż tylko instrukcją SQL — składa się ze wszystkich informacji skojarzonych z tą instrukcją SQL, takich jak wszystkie zestawy wyników utworzone przez instrukcję i parametry używane w wykonaniu instrukcji . Instrukcja nie musi nawet mieć zdefiniowanej przez aplikację instrukcji SQL. Na przykład gdy funkcja wykazu, taka jak SQLTables , jest wykonywana na instrukcji, wykonuje wstępnie zdefiniowaną instrukcję SQL zwracającą listę nazw tabel.
Każda instrukcja jest identyfikowana za pomocą uchwytu instrukcji. Instrukcja jest skojarzona z jednym połączeniem i może istnieć wiele instrukcji dotyczących tego połączenia. Niektóre sterowniki ograniczają liczbę aktywnych instrukcji, które obsługują; opcja SQL_MAX_CONCURRENT_ACTIVITIES w narzędziu SQLGetInfo określa liczbę aktywnych instrukcji, które sterownik obsługuje w jednym połączeniu. Instrukcja jest definiowana jako aktywna , jeśli ma oczekujące wyniki, gdzie wyniki są zestawem wyników lub liczbą wierszy, których dotyczy instrukcja INSERT, UPDATE lub DELETE , albo dane są wysyłane z wieloma wywołaniami do sqlPutData.
W kodzie, który implementuje ODBC (Menedżer sterowników albo sterownik), uchwyt instrukcji identyfikuje strukturę zawierającą informacje o instrukcji, takie jak:
Stan oświadczenia
Bieżąca diagnostyka na poziomie instrukcji
Adresy zmiennych aplikacji powiązanych z parametrami instrukcji i kolumnami zestawu wyników
Bieżące ustawienia każdego atrybutu wyrażenia
Uchwyty instrukcji są używane w większości funkcji ODBC. W szczególności są one używane w funkcjach w celu powiązania parametrów i kolumn zestawu wyników (SQLBindParameter i SQLBindCol), przygotowywania i wykonywania instrukcji (SQLPrepare, SQLExecute i SQLExecDirect), pobierania metadanych (SQLColAttribute i SQLDescribeCol), pobierania wyników (SQLFetch) i pobierania danych diagnostycznych (SQLGetDiagField i SQLGetDiagRec). Są one również używane w funkcjach wykazu (SQLColumns, SQLTables itd.) i wielu innych funkcjach.
Dojścia instrukcji są przydzielane za pomocą polecenia SQLAllocHandle i zwalniane za pomocą polecenia SQLFreeHandle.