Hi
Nun, das ist eine ziemlich große Tabelle, was die Felder angeht. Ich denke, auch
ADO - Komponenten haben eine ähnliche Funktionalität, wie die von Borland gelieferten
Query-Komponenten, die mir zur Verfügung stehen. Ich nehme ein Datenmodul und packe dort meine Verbindung mittels TDatabase hinein, sowie die TQuery und die TUpdateSQL. Sind die Verbindungen zur Datenbank eingerichtet, gehe ich zuerst mit der rechten Maustaste in die
Query und rufe den SQLBuilder auf. Mittels diesem lade ich alle Felder in die
Query. Dann setze ich die Eigenschaft CachedUpdates auf true und gebe das UpdateObject mit dem UpdateSQL-Object an. Anschließend erfolgt ein rechter Mausclick in das UpdateSQL Object und ein Aufruf des Update-
SQL Editors. Dort werden alle Felder übernommen und das Indexfeld markiert.
Vielleicht erklärt folgender Programmblock den Zugriff vom Programm auf die Datenbank.
Delphi-Quellcode:
Procedure Store_Daten(Id: Integer);
Var SQLSatz : String;
Begin
SQLSatz:='Select * From MyTable';
SQLSatz:=SQLSatz+' Where (Ident='''+IntToStr(Id)+''')';
Datamodule.MyQuery.SQL.Clear;
Datamodule.MyQuery.SQL.Add(SQLSatz);
Datamodule.MyQuery.Open;
If Datamodule.MyQuery.RecordCount>0 then // Datensatz existiert, öffnen für Edit
Begin
Datamodule.MyQuery.Edit;
Datamodule.MyQuery['Feld_1'}:=Wert_1;
Datamodule.MyQuery['Feld_2'}:=Wert_2;
.........
Datamodule.MyQuery['Feld_n'}:=Wert_n;
Datamodule.MyUpUpdateSQL.Apply(ukModify);
end else
begin
Datamodule.MyQuery.Append; // neuer Datensatz
Datamodule.MyQuery['Ident'}:=Id; // Id eintragen
Datamodule.MyQuery['Feld_1'}:=Wert_1;
Datamodule.MyQuery['Feld_2'}:=Wert_2;
.........
Datamodule.MyQuery['Feld_n'}:=Wert_n;
Datamodule.MyUpUpdateSQL.Apply(ukInsert);
end;
end;
ob das mit
ADO Komponenten genauso geht, weiß ich nicht, aber bisher war dies die einfachste Art, einen Datenbankzugriff zu realisieren. Ich hoffe, es hilft dir.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !