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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » SQL in Anwendungen verwenden » Mit Cursor arbeiten

 

Cursor verwenden

Die Verwendung eines Cursors in Embedded SQL unterscheidet sich von der Verwendung eines Cursors in anderen Schnittstellen.

 ♦  So verwenden Sie einen Cursor (ADO.NET, ODBC, JDBC und Open Client)
  1. Bereiten Sie eine Anweisung vor und führen Sie sie aus:

    Führen Sie eine Anweisung mit der normalen Methode für die Schnittstelle aus. Sie können die Anweisung vorbereiten und dann ausführen, oder die Anweisung direkt ausführen.

    Bei ADO.NET gibt nur die Methode SACommand.ExecuteReader einen Cursor zurück. Er liefert einen Cursor nur zum Lesen und nur zum Weitergeben.

  2. Überprüfen Sie, ob die Anweisung eine Ergebnismenge zurückgibt.

    Ein Cursor wird implizit geöffnet, wenn eine Anweisung ausgeführt wird, die eine Ergebnismenge erstellt. Beim Öffnen eines Cursors wird er vor die erste Zeile der Ergebnismenge gesetzt.

  3. Rufen Sie die Ergebnisse ab.

    Obwohl ein einfacher Abrufvorgang den Cursor in die nächste Zeile der Ergebnismenge bewegt, ermöglicht SQL Anywhere auch kompliziertere Bewegungen in der Ergebnismenge.

  4. Schließen Sie den Cursor.

    Wenn Sie die Arbeit mit dem Cursor abgeschlossen haben, schließen Sie ihn, damit die ihm zugewiesenen Ressourcen freigegeben werden.

  5. Geben Sie die Anweisung frei.

    Wenn Sie eine vorbereitete Anweisung verwendet haben, geben Sie sie frei, um den benutzten Speicher wieder verfügbar zu machen.

 ♦  So verwenden Sie einen Cursor (Embedded SQL)
  1. Bereiten Sie eine Anweisung vor.

    Cursor verwenden üblicherweise einen Anweisungs-Handle statt einer Zeichenfolge. Sie müssen eine Anweisung vorbereiten, damit ein Handle verfügbar ist.

    Hinweise zum Vorbereiten einer Anweisung finden Sie unter Anweisungen vorbereiten.

  2. Deklarieren Sie den Cursor.

    Jeder Cursor bezieht sich auf eine einzelne SELECT- oder CALL-Anweisung. Wenn Sie einen Cursor deklarieren, geben Sie den Namen des Cursors und die Anweisung an, auf die er sich bezieht.

    Weitere Hinweise finden Sie unter DECLARE CURSOR-Anweisung [ESQL] [SP].

  3. Öffnen Sie den Cursor. Siehe OPEN-Anweisung [ESQL] [SP].

    Bei einer CALL-Anweisung wird durch das Öffnen des Cursors die Prozedur bis zu dem Punkt ausgeführt, an dem die erste Zeile bezogen werden kann.

  4. Rufen Sie die Ergebnisse ab.

    Obwohl ein einfacher Abrufvorgang den Cursor in die nächste Zeile der Ergebnismenge bewegt, ermöglicht SQL Anywhere auch kompliziertere Bewegungen in der Ergebnismenge. Die verfügbaren Abrufvorgänge hängen davon ab, wie Sie den Cursor deklarieren. Siehe FETCH-Anweisung [ESQL] [SP] und Daten abrufen.

  5. Schließen Sie den Cursor.

    Wenn Sie die Arbeit mit dem Cursor abgeschlossen haben, schließen Sie ihn. Das setzt alle Ressourcen frei, die dem Cursor zugeordnet sind. Siehe CLOSE-Anweisung [ESQL] [SP].

  6. Löschen Sie die Anweisung.

    Um den Speicher freizugeben, der der Anweisung zugeordnet war, müssen Sie die Anweisung löschen. Siehe DROP STATEMENT-Anweisung [ESQL].

Weitere Hinweise zur Cursor-Verwendung in Embedded SQL finden Sie unter Daten abrufen.