Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DB ID's in Array Speichern (https://www.delphipraxis.net/155552-db-ids-array-speichern.html)

WizoHulk 28. Okt 2010 12:03

Datenbank: Interbase • Version: 7.5 • Zugriff über: SQl

DB ID's in Array Speichern
 
Hallo,

Hat jemand ene Ahnung wie ich 3 IDs aus der Datenbank in einem Array speicher.

ich Hab es über ..Fields versucht, aber dort kommt immer die Fehlermeldung, das das maximum überschritten wurde.

Das Prinzip Liegt dahinter, das er mir die Ids geben soll wo Die TechnikId 70 ist, um Später mit die Bilder ausgeben zu lassen die diese Technik ID haben.

Delphi-Quellcode:
 LSQl := 'Select Id From technik_image where TECHNIKID = 70';
  IBDSetThumbnail.SelectSQL.Text := LSql;
  IBDSetThumbnail.Open;
  dsThumnails.DataSet := IBDSetThumbnail;
  //IBDSetThumbnail.FetchAll;

  for i := 0 to FDbRecordCount - 1 do
  FIds[i] := IBDSetThumbnail.Fields[0].Value;

DeddyH 28. Okt 2010 13:03

AW: DB ID's in Array Speichern
 
Delphi-Quellcode:
 LSQl := 'Select Id From technik_image where TECHNIKID = 70';
  IBDSetThumbnail.SelectSQL.Text := LSql;
  IBDSetThumbnail.Open;
  dsThumnails.DataSet := IBDSetThumbnail;

  SetLength(FIds,IBDSetThumbnail.RecordCount);

  i := 0;
  while not IBDSetThumbnail.EOF do
    begin
      FIds[i] := IBDSetThumbnail.Fields[0].Value;
      inc(i);
      IBDSetThumbnail.Next;
    end;
[edit] Nachtrag: Der RecordCount muss nicht in jedem Fall die Anzahl der tatsächlich ermittelten Datensätze wiedergeben, daher ist das SetLength() oben mit etwas Vorsicht zu genießen. [/edit]

WizoHulk 28. Okt 2010 13:19

AW: DB ID's in Array Speichern
 
danke schön.
Haut 1a hin. Auf sowas muss mann ersmal kommen.
hab es erstmal ohne SetLenght gesetzt.

DeddyH 28. Okt 2010 13:24

AW: DB ID's in Array Speichern
 
Dynamische Array müssen immer per SetLength() dimensioniert werden, sonst ist der benötigte Speicher nicht reserviert.

WizoHulk 28. Okt 2010 13:38

AW: DB ID's in Array Speichern
 
ahhh
ja hab den fehler gemerkt.
Mein array war mit 1..5 vor dimensioniert
darum hatte er den nicht angenommen


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