## SQL-Anweisung ausführen und Ergebnismenge auslesen

In diesem Beispiel verwenden Sie die Methoden sql und next des Moduls sdb.sql. Sie führen eine SELECT-Anweisung aus, die als Ergebnis ein Objekt der Klasse SapDB_ResultSet liefert (Ergebnismenge), lesen die Datensätze dieser Ergebnismenge nacheinander aus.

### Vorgehensweise

...

1. Erstellen Sie ein Python-Skript sample.py mit folgendem Inhalt:

#

# Python-Module importieren

# -------------------------------------------

import sys

import sdb.sql

# Verbindung zur Datenbankinstanz herstellen

# -------------------------------------------

database_user = sys.argv [1]

database_user_password = sys.argv [2]

database_name = sys.argv [3]

session = sdb.sql.connect (database_user, database_user_password, database_name)

select = """

SELECT title, name, cno FROM hotel.customer

WHERE cno BETWEEN 3000 AND 8000"""

#

# SELECT-Anweisung ausführen

# Ergebnis: Objekt der Klasse SAPDB_ResultSet

# -----------------------------------------------

cursor = session.sql (select)

#

# Die Methode next liest den nächsten Datensatz

# der Ergebnismenge aus.

# Wenn das Ende der Ergebnismenge erreicht wurde,

# dann gibt die Methode next den Wert None aus.

# -----------------------------------------------

row = cursor.next ()

while row:

title, name, cno = row

print "%s %s %d" % (title, name, cno)

row = cursor.next ()

#

# Verbindung zur Datenbankinstanz beenden

# ---------------------------------------------

session.release ()

2. Rufen Sie das Python-Skript auf:

python sample.py MONA RED DEMODB

### Ergebnis

Mrs Porter 3000

Mr Brown 3100

Company Datasoft 3200

Mrs Brian 3300

Mrs Griffith 3400

Mr Randolph 3500

Mrs Smith 3600

Mr Jackson 3700

Mrs Doe 3800

Mr Howe 3900

Mr Miller 4000

Mrs Baker 4100

Mr Peters 4200

Company TOOLware 4300

Mr Jenkins 4400

Siehe auch:

Beispiele für das Modul sdb.sql