Keine Ahnung, warum du unbedingt mit
SQL / INSERT arbeiten möchtest.
Ist LFDNR dein Primär Schlüssel ??
Dann ist klar, das du keinen 2. Datensatz mit gleichem Key
einfügen kannst.
Dabei geht das doch so einfach direkt über die
Query:
Delphi-Quellcode:
procedure TForm6.Button8Click(Sender: TObject);
var s,t : string;
begin
s := 'select Name,Vorname,Gebdat,Straße,hnr,plz,ort,tel,fahrschule,LFDNR from teilnehmer';
query1.close;
Query1.Sql.Text := s;
Query1.Open;
// Datensatz updaten
Query1.Edit;
Query1['name'] := Edit2.Text;
Query1['vorname'] := Edit3.Text;
// weitere Felder
...
Query1.Post; // in die Tabelle schreiben
end;
Das war ein UPDATE von bestehenden Daten.
Einfügen geht genau gleich; du musst nur Query1.Append statt Query1.Edit schreiben.
Natürlich verwendet man für Einfügen und Ändern die gleich (Unter-)Prozedur; man will ja das
Rad nicht 2 Mal erfinden.
PS: er gibt auch keinen Grund, warum du Query1.SQL an verschiedenen Stellen zuweisen musst. Einmal reicht doch.
Als Anfänger in Sachen Datenbank würde ich dir empfehlen, mit datensensitiven Steuerelementen (alles was mit TDB.. beginnt) zu arbeiten.
Diese
DB-Controls haben zwar gewisse Nachteile, aber für so eine Standardsituation sind sie optimal.