hiho
Ich habe mich mal hier angemeldet, weil ich mich z.z. mit Delphi im Zusammenhang mit
sql-Datenbanken beschäftige und diesbezüglich noch sehr wenig Ahnung habe.
Z.Z. schlag ich mich mit dem Steuerelement ClientDataSet (CDS) rum:
Wenn ich dieses doppelt anklicke, kann ich ein neues Feld hinzufügen. Dies habe ich getan. Mein Feld heißt KENNUNG, die Daten sind vom Typ String und maximal 20 Zeichen lang, funktioniert auch wunderbar.
Nun wollte ich dieses Feld im Quellcode definieren und habe dafür 2 Möglichkeiten ergoogelt:
1.)
datamodule3.ClientDataSet1.FieldDefs.Clear;
datamodule3.clientdataset1.FieldDefs.add('KENNUNG' ,ftString,20);
2.)
with datamodule3.clientdataset1.FieldDefs do
begin
clear;
with addfielddef do
begin
name:='KENNUNG';
datatype:=ftString;
size:=20;
end;
end;
Ich habe mir eine kleine Procedure namens def_feld geschrieben, in der ich beide Varianten ausprobiert habe (natürlich nicht zeitgleich, sondern immer eine auskommentiert).
diese habe ich nun in meiner eigentlichen Procedure an allen möglichen Stellen eingefügt:
clientdataset1.CreateDataSet;
clientdataset1.close;
clientdataset1.open;
vor CreateDataSet, vor Close, vor Open, nach Open
und ganz am Anfang vom Programm, wo's noch gar nicht um das CDS geht sowie ganz am Ende, wo der Teil mit dem CDS längst abgeschlossen ist, also sprich: wirklich überall.
Das Ergebnis war immer das gleiche: Es hat nicht funktioniert.
Daher jetzt meine Frage:
Wie kann ich im Quellcode das realisieren, was ich per Hand problemlos machen konnte, nämlich statt der gesamten Tabelle nur die Spalte KENNUNG anzeigen???
Vielen Dank für eure Hilfe schonmal.
Und falls ihr einen guten Link zu nem Crashkurs in Datenbankenprogrammierung mit Delphi (
ADO) habt, immer her damit!
mfg
Frank