AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DB-Felder über Methode Variablen zuweisen

Ein Thema von scrat1979 · begonnen am 21. Jun 2010 · letzter Beitrag vom 21. Jun 2010
Antwort Antwort
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#1

DB-Felder über Methode Variablen zuweisen

  Alt 21. Jun 2010, 08:36
Delphi-Version: 2010
Hallo zusammen,

ich stehe gerade vor einem Problem, für welches IHR - wie immer - die Lösung bereits parat habt. Da es ich nicht unbedingt um eine DB-Problematik handelt, denke ich, ich bin in dieser Rubrik richtig.

Folgendes:

Im Rahmen der Trennung von Darstellung und Funktion habe ich mir eine Klasse gebastelt. Es handelt sich vereinfacht ausgedrückt um einen Kalender. Die Klasse holt / speichert die Daten in/aus einer Datenbank (Firebird). Bislang war es "nur" notwendig, Wertepaare (String und Integer) aus der Datenbank auszulesen. Dazu habe ich das "String"-Feld in eine StringList und den Integer-Wert über TObject(IntegerWert) dem StringList-Eintrag zugeordnet. Das funktioniert einwandrei.

Ungefähr so:

Delphi-Quellcode:
 procedure TMeineKlasse.HoleDaten(DestStrList : TStringList);
 begin
   [...]
   DestStrList.AddObject(QueryXYZ.FieldByName('StrFeld').AsString, TObject(QueryXYZ.FieldByName('IntFeld').AsInteger));
 end;
Nun möchte ich aber mehrere Felder auslesen, hier funktioniert ja o.g. System nicht mehr. Bevor ich meine Idee in die Tat umsetze (s. unten) möchte ich jedoch sicher sein, dass es keine "schönere" Lösung für geschildertes Problem gibt.

Meine Lösung: Zwei Klassen-Methoden, die erste liest den ersten Datensatz aus und schreib ihn über folgende Funktion in die entsprechenden Variablen. Als Funktionsergebnis wird die Anzahl der vorhandenen Datensätze zurückgegeben:

function HoleErstenDatensatz(VAR int1: integer; var int2: integer; var str1: string; var str2: string) : integer; Dann wird der Zeiger auf den nächsten Datensatz gelegt. Das weitere auslesen wird über eine zweite - ähnliche - Funktion vorgenommen.

Ich hoffe, mein Vorhaben ist klar und hoffe, dass mir jemand einen einfach(eren) Lösungsweg zeigen kann

Michael
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: DB-Felder über Methode Variablen zuweisen

  Alt 21. Jun 2010, 09:12
Statt des harten Casts einer Integer auf TObject könntest Du Dir eine tatsächliche Klasse deklarieren, die die benötigten Felder enthält. Diese kannst Du dann instanzieren und wie gehabt mit AddObject zu Deiner Liste hinzufügen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: DB-Felder über Methode Variablen zuweisen

  Alt 21. Jun 2010, 09:44
Das heißt ich bilde mir eine Klasse XYZ mit den entsprechenden Feldern, ok.

Wäre es dann sinnvoll, der o.g. Prozedur eine TObjectList zu übegeben, in welcher dann die ausgelesenen Datensätze über die Klasse XYZ gespeichert werden? Dann ist das doch schonmal eine deutlich elegantere Lösung
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: DB-Felder über Methode Variablen zuweisen

  Alt 21. Jun 2010, 09:48
Ob TObjectlist oder TStrings hängt m.E.n. davon ab, ob Du die Daten darstellen willst/musst oder nicht. Andererseits hält Dich ja auch niemand davon ab, Methoden zu überladen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: DB-Felder über Methode Variablen zuweisen

  Alt 21. Jun 2010, 10:02
Super! Dann komme ich erst einmal weiter bei meinem Programm

Bis bald und Danke!
Michael Kübler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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