Teilen über


Bezeichnerargumente

Wenn eine Zeichenfolge in einem Bezeichnerargument zitiert wird, entfernt der Treiber führende und nachfolgende Leerzeichen und behandelt buchstäblich die Zeichenfolge innerhalb der Anführungszeichen. Wenn die Zeichenfolge nicht zitiert wird, entfernt der Treiber nachfolgende Leerzeichen und faltet die Zeichenfolge in Großbuchstaben. Wenn Sie ein Bezeichnerargument auf einen NULL-Zeiger festlegen, wird SQL_ERROR und SQLSTATE HY009 (Ungültige Verwendung des Nullzeigers) zurückgegeben, es sei denn, das Argument ist ein Katalogname und Kataloge werden nicht unterstützt.

Diese Argumente werden als Bezeichnerargumente behandelt, wenn das attribut der SQL_ATTR_METADATA_ID-Anweisung auf SQL_TRUE festgelegt ist. In diesem Fall werden der Unterstrich (_) und das Prozentzeichen (%) als tatsächliches Zeichen behandelt, nicht als Suchmusterzeichen. Diese Argumente werden je nach Argument als gewöhnliches Argument oder musterargument behandelt, wenn dieses Attribut auf SQL_FALSE festgelegt ist.

Obwohl Bezeichner, die Sonderzeichen enthalten, in SQL-Anweisungen zitiert werden müssen, dürfen sie nicht als Katalogfunktionsargumente zitiert werden, da Anführungszeichen, die an Katalogfunktionen übergeben werden, wörtlich interpretiert werden. Angenommen, das Anführungszeichen des Bezeichners (das treiberspezifisch und über SQLGetInfo zurückgegeben wird) ist ein doppeltes Anführungszeichen ("). Der erste Aufruf von SQLTables gibt ein Resultset zurück, das Informationen zur Tabelle "Kreditorenabrechnungen" enthält, während der zweite Aufruf Informationen zur Tabelle "Kreditorenabrechnungen" zurückgibt, was wahrscheinlich nicht beabsichtigt war.

SQLTables(hstmt1, NULL, 0, NULL, 0, "Accounts Payable", SQL_NTS, NULL, 0);  
SQLTables(hstmt2, NULL, 0, NULL, 0, "\"Accounts Payable\"", SQL_NTS, NULL, 0);  

Bezeichner in Anzeichen werden verwendet, um einen echten Spaltennamen von einer Pseudospalte desselben Namens zu unterscheiden, z. B. ROWID in Oracle. Wenn "ROWID" in einem Argument einer Katalogfunktion übergeben wird, funktioniert die Funktion mit der ROWID-Pseudospalte, falls vorhanden. Wenn die Pseudospalte nicht vorhanden ist, funktioniert die Funktion mit der Spalte "ROWID". Wenn ROWID in einem Argument einer Katalogfunktion übergeben wird, funktioniert die Funktion mit der Spalte ROWID.

Weitere Informationen zu Bezeichnern in Anzeichen finden Sie unter "Bezeichner mit Anmerkungen".