Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi schreiben von datensaetzen in record-array - ERLEDIGT (https://www.delphipraxis.net/4295-schreiben-von-datensaetzen-record-array-erledigt.html)

Grumble 23. Apr 2003 12:14


schreiben von datensaetzen in record-array - ERLEDIGT
 
hallo,

ich brauche hilfe beim schreiben von datensaetzen aus einer interbase tabelle in ein record array
hier zunaechst der code fuer das schreiben ins record

Delphi-Quellcode:
procedure TFrameStratOptkat.updatetimedepvals;
begin
  timedeps:=nil;
  if FDB.FARceDB.Connected=false then FDB.FARceDB.Connected:=true;
  if not FDB.TR_FARce.InTransaction then FDB.TR_FARce.StartTransaction;
  FDB.SQL_Timedepvals.ExecQuery;
  if FDB.SQL_timedepvals.RecordCount>0 then
  begin
    while not FDB.SQL_timedepvals.Eof do
    begin
      SetLength(timedeps,FDB.SQL_timedepvals.RecordCount);
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID:=FDB.SQL_Timedepvals.Fieldbyname('ID').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID_Optionen:=FDB.SQL_timedepvals.FieldbyName('ID_OPTIONEN').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID_Kriterium:=FDB.SQL_timedepvals.FieldbyName('ID_KRITERIEN').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].timepoint:=FDB.SQL_timedepvals.FieldbyName('TIMEPOINT').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].Wert:=FDB.SQL_timedepvals.FieldbyName('WERT').AsString;
      FDB.SQL_timedepvals.Next;
    end;
  end;
end;
mein problem ist das mein neu erstellter datensatz zwar am ende der interbase tabelle steht, jedoch als erstes im record-array auftaucht.
kann mir jemand sagen wo der hund begraben sein koennte?

Grumble
:coder:

Grumble 23. Apr 2003 12:31

DANKE, hab ne loesung gefunden:

habe einfach die zeile

Delphi-Quellcode:
FDB.SQL_timedepvals.ComponentIndex:=0;
eingefuegt.
das ganze sieht jetzt so aus:
Delphi-Quellcode:
procedure TFrameStratOptkat.updatetimedepvals;
begin
  timedeps:=nil;
  if FDB.FARceDB.Connected=false then FDB.FARceDB.Connected:=true;
  if not FDB.TR_FARce.InTransaction then FDB.TR_FARce.StartTransaction;
  FDB.SQL_Timedepvals.ExecQuery;
  if FDB.SQL_timedepvals.RecordCount>0 then
  begin
    FDB.SQL_timedepvals.ComponentIndex:=0;
    while not FDB.SQL_timedepvals.Eof do
    begin
      SetLength(timedeps,FDB.SQL_timedepvals.RecordCount);
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID:=FDB.SQL_Timedepvals.Fieldbyname('ID').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID_Optionen:=FDB.SQL_timedepvals.FieldbyName('ID_OPTIONEN').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].ID_Kriterium:=FDB.SQL_timedepvals.FieldbyName('ID_KRITERIEN').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].timepoint:=FDB.SQL_timedepvals.FieldbyName('TIMEPOINT').AsInteger;
      timedeps[FDB.SQL_timedepvals.RecordCount-1].Wert:=FDB.SQL_timedepvals.FieldbyName('WERT').AsString;
      FDB.SQL_timedepvals.Next;
    end;
  end;
end;
fuer verbesserungsvorschlaege bin ich immer offen :)

Grumble
:coder:


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