AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Prüfen ob Query closed is!?!?
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen ob Query closed is!?!?

Ein Thema von TypusMensch · begonnen am 28. Jun 2004 · letzter Beitrag vom 28. Jun 2004
Antwort Antwort
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#1

Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:11
Also wahrscheinlich ganz einfach, aber ich komme einfach auf die Schnelle nicht drauf. Wie prüfe ich ob ich eine Query closed habe.

So habe ich Sie bei ner Abfrage geschlossen:
DatMod.KQu.close;

Nun die Frage, wie kann ich das prüfen, ob der Nutzer per genannter Abfrage die Query geschlossen hat???

if DatMod.KQU.close = true funzt ja nicht

ThX im vorraus...
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:12
Probiers mal mit DatMod.KQu.Active

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:22
Klappt nicht, wie ich mir das vorstelle. Zur Laufzeit kommt dann der Fehler "Operation bei geschlossener Datenmenge nicht ausführbar" oder so...

Sprich er überspringt bzw. bejaht die Abfrage:

if DatMod.KQu.Active = true then
begin
... //Queryarbeit
end;

IMHO: Activ is die Query ja, aber closed!!! Die Frage aber nun, wie prüfe ich, ob sie closed is...



PS: Die Query akriviere ich bei Programmstart und entaktiviere ich erst bei Programmende. Ich arbeite generell immer mit close und open bei kurzen reloads.
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:27
Versuch mal mit query.state
Bei mir ist ein geschlossenes query auf dsInactive ein offenes auf dsEdit.

Vielleicht hilfts ja.
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:28
Zitat von TypusMensch:
IMHO: Activ is die Query ja, aber closed!!! Die Frage aber nun, wie prüfe ich, ob sie closed is...
Das stimmt so nicht. Hier ein kurzer Auszug aus der VCL:
Delphi-Quellcode:
procedure TDataSet.Open;
begin
  Active := True;
end;
procedure TDataSet.Close;
begin
  Active := False;
end;
Man sieht also Query.Open ist genau das Gleiche wie Query.Active := True.
Dein Laufzeitfehler bezieht sich möglicherweise auf eine andere Query/Table.
Andreas
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:36
Delphi-Quellcode:
procedure TKundenmenu.Button5Click(Sender: TObject);
begin
DatMod.KQU.First;
if DatMod.KQu.Active = true then
  begin
  if Druckauswahl.ItemIndex = 0 then l9_1.Print(0,LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',1,LL_PRINT_EXPORT,LL_BOXTYPE_NORMALWAIT,handle,'Drucken/Exportieren', 1,'');
  if Druckauswahl.ItemIndex = 1 then l9_1.Design(0,handle,'Druck-Designer', LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',0);
  if Druckauswahl.ItemIndex = 2 then l9_1.Design(0,handle,'Druck-Designer', LL_PROJECT_LIST,ExtractFilePath(Application.ExeName)+'drucken\Kunden\',1);
  end else ShowMessage('QUERY CLOSED');
end;
Hier geht es aber wirklich nur um die eine Query.

PS: Jaja, jetzt bitte nicht wieder die Case-Propagonisten!

@shmia: das klappt bei mir gar net. Da is Jacke wie Hose, das kommt bei beidem das gleiche raus...
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:37
Hi hast du vor dem

DatMod.KQU.First;

ein DatMod.KQU.Open ausgeführt?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:48
Ahjaaaaaaaaaaaaaa. Daran lags. Natürlich...

Kann ja kein First ausführen, wenn Sie nich geladen is. LOL... wie gesagt, irgendwas sinnloses is es immer. ThX, das wars!!!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:51
Zitat von TypusMensch:
@shmia: das klappt bei mir gar net. Da is Jacke wie Hose, das kommt bei beidem das gleiche raus...
Das ist doch genau das was ich gesagt habe! Query.Open und Query.Active := True sind intern das Gleiche !
Aber wenn ich mir so deinen Spaghetti-Code anschauen (Sorry, aber er ist schlecht formatiert und ungeschickt):
Delphi-Quellcode:
procedure TKundenmenu.Button5Click(Sender: TObject);
begin
   // was passiert wohl, wenn DatMod.KQU nicht Active ist ???
   DatMod.KQU.First; // kann man bei geschlossener Datenmenge auf den 1. Datensatz positionieren ???
   if DatMod.KQu.Active = true then // wäre dann nicht die folgende Abfrage sinnlos ???
Andreas
  Mit Zitat antworten Zitat
TypusMensch

Registriert seit: 29. Aug 2003
Ort: Goth-A
182 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Prüfen ob Query closed is!?!?

  Alt 28. Jun 2004, 13:53
Ups, sorry, meinte auch net dich @shmia

ich meinte mit dem, dass es net klappt, mit dem was Smokey sagte. Entschuldigung für die Verwechslung...
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:42 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