Seite 1 von 1

Anfängerproblem mit Datenbankabfrage

Verfasst: Montag 15. April 2019, 20:42
von DaCarlo
Hallo zusammen,

mein Name ist Carlo und versuche gerade mein Glück mit Python :-)
Aktuell versuche ich gerade lesend auf eine bestehende Datenbank zuzugreifen.
Leider scheitere ich gerade an einer Fehlermeldung, bei der mir auch Google nicht weiterhelfen konnte. Ich hab auch noch in ein paar Bücher gewälzt, finde aber keine Lösung - vielleicht sehe ich auch den Wald vor lauter Bäumen nicht :-(
Vielleicht habt ihr einen Hinweis für mich was ich da falsch mache.

Code: Alles auswählen

C:\Users\Carlo>python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import jaydebeapi
>>> conn = jaydebeapi.connect("org.hsqldb.jdbcDriver","jdbc:hsqldb:file://blablabla/gKFZ/Fakturama/Database/Database",["xxx", ""], "C:/Programme/Fakturama2/plugins/hsqldb.jar",)
>>> vAbfrage="SELECT * FROM public.public.fkt_document"
>>> curs=conn.cursor()
>>> print(vAbfrage)
SELECT * FROM public.public.fkt_document
>>> curs.execute(vAbfrage)
>>> for dsatz in curs:
...     print(dsatz[1])
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Cursor' object is not iterable
>>>
Schöne Grüße,
Carlo

Re: Anfängerproblem mit Datenbankabfrage

Verfasst: Montag 15. April 2019, 21:13
von __deets__
Ein Weg besteht im Aufruf von fetchall() auf dem cursor. DAS ist dann dein Ergebnis über das du iterieren kannst.

Re: Anfängerproblem mit Datenbankabfrage

Verfasst: Montag 15. April 2019, 21:38
von sparrow
Was __deets__ sagt, ist korrekt.
Leider ist das nicht bei allen Datenbankmodulen gleich. Bei sqlite3 würde es so funktionieren, wie du es versuchst.