Hallo,
ich versuche mit den folgende Zeilen eines Makros die Tabelle datum meiner DB abzufragen, das Kriterium ist das Feld Datum. Die Namen der Tabelle und des Feldes habe ich mehrfach kontrolliert.
sTabName = "datum"
feld = "Datum"
skrit = " WHERE """ & feld & """ LIKE '%' "
sSQL= "SELECT * FROM """ & sTabName & """ " & skrit & """"
ResultSet=Statement.executeQuery(sSQL)
Beim Ausführen des Makros erhalte ich die Fehlermeldung
Message: Unexpected end of command in statement[SELECT * FROM "datum" WHERE "Datum" LIKE %' "]
Von dieser Meldung her sieht es ja so aus, als wäre das letzte doppelte Anführungszeichen vor der eckigen Klammer zuviel.
Wenn ich dieses Zeichen am im String sSQL entferne erhalet ich eine Fehlermeldung. Auch der String skrit scheint mir korrektur zu sein.
Hat eine(r) von Euch eine Idee, woran es liegt?
Danke,
Stefan
Unexpected end of command in statement
Moderator: Moderatoren
-
- **
- Beiträge: 23
- Registriert: So, 22.04.2007 14:07
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Unexpected end of command in statement
..vielleicht daran, dass "LIKE %" -Prozent what- kein Vergleich ist?
Wenn Dein Feld DATUM das Format date hat, solltest Du etwas formulieren, wie:
Die verwendbare Syntax (und die Konvertierungs-Funktionen) sind auf jeden Fall abhängig von der verwendeten DB-engine und dem benutzen Verbindungstreiber (ODBC/JDBC/...). Dieses Codebeispiel gilt bspw. für eine ORACLE-Datenbank [hier: nicht mit OOo angebunden!]
Wenn Du die interne HSQLDB nutzt findest Du eine Dokumentation auf http://www.hsqldb.org
Wenn Dein Feld DATUM das Format date hat, solltest Du etwas formulieren, wie:
Code: Alles auswählen
WHERE "DATUM" > to_date('31.07.2007 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
Die verwendbare Syntax (und die Konvertierungs-Funktionen) sind auf jeden Fall abhängig von der verwendeten DB-engine und dem benutzen Verbindungstreiber (ODBC/JDBC/...). Dieses Codebeispiel gilt bspw. für eine ORACLE-Datenbank [hier: nicht mit OOo angebunden!]
Wenn Du die interne HSQLDB nutzt findest Du eine Dokumentation auf http://www.hsqldb.org
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
-
- **
- Beiträge: 23
- Registriert: So, 22.04.2007 14:07
Re: Unexpected end of command in statement
Hi,
dummy="abc"
sTabName = "datum"
feld = "Feld"
skrit = " WHERE """ & feld & """='" & dummy & "' "
sSQL= "SELECT * FROM """ & sTabName & """ " & skrit & """"
Feld ist ein ganz normales Textfeld, mit bisher zwei angelegten Werten (abc , xyz)
Jetzt lautet die Fehlermeldung aber immer noch:
Message: Unexpected end of command in statement [SELECT * FROM "datum" WHERE "Feld"='abc' "]
Wenn ich in Sachen SQL nicht gerade in Folge des Mittagessens völlig auf dem Schlauch stehe, dann ist die Syntax doch richtig, oder nicht?
Gruß & Danke,
Stefan
Mist, zu lange mit MySQL gearbeitet.komma4 hat geschrieben:..vielleicht daran, dass "LIKE %" -Prozent what- kein Vergleich ist?
ich habe das Beispiel einmal etwas einfacher gestaltet, um mit meinem Fehler zu nähern:komma4 hat geschrieben: Wenn Dein Feld DATUM das Format date hat, solltest Du etwas formulieren, wie:Code: Alles auswählen
WHERE "DATUM" > to_date('31.07.2007 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
dummy="abc"
sTabName = "datum"
feld = "Feld"
skrit = " WHERE """ & feld & """='" & dummy & "' "
sSQL= "SELECT * FROM """ & sTabName & """ " & skrit & """"
Feld ist ein ganz normales Textfeld, mit bisher zwei angelegten Werten (abc , xyz)
Jetzt lautet die Fehlermeldung aber immer noch:
Message: Unexpected end of command in statement [SELECT * FROM "datum" WHERE "Feld"='abc' "]
Wenn ich in Sachen SQL nicht gerade in Folge des Mittagessens völlig auf dem Schlauch stehe, dann ist die Syntax doch richtig, oder nicht?
Gruß & Danke,
Stefan
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Unexpected end of command in statement
Dein sSQL-string beginnt mit SELECT und endet mit """" ...
Vielleicht auch vorne """" ?
Vielleicht auch vorne """" ?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
-
- **
- Beiträge: 23
- Registriert: So, 22.04.2007 14:07
Re: Unexpected end of command in statement [GELÖST]
komma4 hat geschrieben:Dein sSQL-string beginnt mit SELECT und endet mit """" ...
Vielleicht auch vorne """" ?

Hier die Lösung, auch mit funktionierendem LIKE und %:
sTabName = "datum"
feld = "Feld"
krit="LIKE '%'"
skrit = " WHERE """ & feld & """" & krit & ""
sSQL= "select """ & feld & """ from """ & sTabName & """" & skrit & ""
Wenn ich mich richtig erinnere - ich habe einige Male skrit und sSQL verändert, dann lag es an den Anführungszeichen in skrit.
Ich bin mir zwar nicht sicher, ob es nicht auch eine einfachere Lösung gibt, aber so funktioniert es erst einmal.
Gruß und Danke für die Hilfe,
Stefan