Seite 1 von 1

SQL- Befehl, Ergebnisausgabe mit Resulset

Verfasst: Di, 11.10.2005 10:27
von daria83
Hallo ihrs,
hier erstmal der Code:
Sub Abfrage
dim DatabaseContext as Object
dim DataSource as Object
dim Connection as Object
dim Statement as Object
dim Resultset as Object
dim Query as String
Query = "Select * FROM Daten"
DatabaseContext=createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource= DatabaseContext.getByName("DB1")
Connection = DataSource.GetConnection("","")
Statement = Connection.createStatement()
Resultset = Statement.executeQuery(Query)
while ResultSet.next()
MsgBox ResultSet.getString( 1 )
wend
ResultSet.close()
Statement.close()
Connection.close()
end sub

Nun tritt dieser Fehler auf:
Type: com.sun.star.sdbc.SQLException
Message: Table not found in Statement (Select * from Daten)

Wo liegt der Fehler?
Danke für die Hilfe :)

Tschau

Verfasst: Mi, 12.10.2005 15:07
von BodoBaller
Hallo Daria,
ich habe genau diesselbe Felhlermeldung. Dein Quellcode scheint mir in Ordnung, die drei close-Anweisungen unten erscheinen mir überflüssig, aber egal.
Ich denke, weil er die Tabelle nicht kennt: es besteht keine Verbindung zur DB.
In OO 1.x konnte man Datenquellen verwalten mir EXTRAS/ DATENQUELLEN, diese Menüführung gibt es bei 2.0 nicht mehr.
Allerdings wird nach Erstellen einer DB mit Tabellen abgefragt, ob die Datenquelle registriert werden soll. Das habe ich auch bejaht.
Ich habe ein Formular neu erzeugt (du auch?) , vielleicht kennt das Makro des Formulars nicht die Datenquelle? Aber dann hätte es vielleicht beim aufrufen der Datenbank in deinem Quellcode weiter oben eine Fehlermeldung geben sollen.
Ich kann mir kaum vorstellen dass das ein Bug ist.
Gruß Bodo

Verfasst: Fr, 21.10.2005 16:43
von BodoBaller
Hallo,
ich denke, an der Verbindung mit der DB kanns nicht liegen, denn mit dem Code

if DatabaseContext.hasByName("Datenbankname") then
Connection = DataSource.GetConnection("","")
MsgBox " DB-Verbindung besteht"
else ....
endif

kann geprüft werden, ob die DB bekannt ist und man stellt eine Verbindung her. Alles bei mir ohne Fehlermeldung!
Ich denke auch, an den Treibern kanns nicht liegen, da bei Erstellung der DB in Base, diese automatisch eingestellt werden.
Trotzdem kommt die Fehlermeldung. Habe auch alle Hochkommakombinationen für den Tabellennamen probiert.

Es kann doch nicht sein, dass man mit Makros + SQL-Kommandos keine Tabellen aufrufen kann. Verwende 2.0RC3 Windows.

Weiß da jemand woran das liegt?

Gruß Bodo

Verfasst: Di, 15.11.2005 14:30
von BodoBaller
Hallo
an Daria und all:

Weiß hier keiner eine Lösung, es kann doch nicht sein , dass man Base nicht von einem Makro aus aufrufen kann, weil er angeblich den Tabellennamen nicht kennt.
Habe es selbst mit 2.0.0 / Windows probiert , immer die gleiche Fehlermeldung.

Gruß Bodo

Verfasst: Mi, 31.05.2006 20:21
von Blaimi
Ich habs....

("SELECT * FROM ""Table""")