Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere Embedded SQL » Beispielprogramme mit Embedded SQL

 

Beispiel für statischen Cursor

Dieses Beispiel zeigt die Verwendung von Cursor. Der Cursor, der hier verwendet wurde, ruft bestimmte Informationen aus der Tabelle Employees in der Beispieldatenbank ab. Der Cursor wird statisch deklariert, das heißt, die SQL-Anweisung, die die Information abruft, ist im Quellprogramm enthalten. Dies ist ein gutes Beispiel, um zu lernen, wie Cursor funktionieren. Das Beispiel für dynamische Cursor konvertiert dieses erste Beispiel und verwendet Dynamic SQL-Anweisungen. Weitere Hinweise finden Sie unter Beispiel für dynamischen Cursor.

Wo der Quellcode zu finden ist und wie Sie dieses Beispielprogramm kompilieren, finden Sie unter Beispielprogramme mit Embedded SQL.

Die open_cursor-Routine deklariert einen Cursor für die jeweilige SQL-Abfrage und öffnet ebenfalls den Cursor.

Die print-Routine druckt eine Seite mit Informationen. Sie führt pagesize-mal eine Schleife aus, die eine einzelne Zeile vom Cursor abruft und druckt. Beachten Sie, dass die Abrufroutine überprüft, ob eine Warnsituation vorliegt (wie Zeile nicht gefunden), und gegebenenfalls die erforderliche Fehlermeldung ausgibt. Außerdem positioniert das Programm den Cursor neu in der Zeile vor derjenigen, die am Anfang der aktuellen Datenseite ausgegeben wurde.

Die Routinen move, top und bottom positionieren den Cursor mit der geeigneten Form der FETCH-Anweisung. Beachten Sie bitte, dass diese Form der FETCH-Anweisung nicht tatsächlich die Daten abruft. Die Anweisung positioniert lediglich den Cursor. Außerdem wurde eine allgemeine Routine namens move zur relativen Positionierung implementiert, die abhängig vom Vorzeichen des Parameters den Cursor in die eine oder andere Richtung bewegt.

Beendet der Benutzer das Programm, wird der Cursor geschlossen und die Datenbankverbindung getrennt. Der Cursor wird durch eine ROLLBACK WORK-Anweisung geschlossen und die Verbindung mit DISCONNECT getrennt.