Entwickler-Ecke

Datenbanken - Tabellen erstellen


diego - Mo 26.08.02 09:52
Titel: Tabellen erstellen
hi, ich möchte in delphi ne tabelle erstellen. bin schon soweit das man einige durchblättern kann aber eine neue erstellen geht noch nicht.

hier mal mein quelltext:

procedure TForm1.Button14Click(Sender: TObject);
begin

if {not} adsTable1.Exists then begin

with adsTable1 do begin

{ Die Table-Komponente darf nicht aktiv sein }
adstable1.Active := False;
{ Zuerst den Tabellentyp beschreiben und die Tabelle benennen }
adstable1.DatabaseName := 'DBDEMOS';
adstable1.TableType := ttAdsADT;
adstable1.TableName := 'CustInfo';

{ Dann die Felder in der Tabelle beschreiben }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;

with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;

end;

{ Dann alle Indizes beschreiben }
with IndexDefs do begin
Clear;
{ Der erste Index hat keinen Namen, denn er ist ein }
{ primärer Paradox-Schlüssel }
with AddIndexDef do begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];

end;
end;
{ CreateTable-Methode zu Erzeugen der Tabelle aufrufen }
CreateTable;
end;
end;


so das ist das aus der delphi hilfe. allerdings blick ich da noch net wirklich durch. muß man da net noch ne methode für createtable erstellen???


Klabautermann - Mo 26.08.02 10:12
Titel: Re: Tabellen erstellen
Hallo,

diego hat folgendes geschrieben:
so das ist das aus der delphi hilfe. allerdings blick ich da noch net wirklich durch. muß man da net noch ne methode für createtable erstellen???


Nein, die Methode CreateTable wurde schon von den Borländern implementiert. Die Parameter legst du in den vielen Zeilen dadrüber fest. CreateTable führt das ganze dann nur aus. Ein paar (wenige) erläuternde Worte zu dem vorgang findest du in diesem Tutorial [http://www.auq.de/viewtopic.php?t=363].

Gruß
Klabautermann


diego - Mo 26.08.02 10:38

okay danke. jetzt bin ich schon ein bisle weiter.

soweit ich weis muss man ja bei den eigenschaften der tabelle active = true setzen um überhaupt was ändern zu können!?!

allerdings kommt dan folgende fehlermeldung:

CANNOT PERFORM THIS OPERATION ON AN OPEN DATASET

was ist daran denn falsch???


diego - Mo 26.08.02 10:49

upps bin ich dumm.

danke hat sich erledigt hab die active's nur kurz rumdrehen müssen *g*