![]() |
array einer klasse? Verständnisfrage
hallo zusammen.
ich habe eine klasse kunden. In dieser Klasse habe ich alles untergebracht was mit dem Zugriff auf die DB-tabelle Kunden zu tun hat. also löschen, lesen usw. somit greife ich z.B. über mykunde.name auf das Feld name in der DB zu. dahinter steht eine query die eben diesen satz nach einem entsprechenden Kriterium aus der DB liest und der Property name übergibt. wie kann ich jetzt aber zb alle ds der tabelle auslesen. Mache ich das innerhalb der klasse, oder erstelle ich ein array der klasse von ausserhalb? :wall: danke gruss KH |
Re: array einer klasse? Verständnisfrage
Ich würde pro Datensatz eine Instanz der Klasse anlegen und in einer Ableitung von TObjectList speichern.
|
Re: array einer klasse? Verständnisfrage
Zitat:
|
Re: array einer klasse? Verständnisfrage
habe grad nochmal nachgedacht :spin2:
was spricht dagegen innerhalb der klasse eine property "KundenArray" zu erstellen und ebenfalls innerhalb der Klasse in einer privaten (oder öffentlichen?) procedure dieses array zu füllen? somit hätte ich auf einen zugriff alle ds. lasse mich aber gerne vom unsinn dieser Idee überzeugen ;-) |
Re: array einer klasse? Verständnisfrage
Ich würde eine Klasse machen in der alle deine Kundenobjekte sind und das Auflisten erstellt dann eben mehrere solcher Kundenobjekte. Um Speicher zu sparen kannst du auch nur ein Kundenobjekt intern halten was du je nach Zugriffsindex änderst.
|
Re: array einer klasse? Verständnisfrage
Ich hatte das so gedacht:
- Klasse TKunde repräsentiert einen Datensatz aus der Tabelle Kunde - Klasse TKundenlist repräsentiert eine Datenmenge vom Typ TKunde Um nun z.B. den Namen des 3. Kunden auszulesen, könntest Du auf Kundenlist[2].Name zugreifen. Vorteil: man könnte alle Kunden mit evtl. Kriterien in der Liste ablegen und bräuchte keine weitere DB-Anfrage, also quasi ein InMemoryDataset Nachteil: neben evtl. Speicherproblemen bei zu großer Liste sind die Daten evtl. nicht immer aktuell (zumindest bei Multiuser-Zugriff) Aber was Du letztendlich machst, ist Deine Entscheidung. |
Re: array einer klasse? Verständnisfrage
Zitat:
deshalb bin ich ja froh über eure ideen hier. es ist eine multi-useranwendung, deshalb möchte ich hier nichts unüberlegt umsetzen. Gruss KH |
Re: array einer klasse? Verständnisfrage
Ja gut, aber das Aktualitätsargument sticht in dem Moment ja nicht mehr, wo Du beim Getter der Felder sowieso eine Abfrage machst. Du müsstest also einzig und allein den PK der Kunden statisch halten.
|
Re: array einer klasse? Verständnisfrage
Zitat:
wenn ich das so wie in deinem letzen posting umsetze, muss ich die ds ja auch in einer schleife einlesen, oder wie denkst du diir das ? |
Re: array einer klasse? Verständnisfrage
Sicher, aber Du musst Dir nur den Pk merken und in der darunterliegenden Klasse ablegen. Der Zugriff auf andere Felder erfolgt dann über eine Getter-Methode, die sich die (innerhalb der aktuellen Transaktion) aktuellen Daten holt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz