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.
Parametr SQLBindParameter zawiera argumenty opisujące parametr: jego typ SQL, precyzję i skalę. Sterownik używa tych informacji lub metadanych, aby przekonwertować wartość parametru na typ wymagany przez źródło danych. Na pierwszy rzut oka może się wydawać, że sterownik jest w lepszej sytuacji, aby znać metadane parametrów niż aplikacja; sterownik może łatwo odnaleźć metadane dla kolumny zestawu wyników. Jak się okazuje, tak nie jest. Po pierwsze, większość źródeł danych nie zapewnia możliwości odnajdywania metadanych parametrów przez sterownik. Po drugie, większość aplikacji zna już metadane.
Jeśli instrukcja SQL jest zakodowana w aplikacji, twórca aplikacji już zna typ każdego parametru. Jeśli instrukcja SQL jest tworzona przez aplikację w czasie wykonywania, aplikacja może określić metadane podczas tworzenia instrukcji. Na przykład gdy aplikacja konstruuje klauzulę
WHERE OrderID = ?
może wywołać funkcję SQLColumns dla kolumny OrderID.
Jedyną sytuacją, w której aplikacja nie może łatwo określić metadanych parametru, jest wprowadzenie instrukcji sparametryzowanej przez użytkownika. W takim przypadku aplikacja wywołuje narzędzie SQLPrepare w celu przygotowania instrukcji SQLNumParams w celu określenia liczby parametrów i parametrów SQLDescribeParam w celu opisania każdego parametru. Jednak, jak wspomniano wcześniej, większość źródeł danych nie zapewnia możliwości odnajdywania metadanych parametrów przez sterownik, więc sqlDescribeParam nie jest powszechnie obsługiwany.