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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - Programmierung » 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.

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. Die Abrufroutine überprüft, ob eine Warnsituation vorliegt (wie Zeile nicht gefunden, SQLCODE 100) und gibt gegebenenfalls die erforderlichen Fehlermeldung aus. 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. Diese Form der FETCH-Anweisung ruft nicht tatsächlich die Daten ab, sondern 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.

 Siehe auch