ZQuery1.ExecSQL stürzt ab. (Zeos)

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

ZQuery1.ExecSQL stürzt ab. (Zeos)

Beitrag von baba »

Moin, moin,

Lazarus 9.24 + ZeosLib 6.6.2

Die Verbindung funktioniert (employee.fdb)

Code: Alles auswählen

ZConnection1.Connected := True;
Aber diese komplizierte Abfrage löst in Zeile 5 eine Exception aus

Code: Alles auswählen

xSQL := 'SELECT * FROM CUSTOMER;';
ZQuery1.Active:=false;
ZQuery1.Sql.Clear;
ZQuery1.Sql.Add(xSQL);
ZQuery1.ExecSQL;
Wer weiß Rat?

Gruß
Baba.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Ich kenne mich mit Zeos nicht aus. Aber üblicherweise wird bei SELECT Abfragen die Open Methode bemüht (ZQuery1.Open). Sollen Daten in der Datenbank geändert werden, greift man auf ExecSQL zurück.

knight

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
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:

Re: ZQuery1.ExecSQL stürzt ab. (Zeos)

Beitrag von af0815 »

baba hat geschrieben: Wer weiß Rat?
1) Grafisch schon probiert ? (SQL rein und die Query auf active setzen)
2) Ist die Verbindung tatsächlich ok (keine Exception bei true setzen heisst noch lange nicht das die Verbindung Ok ist)
3) Wie knight gesagt hat - open wäre richtiger (Besonders dann wenn die Datenmenge nicht RO sein soll).

Die Grundlegenden Sachen stehen auch in der LazInfos (ev. auch Beispiele in der LazSnippets) drinnen - nur halt nicht für Zeos, da die nativen Komponenten auch schon recht gut sind.
Bei den Beispiel sollte es aber egal sein ob nativ oder zeos.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

baba
Beiträge: 265
Registriert: Mi 4. Apr 2007, 17:47

Beitrag von baba »

... nun geht es und ich weiß nicht warum!?

Ich habe die project1.exe mal auf dem Rechner mit Firebird (Win 2000) gestartet und es hat sofort funktioniert. Nun geht es komischerweise auch auf dem Client (Win XP)

Habe beide Rechner neu gebootet, es geht immer noch. Nun werde ich Firebird mal deinstallieren und neu aufspielen. Da wurde durch den Start der exe auf dem Server irgendein Flag gesetzt und ich muss wissen welches das war. :?: :?:

Gruß
Baba.

PS.Query per Lazarus an Firebird 1.5 mit Eisfair (Linux) läuft, Firebird auf dem Hauptserver Suse 9.0 Enterprise läuft auch. Nur Firebird SuperServer auf Windows für den direkten Verbund von 2 Win Maschinen hat gesponnen.

Antworten