SQLQuery1.Open wirft mir immer ein Fehler aus

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

SQLQuery1.Open wirft mir immer ein Fehler aus

Beitrag von DiBo33 »

Hallo,

ich habe hier ein seltsames Problem.

Ich bin genau nach dem Tutorial von
http://wiki.lazarus.freepascal.org/MySQLDatabases/de" onclick="window.open(this.href);return false;
vorgegangen und erhalte bei jedem SQLQuery1.Open folgenden Fehler:
MySQLConnection1 : Error executing query: You have an error in your SQL syntax, check the manual thet corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Egal um welche Query es sich handelt: ein

Code: Alles auswählen

SQLQuery1.SQL.Text := 'show databases';
SQLQuery1.Open;
Aber ein SQLQuery1.ExecSQL; wird anstandslos durchgeführt.

Das passiert sowohl unter Windows als auch unter Ubuntu.

Was läuft hier falsch?

Gruß

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Beitrag von DiBo33 »

Ich muss SQLQuery1.ParseSQL auf false setzen, dann geht es.

Hat sich also erstmal gelöst.

Kann es sein, dass es hier ein Problem mit UTF8 gibt/gab?
Ich habe Lazarus unter Windows mit -WindowsUnicodeSupport neu erstellt gehabt.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Mit dem fpc 2.2.0 ohne Fixes gibts ein problem das In Leere Strings ein Unicodezeichen zuviel eingefügt wird.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ach wird bei SQLQuery1.ParseSQL die MySql Syntax von Lazarus nicht gepasst ? ich dachte das macht der Server sowieso nochmal.
MFG
Michael Springwald

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Beitrag von DiBo33 »

Mit dem fpc 2.2.0 ohne Fixes gibts ein problem das In Leere Strings ein Unicodezeichen zuviel eingefügt wird.
Das wahr es wohl, mit fpc 2.2.1 funktionierts auch mit eingeschalteten ParseSQL.
ach wird bei SQLQuery1.ParseSQL die MySql Syntax von Lazarus nicht gepasst ? ich dachte das macht der Server sowieso nochmal.
Natürlich parst der Server den SQL-String.
ParseSQL dient dazu Sonderzeichen für das jeweilige DBMS entsprechend zu maskieren.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Das ist ja Praktisch du meinst damit umlaute und so ?
D.h. ich kann in einem MYSQL String ruhig umlaute verwenden ? die werden Automatisch angepasst ? nicht schlecht.
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Umlaute weniger, es geht um die Sonderzeichen welche direkt auch in der SQL-Syntax vorkommen. Beispielsweise die einfachen Hochkomas, welche ja auch in nem String vorhenden sein können, der eingefgt werden soll. Da einzufügende Strings aber auch in Hochkomas stehen müssen ja die Hochkomas im string bspw. maskiert werden.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ach so..... aber in Object Pascal wird das ja wenig nützen. Ich habe das so verstanden das ich immer '''' vier davon machen muss um ein ' zu erzeugen....
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das eine ha doch mi dem andreen gar nichs zu tun.

MySQL benuzt als Trennzeichen z.b. ' MS SQL benuzt " und so weier wenn ParseSQL an is pass SQLDb automatisch diese Sachen an. versuchs jedenfalls.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ach ich kann auch " nehmen statt ' währe auch viel übersichtlicher.

Keine schlechte Idee.... vielen Dank für den Tipp....
MFG
Michael Springwald

Antworten