Anwendungsvariablen

Die Anwendungsprogrammiersprachen, wie z. B. C, C++, Basic und Java, verwenden Variablen zur Aufnahme von Daten. Variablen sind Speicherbereiche, die einen Datenwert aufnehmen können. Jede Anwendungsvariable besitzt einen Datentyp und eine Datengröße. Für nummerische Variablen sind außerdem die Genauigkeit (Anzahl der Ziffern, die die Variable aufnehmen kann) und die Dezimalstellen (Anzahl der Ziffern rechts vom Dezimaltrennzeichen) angegeben.

Damit eine Anwendung mit den von Transact-SQL-Anweisungen zurückgegebenen Daten arbeiten kann, muss sie über einen Mechanismus zum Verschieben der Transact-SQL-Daten in Anwendungsvariablen verfügen. Die Datenbank-APIs unterstützen das Konzept der Bindung einer Resultsetspalte, eines Parameters, eines Rückgabecodes oder einer Parametermarkierung in einer Transact-SQL-Anweisung an eine Anwendungsvariable.

Zum Abrufen der Daten in einem Resultset verwendet eine Anwendung einen Vorgang, der dem Folgenden ähnelt:

  1. Ausführen einer Transact-SQL-Anweisung.

  2. Aufruf einer Datenbank-API-Funktion, um herauszufinden, wie viele Spalten das Resultset enthält.

  3. Für jede Resultsetspalte führt die Anwendung nun Folgendes aus:

    • Aufruf einer Datenbank-API-Funktion, die die Attribute (Datentyp, Größe usw.) der Spalte zurückgibt.

    • Zuordnen einer Anwendungsvariablen mit Attributen, die mit den Attributen der Spalte kompatibel sind.

    • Aufruf einer Datenbank-API-Funktion zum Binden oder Zuordnen der Resultsetspalte mit der Anwendungsvariablen.

  4. Verwendung von Datenbank-API-Funktionen, um die Zeilen des Resultsets nacheinander abzurufen. Bei jedem Abruf werden die Werte jeder Resultsetspalte in die an die Spalte gebundene Anwendungsvariable eingefügt.

Anwendungen können diesen Prozess auch unterschiedlich ausführen. Wenn die Anwendung z. B. eine im Programmcode fest integrierte Transact-SQL-Anweisung für eine bekannte Tabelle ausführt, sind die Attribute der Resultsetspalten bereits im Voraus bekannt; die Anwendung muss dann nicht die Datenbank-API zum Abrufen dieser Attribute aufrufen.

Falls die Anwendung eine Resultsetspalte an eine Anwendungsvariable bindet, deren Datentyp sich von dem des zugeordneten Datenbankobjekts unterscheidet, muss der OLE DB-Anbieter oder der ODBC-Treiber die Daten konvertieren. Wenn eine Anwendung z. B. eine money-Spalte an ein Zeichenarray bindet, muss der OLE DB-Anbieter oder der ODBC-Treiber die money-Daten in eine Zeichenfolge konvertieren. In der Dokumentation für Microsoft OLE DB-Anbieter für SQL Server und für den SQL Server-ODBC-Treiber werden die von diesen Programmen unterstützten Datentypkonvertierungen definiert.

Weitere Informationen zum Abrufen von Parametern und Rückgabecodes in Anwendungen finden Sie unter Parametermarkierungen (Datenbankmodul).