[gelöst] Base/MYSQL-Problem bei UPDATE-Query per Makro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Base/MYSQL-Problem bei UPDATE-Query per Makro

Re: Base/MYSQL SQL-Problem bei SQL-Statement per Makro o Abfrage

von gogo » Mi, 22.12.2010 11:22

thx vor allem für den Link - so einfach kann's gehen

Übrigens hatte ich ganz unterschiedliche Fehlerereignisse, bzw Komplettabstürze von OOO, und auch bei manchen Versuchen (nicht reproduzierbare) geglückte Versuche ... irgendwie hatte ich den Verdacht, dass meine Kiste schon im vorweihnachtlichem Stress steckt.

g

Re: Base/MYSQL SQL-Problem bei SQL-Statement per Makro o Abfrage

von DPunch » Mi, 22.12.2010 09:47

Aloha
gogo hat geschrieben:Wenn das Statement direkt im SQL über das Menü (Extras/SQL) durchgeführt wird gibt es keinerlei Probleme.
Wenn es per Makro (s.o.) oder in einer Abfrage ("SQL Kommando direkt ausführen") ausgeführt wird, dann:

Die Ausführung der Abfrage gibt keine gültige Ergebnismenge zurück.
Wie die Fehlermeldung schon besagt:
Eine Update-Anweisung gibt keine gültige Ergebnismenge zurück.
Daher ist die Ausführung als Abfrage nicht möglich (eine Abfrage soll schliesslich ein Ergebnis darstellen), für derartige Anweisungen (sprich alle, die keine Ergebnismenge produzieren - INSERT, DELETE, UPDATE, DROP etcetc) gibt es extra das Fenster unter Extras -> SQL.
Daran anknüpfend auch der Fehler im Makro

Code: Alles auswählen

oResultSet = oStatement.executeQuery( SQLTXT )
Siehe API: Interface XStatement.
Richtig wäre

Code: Alles auswählen

nAffectedRows = oStatement.executeUpdate( SQLTXT )
MsgBox "Es waren " & nAffectedRows  & " Zeilen betroffen"
Noch eine Sache:
gogo hat geschrieben:Wenn man die Text-Teile mit "`" auskommentiert ändert sich auch nichts.
Bei MySQL ist das " ` " die Maskierung für Tabellen- und Feldnamen, Texte werden wie gewohnt mit Hochkommata " ' " eingeschlossen.

[gelöst] Base/MYSQL-Problem bei UPDATE-Query per Makro

von gogo » Mi, 22.12.2010 02:47

Hallo!

Bräuchte mal eine Tipp, denn sooo kompliziert ist die Abfrage ja eigentlich nicht.

Umgebung:
OO 3.2.1
WinXP Pro SP2
MYSQL 5.0.22-community-nt via TCP/IP
MYSQL Client 5.1.11 oder auch MYSQL Connector 1.0.0

Code: Alles auswählen


dim SQLTXT as string

SQLTXT = "Update auswertungen.mn_grpos set PROBEN_ID = 555 where ID_MNGRPOS = 18;"

oStatement = ThisDatabaseDocument.CurrentController.ActiveConnection.createStatement
oResultSet = oStatement.executeQuery( SQLTXT )
ID_MNGRPOS ist der Primarykey, (Integer, Autoincrement) Proben_ID der Fremdschlüssel (Integer).


Wenn das Statement direkt im SQL über das Menü (Extras/SQL) durchgeführt wird gibt es keinerlei Probleme.
Wenn es per Makro (s.o.) oder in einer Abfrage ("SQL Kommando direkt ausführen") ausgeführt wird, dann:

Die Ausführung der Abfrage gibt keine gültige Ergebnismenge zurück.

komplette Fehlermeldung :

Basic-Laufzeitfehler.
Es ist eine Exception aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: Die Ausführung der Abfrage gibt keine gültige Ergebnismenge zurück..

unter Zusätze kann man folgendes sehen:
Fehler: Die Dateninhalte konnten nicht geladen werden.
Fehler: SQL-Status: HY000
Die Ausführung der Abfrage gibt keine gültige Ergebnismenge zurück.
Information: Das SQL-Kommando, welches zu diesem Fehler führte, ist:
Update auswertungen.mn_grpos set PROBEN_ID=555 where ID_MNGRPOS=18;

Wenn man die Text-Teile mit "`" auskommentiert ändert sich auch nichts.

Werde das ganze noch in anderen Umgebungen testen ...

g

Nach oben