Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi probleme mit dem erneuern von array inhalten (https://www.delphipraxis.net/109767-probleme-mit-dem-erneuern-von-array-inhalten.html)

agm65 7. Mär 2008 10:36


probleme mit dem erneuern von array inhalten
 
hi leute ich hab nen problem und komm selber nicht drauf:

Delphi-Quellcode:
 TypCountmitPad : Array [1..4] of Integer;
 TypCountohnePad : Array [1..4] of Integer;


datamod.DataModule1.CoesCountQuery.Open;

      if datamod.DataModule1.CoesCountQuery.Eof then
      begin
        datamod.DataModule1.CoesCountQuery.First;
      end;


      while not datamod.DataModule1.CoesCountQuery.Eof do
       begin

         if (datamod.DataModule1.CoesCountQuery.FieldValues['shipping_type'] = 2) then
         begin
           if (datamod.DataModule1.CoesCountQuery.FieldValues['avskey_pad'] = Null) then
             TypCountmitPad[1] := datamod.DataModule1.CoesCountQuery.FieldValues['anzahl']
           else
             TypCountohnePad[1] := datamod.DataModule1.CoesCountQuery.FieldValues['anzahl']
         end;

       datamod.DataModule1.CoesCountQuery.Next;
      end;



     mainform.lblCountNachname.Caption    := 'Nachname: (' + inttostr(TypCountmitPad[1]) + '/' + inttostr(TypCountohnePad[1]) + ')' ;
ich habe insgesamt 4 von diesen blocken..hab jetzt nur 3 rausgelöscht damit es für die anzeige nicht zuviel wird..
also beim programm start stimmt die anzeige..alles ist so wie es soll...wenn ich jetzt weniger oder mehr db einträge habe und die function nochmal im progg ausführe ändert sich nichts..woran könnte das liegen ...ich vermure die array einträge werden nicht richtig überschrieben ?

mkinzler 7. Mär 2008 10:42

Re: probleme mit dem erneuern von array inhalten
 
Ich verstehe die erste Abfrage auf EOf nicht? Was willst du damit bezwecken?

NormanNG 7. Mär 2008 10:43

Re: probleme mit dem erneuern von array inhalten
 
Hi,

Delphi-Quellcode:
if (datamod.DataModule1.CoesCountQuery.FieldValues['avskey_pad'] = Null) then            
  TypCountmitPad[1] := datamod.DataModule1.CoesCountQuery.FieldValues['anzahl']
else
  TypCountohnePad[1] := datamod.DataModule1.CoesCountQuery.FieldValues['anzahl']
Du überschreibst immer wieder das erste Element im Array. Ist das so gewollt?


Übrigends: das hier ist direkt nach einem Query.Open überflüssig, es ist immer der erste Datensatz aktiv:
Delphi-Quellcode:
      if datamod.DataModule1.CoesCountQuery.Eof then
      begin
        datamod.DataModule1.CoesCountQuery.First;
      end;
und: evtl. musst du die Query schließen, bevor sie erneut geöffnet wird.

DeddyH 7. Mär 2008 10:44

Re: probleme mit dem erneuern von array inhalten
 
Und ich verstehe die Schleife nicht ganz. Wieso gehst Du alle Datensätze durch?

agm65 7. Mär 2008 10:53

Re: probleme mit dem erneuern von array inhalten
 
ich muss alle datensätze durchgehen weil aus allen diese werte brauche,.,und ja ich will das array elemt immer überschreiben weil das eine anzeige ist die erneuert werden muss...aber genau das macht er ja nicht ...muss ich das array wieder freigeben am ende ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 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