Immer dann, wenn automatische Masken keine Rolle spielen könne, liefern die Zope-eigenen ZSQL-Methoden eine ideale Ergänzung. Im Prinzip handelt es sich auch hier um einen OR-Mapping-Mechanismus, der eine SQL-Abfrage über die SQL-Connection in ein Zope-Objekt umwandelt. Eine detaillierte Anleitung findet sich in der folgenden Literatur-Liste (Relational Database Connectivity). Hier sei nur auf einige wenige wichtige Objekt-Funktionen hingewiesen, sie sich per Python-Script oder DTML-Methode ausführen lassen:
Angenommen result ist das Ergbnis-Objekt einer ZSQL-Methode. Für die Darstellung des Ergebnisses wählt man in der Regel eine DTML-Methode, in der man dies mit einer in-Iteration die Ergebnisdatensätze druchlaufen und entsprechend dem Spaltennamen ausgeben würde. Mit folgenden Funktionen kann man direkt auf das Ergebnis-Objekt zugreifen:
- len(result):
liefert die Anzahl der gefunden Datensätze (int) - result.names() :
liefert alle Spaltennamen der SQL-Ergebnistabelle (list) - result.tuples():
liefert alle Ergebnisdatensätze als Liste von Tupeln (list) - result.dictionaries():
liefert zusätzlich zu jedem Ergebniswert noch den Schlüssel (Spaltennamen); damit ergibt sich eine Liste von Dictionaries (list) - result.data_dictionary():
liefert eine Beschreibung der Datenstruktur (dict) - result.asRDB():
liefert eine Ergebnisdarstellung, wie man sie per SQL-Kommndozeile gwohnt ist. - result[0][1]:
liefert per Indizes einen definierten Wert aus dem „Datengrid“, hier erste Zeile/Datensatz [0] und zweite Spalte [1]