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.
Niektóre argumenty w funkcjach wykazu, takie jak argument TableName w tabelach SQLTables, akceptują wzorce wyszukiwania. Te argumenty akceptują wzorce wyszukiwania, jeśli atrybut instrukcji SQL_ATTR_METADATA_ID jest ustawiony na SQL_FALSE; są to argumenty identyfikatorów, które nie akceptują wzorca wyszukiwania, jeśli ten atrybut jest ustawiony na SQL_TRUE.
Znaki wzorca wyszukiwania to:
Podkreślenie (_), które reprezentuje dowolny pojedynczy znak.
Znak procentu (%), który reprezentuje dowolną sekwencję znaków zero lub więcej.
Znak ucieczki, który jest specyficzny dla kierowcy i służy do uwzględnienia podkreśleń, znaków procentowych i znaku ucieczki jako literałów. Jeśli znak ucieczki poprzedza znak inny niż specjalny, znak ucieczki nie ma specjalnego znaczenia. Jeśli znak ucieczki poprzedza znak specjalny, uniknie znaku specjalnego. Na przykład znak "\a" będzie traktowany jako dwa znaki: "\" i "a", ale "\%" będzie traktowany jako znak inny niż specjalny "%".
Znak ucieczki jest pobierany za pomocą opcji SQL_SEARCH_PATTERN_ESCAPE w SQLGetInfo. Musi poprzedzać dowolny znak podkreślenia, znak procentu lub znak ucieczki w argumencie, który akceptuje wzorce wyszukiwania, aby uwzględnić ten znak jako literał. Przykłady przedstawiono w poniższej tabeli.
| Wzorzec wyszukiwania | Description |
|---|---|
| %A% | Wszystkie identyfikatory zawierające literę A |
| ABC_ | Wszystkie cztery identyfikatory znaków rozpoczynające się od ABC |
| ABC\_ | Identyfikator ABC_, zakładając, że znak escape jest ukośnikiem odwrotnym (\) |
| \\% | Wszystkie identyfikatory rozpoczynające się od ukośnika odwrotnego (\), zakładając, że znak ucieczki jest ukośnikiem odwrotnym |
Należy zachować szczególną ostrożność, aby uniknąć znaków wzorca wyszukiwania w argumentach, które akceptują wzorce wyszukiwania. Dotyczy to szczególnie znaku podkreślenia, który jest często używany w identyfikatorach. Typowym błędem w aplikacjach jest pobranie wartości z jednej funkcji wykazu i przekazanie tej wartości do argumentu wzorca wyszukiwania w innej funkcji wykazu. Załóżmy na przykład, że aplikacja pobiera nazwę tabeli MY_TABLE z zestawu wyników dla tabel SQLTables i przekazuje je do kolumn SQLColumns , aby pobrać listę kolumn w MY_TABLE. Zamiast pobierać kolumny dla MY_TABLE, aplikacja pobierze kolumny dla wszystkich tabel pasujących do wzorca wyszukiwania MY_TABLE, takich jak MY_TABLE, MY1TABLE, MY2TABLE itd.
Uwaga / Notatka
ODBC 2. Sterowniki x nie obsługują wzorców wyszukiwania w argumencie CatalogName w tabelach SQLTables. Sterowniki ODBC 3*.x* akceptują wzorce wyszukiwania w tym argumencie, jeśli atrybut środowiska SQL_ATTR_ ODBC_VERSION jest ustawiony na SQL_OV_ODBC3; nie akceptują wzorców wyszukiwania w tym argumencie, jeśli jest ustawiona na SQL_OV_ODBC2.
Przekazywanie wskaźnika o wartości null do argumentu wzorca wyszukiwania nie ogranicza wyszukiwania dla tego argumentu; oznacza to, że wskaźnik o wartości null i wzorzec wyszukiwania % (wszystkie znaki) są równoważne. Jednak wzorzec wyszukiwania o zerowej długości — czyli prawidłowy wskaźnik do ciągu o długości zero — pasuje tylko do pustego ciągu ("").