Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Einträge in mehrere Datensätze einer Tabelle schreiben (https://www.delphipraxis.net/195980-eintraege-mehrere-datensaetze-einer-tabelle-schreiben.html)

Luckner 12. Apr 2018 12:03

Datenbank: Firebird • Version: 2.1 • Zugriff über: IBDataset

Einträge in mehrere Datensätze einer Tabelle schreiben
 
Hallo,

ich würde gerne einige Einträge in vorselektierte Datensätze einer Tabelle eintragen. Mit 1 Datensatz funktioniert es. Ab 2 dann nicht mehr. Fehlermeldung ist: Listenindex überschreitet das Maximum(1). Prozess wird eingehalten usw.

Hier meine Routine:
Delphi-Quellcode:
      with DBGridFehlRohwareausbuchen.DataSource.DataSet do
      for i := 0 to DBGridFehlRohwareausbuchen.SelectedRows.Count - 1 do
      begin
        GotoBookmark(Pointer(DBGridFehlRohwareausbuchen.SelectedRows.Items[i]));

        DatamodulePlannung.DataModule5.IBDataSetPlannung.Close; //Hier wird der Produktionsstatus in der Planung geändert
        DatamodulePlannung.DataModule5.IBDataSetPlannung.SelectSQL.Clear;
        DatamodulePlannung.DataModule5.IBDataSetPlannung.SelectSQL.Add('select * from PLANNUNG where ID_AUFTRAG = ' + DBGridFehlRohwareausbuchen.SelectedField.AsString);
        DatamodulePlannung.DataModule5.IBDataSetPlannung.Open;

        DatamodulePlannung.DataModule5.IBDataSetPlannung.Edit;
        DatamodulePlannung.DataModule5.IBDataSetPlannungSTATUS.AsString := 'Rohware geliefert';
        DatamodulePlannung.DataModule5.IBDataSetPlannungSTATUSDATUM.Value := now;
        DatamodulePlannung.DataModule5.IBDataSetPlannungSTATUSNAME.AsString := Anwender;

        DatamodulePlannung.DataModule5.IBDataSetPlannung.Post;

        if DatamodulePlannung.DataModule5.IBTransactionPlannung.InTransaction then DatamodulePlannung.DataModule5.IBTransactionPlannung.Commit;
        DatamodulePlannung.DataModule5.IBDataSetPlannung.Close;
     end;
Würde mich bei jeder Hilfe freuen.
Gruß, Luckner

mjustin 12. Apr 2018 12:14

AW: Einträge in mehrere Datensätze einer Tabelle schreiben
 
Mein Tipp ist, anstatt der Edit und Post Befehle (mit ihren möglichen Seiteneffekten wegen der angebundenen DataSource / GUI Controls) SQL UPDATE zu verwenden.

Luckner 12. Apr 2018 15:29

AW: Einträge in mehrere Datensätze einer Tabelle schreiben
 
Hallo,

habe den Fehler gefunden. Die oben angezeigte Routine ist an sich ok. Habe (war hier nicht angezeigt) einen anderen Commit-Aufruf gehabt, Das mit meine Verbindung zur der Tabelle geschlossen hatte.

Danke.

Luckner


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz