AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Variablenname als String auslesen?
Thema durchsuchen
Ansicht
Themen-Optionen

Variablenname als String auslesen?

Ein Thema von ernschd · begonnen am 14. Okt 2009 · letzter Beitrag vom 14. Okt 2009
 
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#1

Variablenname als String auslesen?

  Alt 14. Okt 2009, 12:45
Problem:

Ich habe eine MySQL-Datenbank, die ich mit Mysql direct von Cristian Nicola anspreche.
Zuerst habe ich die "bequeme" Variante mit FieldValueByName('string') zum Lesen des Feldinhaltes verwendet. Dies ist unter anderem auch sinnvoll, wenn sich die Struktur der Datenbank ändert, z.B. durch hinzufügen eines Feldes.

Dann habe ich gemerkt, dass FieldValue(integer) schneller ist (in meinem Fall um 1 Sekunde).
Dies ist auch nachvollziehbar, da FieldValueByName den Datensatz in einer Schleife durchgeht, bis es den passenden Eintrag gefunden hat.

Aus diesem Grunde habe ich mir überlegt, zuerst die Feldnamen der Datenbank auszulesen.

Nun kann ich die entsprechenden Feldnamen Integervariablen zuordnen, mit welchen ich dann FieldValue bequem aufrufen kann.
Kurzes Bsp:
Delphi-Quellcode:
var i, KdNr : Integer;
    test : String;
begin
    // Feldnamen lesen
    FResult := FMysql.query('SHOW COLUMNS FROM `Tabelle`;', true, ex);
    for i := 0 to FResult.RowsCount-1 do begin
        if FResult.FieldValue(0) = 'KdNrthen KdNr:= i; // KdNr ist jetzt z.B. 3
    end;

    FResult := FMysql.query('SELECT * FROM `Tabelle`;', true, ex);
    test := FResult.FieldValue(KdNr); // test enthält jetzt den Inhalt des Feldes Kundennummer

end;
Ich hoffe, mein Vorhaben ist bis hierher verständlich.
Nun suche ich jedoch noch nach einer schöneren Möglichkeit zur Zuordnung der Integervariablen zu den Feldnamen.
Gibt es vielleicht die Möglichkeit, den Namen einer Variable als String auszulesen? Vielleicht
if FResult.FieldValue(0) = KdNr.Name then KdNr:= i; Als Programmierer bin ich ja naturgemäß faul und würde gerne nur die Variablen mit den Feldnamen als Bezeichnung deklarieren.
Wahrscheinlich hat sich mittlerweile mein Hirn schon verknotet, darum sehe ich bestimmt den Wald vor lauter Bäumen nicht mehr.

Andere/bessere Möglichkeiten? Arrays, Records o.ä.?

Bin für jeden Vorschlag dankbar.
  Mit Zitat antworten Zitat
 


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 10:55 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 by Thomas Breitkreuz