Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Fehler mit TADOQuery.Active (https://www.delphipraxis.net/36940-fehler-mit-tadoquery-active.html)

Klarabella 28. Dez 2004 13:29


Fehler mit TADOQuery.Active
 
Hallo, hier erst mal ein bisschen Code:

Delphi-Quellcode:
if (adoQry.Active = true) then
      begin
        adoQry.First;
        adoQry.Active := false;;
      end;
      adoQry.SQL.Clear();
      adoQry.SQL.Text := sql1;
      adoQry.Prepared := true;
      adoQry.ExecSQL;
Vorher laufe ich mit einer Schleife durch die Datenmenge "While not adoQry.eof".
Durch das "adoQry.First" umgehe ich das Problem, falls Datensätze vorhanden sind.
Ist die Datenmenge der Abfrage aber leer, dann ist der Zeiger auf Eof und "adoQry.Active := false" kann nicht ausgeführt werden, auch nicht adoQry.Free oder ähnliches (brauche ich später im Programm)... Ich krieg dann immer eine Fehlermeldung.

Hat das Problem schon mal jemand gehabt??
Was mache ich falsch???

[edit=sakura] HILFE!!!! aus dem Titel entfernt! Mfg, sakura[/edit]

Bernhard Geyer 28. Dez 2004 17:22

Re: Fehler mit TADOQuery.Active
 
Etwas mehr Infos währen Hilfreich:

- Delphi-Version (Auch entsprechende ADO-Patches eingespielt)
- Datenbank?
- BS-Version
- ADO-Version?
- Welches SQL-Statement wird ausgeführt?

Ich kann dir nur folgende Tipps geben:

- Verwende statt TADOQuery TADODataset (hat weniger Fehler)
- Im TADOConnection können SQL-Statments ohne Ergebnismenge ausgeführt werden (Müsste auch etwas mit ExecSQL oder ähnlich sein)

Klarabella 29. Dez 2004 09:17

Re: Fehler mit TADOQuery.Active
 
Delphi-Version: 5
Datenbank: Sybase Adaptive Server Anywhere
BS: Win XP Prof
ADO: ???
SQL-Statements: immer andere... 2 mal wird mit "Create View" je eine View erstellt, 2 mal werden mit "Drop View" diese wieder gelöscht, 1 mal lade ich aus einer Tabelle, 3 Mal aus den Views heraus mit SELECT daten...!
Und das Problem tritt überall auf!

Weil ich bei geöffneter Datenmenge keinen Text zuweisen und auch nicht ausführen kann. Ich kann aber die Datenmenge auch nicht schließen, wenn ich auf eof stehe.

mikhal 29. Dez 2004 09:26

Re: Fehler mit TADOQuery.Active
 
Schon mal mit der Methode Close statt Active := False versucht? Sie setzt zwar intern auch Active auf False aber eigentlich sollte das funktionieren.

Grüße
Mikhal

Klarabella 29. Dez 2004 09:37

Re: Fehler mit TADOQuery.Active
 
Hab ich schon probiert... geht genauso wenig :?

Bernhard Geyer 29. Dez 2004 09:37

Re: Fehler mit TADOQuery.Active
 
Delphi-Version: 5?

Hast Du schon den ADO-Update installiert?

Für Sybase empfehle ich eine Native-Komponente, welche nicht den Umweg über ADO geht. ADO ist nur für MS-SQL-Server und Access die erste Wahl. Für alle anderen Datenbanken gibt es bessere Zugriffsalternativen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz