MySQL50Connection und join

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

MySQL50Connection und join

Beitrag von xnalpf »

Kann mir jemand sagen, was an diesem SQL-Statement falsch ist?

select * from users join projectsXusers on (users.idusers=projectsXusers.idXusers) where projectsXusers.idXprojects=1

Wenn ich das im MySQL Query Browser eingebe erhalte ich brav die korrekte Ergebnismenge. In Lazarus krieg ich ne Exception.

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 »

Das Statement ist wohl korrekt, wahrscheinlich hast du aber was bei den Komponenten falsch eingegeben...hast du beispielsweise ne Datenbank und Transaction zugeordnet, ist die Datenbank auch connected usw...
Johannes

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Ja sicher. Simple Abfragen wie select * from users gehen über die Komponente tadellos. Die Exception meckert über die Syntax des SQL statements. Ich hab mir jetzt erst mal damit beholfen einen View aus der join Abfrage zu machen und dann in Lazarus einen select auf den View zu machen. Aber das kann ja eigentlich nicht die Lösung sein...
Ich schreib gleich mal den genauen Wortlaut der Exception ab.

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 »

Hast du mal probiert, deine where-Klausel mit ' einzuschließen, also Where...='1'

Manchmal mögen die Komponenten es nicht, wenn die Werte nicht umschlossen sind. Bzw. left join usw geht auch nicht?

Welche Kompos nutzt du, ich nehme an, die mitgelieferten SQLDbLaz?
Johannes

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Also hier mal ein screenshot von der exception. Klammern weglassen, anders setzen etc. bringts auch nicht. Komponenten sind die mitgelieferten. Lazarus ist 0.9.22 unter win XP.

edit: ich hab jetzt mal die where clause weggelassen. Gleiches Ergebnis. Er mag den join nicht. Komischerweise funktioniert im MySQLQueryBrowser alles problemlos. MySQL kommt also eigentlich mit der Syntax klar. Welche alternativen Komponenten könnte ich denn benutzen?
Dateianhänge
Unbenannt.bmp

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 »

ZeOSDBO
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Christian hat geschrieben:ZeOSDBO

:lol: Danke. Da arbeite ich lieber weiter mit Views...

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 »

Kann ich nicht ganz verstehen ;)

Zeos funktioniert bestens, auch wenns vielleicht nen schlechten Ruf hat. Spätestens, wenn du bestimmte datentypen benötigst, werden dir andere Komponenten nicht erspart bleiben.
Johannes

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 versteh ich jetzt auch nicht ganz, kannst aber auch gern den fehler in den MySQL Schnittstellen von sqldb suchen und finden. Was ist an ZeOS so schlimm ? An sonsten leg ich den Kommentar jetzt mal unter nicht nachgedacht vorm Posten ab.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Mir läuft ein wenig die Zeit davon und ich kann mich jetzt nicht mehr stundenlang mit Komponenten beschäftigen. Ich hab mir die Zeos Komponenten (1.1.2) runtergeladen und hatte direkt Probleme beim Installieren. Mir ist schon klar, dass ich die Komponenten mit ein wenig Zeit installiert bekomme. Nur diese Zeit fehlt mir halt. Ich werde mich bestimmt nochmal mit ZEOS beschäftigen. Aber jetzt brauch ich schnell etwas, das läuft.

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 »

:roll:

Komponenten 1.1.2?

Du brauchst die ZeosDBO, und die sind in Version 6xx aktuell, was hast du denn genohmen, du brauchst die zeosdbo-6.6.1-beta.
Johannes

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Hmmm. Keine Ahnung, wo ich den Link auf die 1.1.2 her habe. Lade mir jetzt gerade die 6.6.1-beta runter. Scheiß was auf die Zeit. Wenn die Komponenten machen, was sie sollen hol ich die verlorene Zeit damit wieder rein.

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 »

Nur mal so, in Produktionsprozessen soll man keine Beta Software einsetzen :p

Die sqldb Komponenten sind ziemlich jung und mysql ging bisher noch nie richtig mit denen ich habs schon ne weile nicht probiert aber scheint so als ob sich daran nichts geändert hätte.

In der Lazarus wiki ist ein gutes Tuturial wie man die ZeOSSBO installiert wenn man danach vorgeht hat man das ganze in 5 min installiert. Schon arg viel verlorene Zeit.

Das nächste mal: Gelbe Seiten. Hättest du gleich gefragt wie du an die Sache rangehn sollst hättest du dir ne menge Zeit sparen können. Genau da sehe ich auch die daseinsberechtigung von Foren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

xnalpf
Beiträge: 43
Registriert: Di 4. Sep 2007, 15:43

Beitrag von xnalpf »

Asche auf mein Haupt. Ich frage demnächst immer vorher hier nach. Hab zeos installiert und ich kann links und rechts und innen und aussen joinen wie ich will, alles klappt prima. Die Umstellung von sqldb auf zeos ging auch ruck zuck.
Thema Produktivumgebung: Das ganze wird eine In-House Anwendung und Vorgabe war der Einsatz von Open-Source Technologie. Darum fiel die Wahl auf Lazarus und MySQL. Im Idealfall soll das Projekt dann auch noch sowohl unter win als auch unter Linux laufen. Das hat mit den sqldb Komponenten (unter Linux) übrigens auch gar nicht funktioniert. Bin jetzt mal gespannt, ob zeos auch unter Linux so problemlos läuft.
Vielen Dank für die Hilfe soweit.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6200
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

xnalpf hat geschrieben:(FPC 2.0.4 L 0.9.22)


Nachtrag: Zwischen 2.0.4 und 2.2.0 hat sich sehr viel geändert und gefixt, ich habe es bei meinen Versuchen zu LazInfos bemerkt. Was unter 2.0.4 zum verrecken nicht zum aktivieren war (oder nicht funktioniert hat) geht mit der 2.2.0 (und entsprechenden Lazarus) problemlos.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten