![]() |
Datenbank: Firebird • Version: 3 • Zugriff über: IBDAC
Stil-Frage zu TDataset und co
Hallo zusammen,
Da ich gerade an meinem ersten Projekt sitze, das vom guten alten Datei-Zugriff auf DB-Zugriffe umgestellt wird, hab ich mal ein paar Fragen zum guten Stil. ;-) 1. Zugriff auf Datenbank-Felder. Es gibt ja, soweit ich weiß, 3 Möglichkeiten: a)
Code:
Finde ich nicht so wirklich schön, alleine schon wegen des Risikos der falschen Schreibweisen der Feldnamen.
edit1.text := q.fieldByName ('Nachname').asString;
b)
Code:
oder
const
fnNachname = 'Nachname'; ... edit1.text := q.fieldByName (fnNachname).asString; c)
Code:
Eher b) oder c) - oder noch anders? ;-)
const
fnNachname = 3; ... edit1.text := q.fields[fnNachname].asString; 2. .asXXX Die typumwandler asString, asInteger, ..., kann man ja nutzen, aber man muss nicht. Ist es besser, die IMMER zu nehmen, oder wie seht ihr das? 3. Typen, die es in SQL nicht gibt. Beispiel:
Code:
Geht das irgendwie eleganter?
TFahrzeugtyp = (fPKW, fLKW, fMotorrad);
... if TFahrzeugTyp (q.fieldByName ('Typ').asInteger) = fMotorrad then Herzliche Grüße Wandogau |
AW: Stil-Frage zu TDataset und co
Zu 1) Jedes TDataSet hat im Kontextmenü einen Feldeditor mit dem man die Felder statisch erstellen kann. Dann hat man jeweils eine Komponente zum Feld, die man verwenden kann.
Zu 2) Wenn man die Antwort zu 1) umsetzt, kann man für jedes Feld das property Value nehmen, das dann vom entsprechenden Typ ist. Zu 3) Einen Record-Helper zu der Enumeration, die den entsprechenden Feldeintrag setzt oder liest. Das kann ein Integer oder der String des Enumeration-Werts sein. |
AW: Stil-Frage zu TDataset und co
Zitat:
Bei uns im Team sind persistente Felder jedenfalls ein NoGo. Zitat:
Wenn ich mit vielen Feldnamen im Source arbeiten muss, gibt es eine spezielle Unit, die alle notwendigen Feldnamen als Konstanten enthält. Vertippen gibt es dann nicht mehr. |
AW: Stil-Frage zu TDataset und co
Die neueren Delphi-Versionen zusammen mit FireDAC machen das aber schon deutlich einfacher. Längen von String-Feldern werden angepasst, andere (z.B. neue) Felder lassen sich zu den statischen dazu nehmen. Man muss diese Möglichkeiten halt nur nutzen.
|
AW: Stil-Frage zu TDataset und co
Wenn die Version des OP noch stimmt ist er noch auf D5!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 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