Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Sommige argumenten in de catalogusfuncties, zoals het argument TableName in SQLTables, accepteren zoekpatronen. Deze argumenten accepteren zoekpatronen als het kenmerk SQL_ATTR_METADATA_ID instructie is ingesteld op SQL_FALSE; dit zijn id-argumenten die geen zoekpatroon accepteren als dit kenmerk is ingesteld op SQL_TRUE.
De tekens voor het zoekpatroon zijn:
Een onderstrepingsteken (_), dat één teken vertegenwoordigt.
Een procentteken (%), dat een willekeurige reeks nul of meer tekens vertegenwoordigt.
Een escape-teken, dat specifiek is voor het stuurprogramma en wordt gebruikt om onderstrepingstekens, procenttekens en het escape-teken als letterlijke tekens op te nemen. Als het escape-teken voorafgaat aan een niet-speciaal teken, heeft het escapeteken geen speciale betekenis. Als het escape-teken voorafgaat aan een speciaal teken, neutraliseert het het speciale teken. '\a' wordt bijvoorbeeld behandeld als twee tekens, '\' en 'a', maar '\%' wordt behandeld als het niet-speciale enkelteken '%'.
Het escape-teken wordt opgehaald met de optie SQL_SEARCH_PATTERN_ESCAPE in SQLGetInfo. Het moet voorafgaan aan een onderstrepingsteken, procentteken of escapeteken in een argument dat zoekpatronen accepteert om dat teken als letterlijke waarde op te nemen. Voorbeelden worden weergegeven in de volgende tabel.
| Zoekpatroon | Description |
|---|---|
| %A% | Alle identificatoren die de letter A bevatten |
| ABC_ | Alle vier de teken-id's beginnend met ABC |
| ABC\_ | De id ABC_, ervan uitgaande dat het escape-teken een backslash (\) is |
| \\% | Alle identificatoren die beginnen met een backslash (\), ervan uitgaande dat het escape-teken een backslash is |
Er moet speciale aandacht worden besteed aan escape-zoekpatroontekens in argumenten die zoekpatronen accepteren. Dit geldt met name voor het onderstrepingsteken, dat vaak wordt gebruikt in id's. Een veelvoorkomende fout in toepassingen is het ophalen van een waarde uit de ene catalogusfunctie en deze waarde doorgeven aan een zoekpatroonargument in een andere catalogusfunctie. Stel dat een toepassing de tabelnaam ophaalt MY_TABLE uit de resultatenset voor SQLTables en deze doorgeeft aan SQLColumns om een lijst met kolommen in MY_TABLE op te halen. In plaats van de kolommen voor MY_TABLE op te halen, haalt de toepassing de kolommen op voor alle tabellen die overeenkomen met het zoekpatroon MY_TABLE, zoals MY_TABLE, MY1TABLE, MY2TABLE enzovoort.
Opmerking
ODBC 2. x-stuurprogramma's bieden geen ondersteuning voor zoekpatronen in het argument CatalogName in SQLTables. ODBC 3*.x*-stuurprogramma's accepteren zoekpatronen in dit argument als het kenmerk SQL_ATTR_ ODBC_VERSION omgeving is ingesteld op SQL_OV_ODBC3; ze accepteren geen zoekpatronen in dit argument als deze is ingesteld op SQL_OV_ODBC2.
Als u een null-aanwijzer doorgeeft aan een zoekpatroonargument, beperkt dat de zoekopdracht voor dat argument niet; met andere woorden, een null-aanwijzer en het zoekpatroon % (willekeurige tekens) zijn equivalent. Een zoekpatroon met lengte nul, een geldige aanwijzer naar een tekenreeks met lengte nul, komt echter alleen overeen met de lege tekenreeks ("").