Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mehrere DataSet-Felder nacheinander einfügen (https://www.delphipraxis.net/3304-mehrere-dataset-felder-nacheinander-einfuegen.html)

Hansa 6. Mär 2003 00:32


mehrere DataSet-Felder nacheinander einfügen
 
Hi,

nachfolgender Code soll folgendes erreichen:

nacheinander sollen die Felder einer DB "bestückt" werden. Leider kann ich aus programmtechnischen Gründen immer nur ein Feld auf einmal einfügen. Trotzdem muß das in der Repeat Schleife ablaufen. Am Anfang ist das DataSet also leer, dann wird es per Insert eingefügt, ist also vorhanden. Nur komme ich da nicht voran, wo genau muß da Edit oder Post oder was weiß ich stehen ? Und Commit? Der Effekt ist folgender : Das erste Feld ist richtig und dann kommt nichts mehr in der DB an. Bei Modifikationen des Quelltextes ist es mir schon gelungen, das letzte Feld auch rein zu kriegen, aber das ists wohl nicht. Fehlermeldungen sind keine zu sehen.

Code:
DS.Active := true;
      DS.Insert; // leeren Datensatz erzeugen
      REPEAT
        InsSQL := 'INSERT INTO DS ('+FeldName+')' +
                  ' VALUES ('''+Feldinhalt+''')';
        DS.InsertSQL.Text := InsSQL;
        DS.Edit;
      UNTIL ende;

Phoenix 6. Mär 2003 09:46

Folgendes führt zum Ziel:
Delphi-Quellcode:
   DS.Active := true;
      REPEAT
         DS.Insert; // leeren Datensatz erzeugen
         InsSQL := 'INSERT INTO DS ('+FeldName+')' + ' VALUES ('''+Feldinhalt+''')';
         DS.InsertSQL.Text := InsSQL;
         DS.Post; // Insert bestätigen und abschliessen
      UNTIL ende;
Ein INSERT wird mit einem Post weggeschickt.
Die Repeat - Schleife macht also jetzt vollständige inserts, die auch bestätigt werden. Committed wird dabei allerdings nichts :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.

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