![]() |
Datenbank: Interbase • Zugriff über: BDE
Datenbankfelder über String ansprechen
Hallo,
ich habe folgendes Problem. Ich möchte ganz gerne Eigenschaftswerte bestimmter Tabellen ändern. Vom Prinzip her ja kein Problem:
Delphi-Quellcode:
Da ich aber ca. 300 Spalten in der Tabelle habe,
Datenbank.TabelleSpalte.DisplayLabel := 'Test';
welche alle den gleichen Namen + "Zähler" habe (EDIT1,EDIT2...EDIT300) würde ich das ganze gerne über eine "for to do" Schleife lösen.
Delphi-Quellcode:
Das Problem ist, dass das leider nicht funktioniert,
for i:=1 to 300 do
begin DB.findcomponent('EDIT' + inttostr(i)).DisplayLabel := 'Test'; end; Delphi sagt mir "Undefinierter Bezeichner DisplayLabel" Ich habe findcomponent bereits bei Edit Komponente benutzt dabei hat man von ein "as TEdit" hinter den string gesetzt. Habe das ganze dann mal so ausprobiert:
Delphi-Quellcode:
funktioniert auch nicht wieder "Undefinierter Bezeichner" nur für das hinter dem "as".
...
DB.findcomponent(('EDIT' + inttostr(i)) as TIBTable).DisplayLabel ... und so... DB.findcomponent(('EDIT' + inttostr(i)) as TIBStringfield).DisplayLabel ... Ich hoffe mir kann jemand weiter helfen, vielen Dank schon mal für Eure Hilfe. Gruß Sebastian [edit=Matze][delphi]-Tags eingefügt. Zukünftig bitte selbst daran denken. MfG, Matze[/edit] |
Re: Datenbankfelder über String ansprechen
Du musst noch in den richtigen typ casten:
Delphi-Quellcode:
(DB.findcomponent('EDIT' + inttostr(i)) as TField).DisplayLabel := 'Test';
|
Re: Datenbankfelder über String ansprechen
Hallo Markus,
hatte erst Probleme ... wieder undefinierter Bezeichner. Aber die Delphi Hilfe kannte TField und zeigte mir die Unit DB an. Habe diese geladen und jetzt funzt es. Vielen Dank und einen schönen Abend noch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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