AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken operation cannot be performet on a inactive dataset

operation cannot be performet on a inactive dataset

Ein Thema von khh · begonnen am 20. Jul 2015 · letzter Beitrag vom 21. Jul 2015
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

operation cannot be performet on a inactive dataset

  Alt 20. Jul 2015, 19:54
Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos
Hallo zusammen,
kann mir jemand sagen weshalb ich bei dieser Zuweisung:
ZQuery1.connection := Zconnection1;
die im Titel genannte Fehlermeldung erhalte?

Die Fehlermeldung kommt auch bei jedem sonstigen Versuch auf die Query zuzugreifen

EDIT:
die Query funktioniert beim Programmstart, das Grid zeigt die Daten an.
Bei einer Änderung der Query per Button bekomme ich auch beim :
ZQuery.sql.clear;

obigen Fehler

EDIT2:
selbst bei:
ZQuery.Active := true; bekomme ich obigen Fehler,
Das ist doch eigenartig, da ich doch damit eigentlich die Query aktiviere, oder ?
Karl-Heinz

Geändert von khh (20. Jul 2015 um 20:13 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: operation cannot be performet on a inactive dataset

  Alt 20. Jul 2015, 20:17
Ist der Query verbunden?
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#3

AW: operation cannot be performet on a inactive dataset

  Alt 20. Jul 2015, 20:35
was meinst du mit verbunden?
mit der Connection ?

davon gehe ich aus, aber ich bekomme die Fehlermeldung ja auch schon bei der Zuweisung der Connection
Karl-Heinz
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#4

AW: operation cannot be performet on a inactive dataset

  Alt 20. Jul 2015, 20:59
aber ich bekomme die Fehlermeldung ja auch schon bei der Zuweisung der Connection
Bist Du sicher, dass die Fehlermeldung richtig ist und nicht so lautet:
Zitat:
operation cannot be performet on a active dataset
Das Zuweisen einer Connection oder das Ändern des SQL-Statements sollte nur bei geschlossener Query/Dataset funktionieren.

Also vorher ein Query1.Close durchführen.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

AW: operation cannot be performet on a inactive dataset

  Alt 20. Jul 2015, 21:07
muss ich morgen nochmal prüfen

ich melde mich

danke erst mal.
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#6

AW: operation cannot be performet on a inactive dataset

  Alt 21. Jul 2015, 07:50
die Fehlermeldung ist leider richtig so, "on a inactive Dataset"
Karl-Heinz
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#7

AW: operation cannot be performet on a inactive dataset

  Alt 21. Jul 2015, 09:30
die Fehlermeldung ist leider richtig so, "on a inactive Dataset"
Dann greift wahrscheinlich irgendeine Codezeile in einem Eventhandler auf die Daten zu, wärend das Dataset geschlossen ist.


Die Götter von Lazarus haben Dir ein mächtiges Werkzeug zur Hand gegeben.

Den Debugger.

Benutze ihn um Herauszufinden, in welcher Zeile eigentlich der Fehler entsteht. Er entsteht nicht bestimmt nicht durch das Setzen der Connection oder des SQL-Statements.
Stichwort: Haltepunkt setzen, schrittweise durch den Code gehen.


Wie sollen wir sehen, was Du alles programmiert hast und daher wäre alles was jetzt geschrieben würde gleichzusetzen mit einer Aussage des Orakels von Delphi.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#8

AW: operation cannot be performet on a inactive dataset

  Alt 21. Jul 2015, 16:26
alsooo,
ich habe die betroffene ZQuery (das Icon auf der Oberfläche in der Entwicklungsumgebung) kopiert und als ZQuery2 verwendet.
Das hat funktioniert, kein Fehler mehr.

Dann habe das Projekt kopiert,die ZQuery zurück umbenannt, neu kompiliert und der Fehler ist weg

Kein Mensch weiss warum.
Lazarus ???
Karl-Heinz
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: operation cannot be performet on a inactive dataset

  Alt 21. Jul 2015, 18:07
Und wenn jetzt ein TDatasource auf ZQuery gezeigt hat, wäre der Seiteneffekt mit deinem Schlangenelixier auch verschwunden.

Bugfixing mit einem Zauberstab ist Magie, keine Frage. Wichtig ist jedoch, das Du das auf Anweisung kannst.

Ansonsten würde ich Dir beim nächsten Mal eine eingehende Analyse empfehlen. Zauberstäbe (manchmal auch -pulver oder -elixiere) sind nicht immer und überall erhältlich. Dein Verstand schon.

Aber trotzdem dass der Fehler verschwunden ist. Ähnliches haben hier schon viele erlebt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz