Seite 1 von 1
Kann auf Abfrage mit Python kein select ausführen
Verfasst: So 16. Jun 2013, 00:10
von bibodo
Hallo zusammen,
Ich habe eine Base Datei mit mehreren Tabellen und Abfragen. Nun möchte ich von Python aus mittels select eine der Abfragen abfragen.
Code: Alles auswählen
nextPIDSql = 'select "ID" from npid;'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
Leider bekomme ich immer nur: Table not found in statement [select "ID" from npid;]
Ich bin für jeden Tip dankbar.
bibodo
Re: Kann auf Abfrage mit Pythonk ein select ausführen
Verfasst: So 16. Jun 2013, 07:48
von F3K Total
Hi,
ich kann kein Phyton, vermute aber es liegt schlicht an der Syntax, denn in Basic müssen Datenbankelemente sogar in doublequotes, da musst du mal herumprobieren, z.B.
Code: Alles auswählen
nextPIDSql = 'select "ID" from "npid";'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
oder ohne Semikolon
Code: Alles auswählen
nextPIDSql = 'select "ID" from "npid"'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
oder ...
Gruß R
Re: Kann auf Abfrage mit Pythonk ein select ausführen
Verfasst: So 16. Jun 2013, 15:24
von bibodo
F3K Total hat geschrieben:Hi,
ich kann kein Phyton, vermute aber es liegt schlicht an der Syntax, denn in Basic müssen Datenbankelemente sogar in doublequotes, da musst du mal herumprobieren, z.B.
Code: Alles auswählen
nextPIDSql = 'select "ID" from "npid";'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
oder ohne Semikolon
Code: Alles auswählen
nextPIDSql = 'select "ID" from "npid"'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
oder ...
Gruß R
Hallo R,
Danke für den Tip, das hatte ich alles schon probiert, hat leider nicht geholfen.
Re: Kann auf Abfrage mit Pythonk ein select ausführen
Verfasst: So 16. Jun 2013, 21:11
von RobertG
Hallo bibodo
bibodo hat geschrieben:Nun möchte ich von Python aus mittels select eine der Abfragen abfragen.
Code: Alles auswählen
nextPIDSql = 'select "ID" from npid;'
self.nextPIDStmt = self.connection.prepareStatement(nextPIDSql)
result = self.nextPIDStmt.executeQuery()
Leider bekomme ich immer nur: Table not found in statement [select "ID" from npid;]
Das ist ja sicher nicht der ganze Code, mit dem Du auf die Datenbank zugreifst, oder?
Wie erhältst Du den Kontakt zur Datenbank? Vielleicht sucht Dein Makro an einer ganz anderen Stelle nach irgendwelchen Tabellen?
Immerhin erhältst Du ja eine Fehlermeldung, die anscheinend von einer Datenbank kommt - die Tabelle wird nicht gefunden.
In Basic würde der Kontakt zur Datenbank so hergestellt:
Code: Alles auswählen
oDatenquelle = ThisComponent.Parent.CurrentController
If NOT (oDatenquelle.isConnected()) THEN
oDatenquelle.connect()
END IF
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement()
Gruß
Robert