Entwickler-Ecke

Datenbanken - String in ein Datenfeld umwandeln ??


Klaus D. - Mo 12.04.04 13:36
Titel: String in ein Datenfeld umwandeln ??
Moin
wie wandele ich ein String in ein TAutoIncField um ?
ich möchte mit "m" auf ein Datenfeld zugreifen.


Quelltext
1:
var : m :TAutoIncField;                    


Quelltext
1:
2:
3:
4:
5:
with frmDataMod.SQLDetailQuery do
for  i := 0 to FieldCount -1 do
case FieldDefs.Items[i].DataType of
       ftAutoInc:   m:=FieldDefs.Items[i].Name ;
end;

Danke Klaus


MSCH - Mo 12.04.04 17:53

ich versteh dein Problem nicht. Was genau ist dein Problem?


grez
msch


Klaus D. - Mo 12.04.04 19:39

Hallo
"M" ist ein String und beinhaltet den Feldnamen der gerade zugewiesenen Tabelle(AutoInc).
möchte ich jetzt mit "m" auf ein Datenfeld zugreifen bekomme ich immer einen Fehler.
z.Bsp: Label1.caption:= (Query1+m).Text;

mein Problem ist das ich nicht zur Entwurfzeit :Query1ID_Fabrikat.mach was: schreiben kann da ich ja erst zur Laufzeit auf "ID_Fabrikat"
zugreifen kann.
ich möchte zur Laufzeit auf ein Feld zugreifen welches ich zur Entwurfzeit nicht kenne nur das es sich um ein "TAutoIncField" handelt.
Danke Klaus


MSCH - Mo 12.04.04 20:05

wieso ist dann deine Variable "M" nicht String?

Du kannst mit Querry.fieldbyName(Feldname).value auf den Inhalt des Feldes zugreifen und wie du schreibst mit M:=FieldDefs.Items[i].Name ; den Namen ermitteln
Damit kannst du dir ein sql zusammenbauen:=Label.Caption:='Select * from Table where '+M+' = 1';

grez
msch

oder hab ich es jetzt falsch verstanden?