![]() |
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; |
Folgendes führt zum Ziel:
Delphi-Quellcode:
Ein INSERT wird mit einem Post weggeschickt.
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; 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