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