Du hast ja schon ein paar Beiträge hier geschrieben, es wäre schön, wenn du dann auch mal die Delphi-Tags benutzt, das macht deinen Quelltext leichter lesbar

.
Zum Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| while ds_Garderobe.DataSet.Eof do begin for i:= StrToInt(ed_ErsteNr.Text) to StrToInt(Ed_LetzteNr.Text) DO ds_Garderobe.DataSet.Next; end; qry_GardNr.Active:=True; qry_GardNr.SQL.Clear; sqlstring:=('INSERT INTO gardnr(gnr, vdate) VALUES(:i,:dt)'); qry_GardNr.SQL.Add(sqlstring); qry_GardNr.ParamByName('i').AsInteger:=i; qry_GardNr.ParamByName('dt').AsDate:=dt_Datum.Date; ShowMessage(sqlstring); qry_GardNr.ExecSQL; |
Du führst den Befehl INSERT nur einmal aus. Die Einrückung wie ich sie jetzt habe verdeutlicht das vielleicht. Deine for-Schleife enthält nur eine Zeile.
Und deine While-Schleife? Was möchtest du damit erreichen?
Du müsstest deine for-Schleife um alles herum setzen, damit der INSERT-Befehl mit den verschiedenen Zahlen nacheinander mehrfach ausgeführt wird.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| for i:= StrToInt(ed_ErsteNr.Text) to StrToInt(Ed_LetzteNr.Text) do begin qry_GardNr.Active:=True; qry_GardNr.SQL.Clear; sqlstring:=('INSERT INTO gardnr(gnr, vdate) VALUES(:i,:dt)'); ... end; |
Das sollte dann gehen denke ich.
// EDIT:
Aber ich vermute es genügt auch in der Schleife den Parameter zu ändern. Allerdings kenne ich mich da auch nicht so gut aus in Datenbanken UND Delphi, nur einzeln.
