Thema: Delphi repeat - until abfrage

Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#28

Re: repeat - until abfrage

  Alt 8. Nov 2003, 17:48
Hallo Snyderburn,

deine Aussage:
Zitat:
Das ist dann ja schön zu hören, dass es daran liegt, dass der Fehler was mit SQL zu tun hat. Aber, das bringt mir ja auch nicht viel weiter. Den Fehler habe ich deswegen noch nicht beseitigt!!
hört sich ja ziemlich zickig an. Man hat ja fast das Gefühl, man müsste sich entschuldigen helfen zu wollen.

Ich gehe mal davon aus, dass da nur der Frust durchdringt, dass du nicht weiterkommst und will mal ein paar Kommentare zu deinem Code abegeben:

Delphi-Quellcode:
 repeat
        if idzumbearbeiten = dm1.T_anschrift.fieldbyname('ID_anschrift').asinteger then
          begin
            dm1.T_anschrift.edit;
            dm1.T_Zugehoerigkeit.edit;
            .... // Hier stehen noch mehr Tabellen drin.
            dm1.t_extern_freigabe.edit;
Was mir hier komisch vorkommt ist, dass du hier viele Tabellen in den Schreibmode versetzt!? Üblicherweise setzt man nur die Datei in den Schrebmodus, in der man den aktuellen Datensatz editieren möchte.
Delphi-Quellcode:

            dm1.q_Zugehoerigkeit.RequestLive := true;
            dm1.DS_Zugehoerigkeit.DataSet := dm1.q_Zugehoerigkeit;
            dm1.q_Zugehoerigkeit.Close;
Wenn q_Zugehoerigkeit noch geöffnet ist, sollte eine Zuweisung an RequestLive entweder zu einer exception führen oder ignoriert werden. Ich würde erst das Close schreiben und dann die Eigenschaften ändern.[/delphi]

Delphi-Quellcode:
 ...
          end
          else
          begin
           dm1.T_anschrift.Next;
           bearbeitenzaehler := bearbeitenzaehler + 1;
          end;
        until (idzumbearbeiten = bearbeitenzaehler) or (dm1.T_Anschrift.Eof);
Wenn der akzuelle Datensatz die Bedingung nicht erfüllt, wird der Datensatzzeiger ja durch den Aufruf von Next weitergeschoben. Dann setzt du aber alle Tabellen erneut in den Edit-Modus, aber in diesem sind sie ja noch!?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat