Hi,
wir posten aneinander vorbei! Nochmal anders: Du musst doch irgendwo eingeben welche Artikel in Deinem Lager sind, oder? Dazu machst Du doch sicherlich ein Formular in dem der User neue Artikel anlegen kann, bzw. bei bestehenden Artikel die Menge editieren kann u. ä. Für dieses Formular wirst Du doch sicherlich eine TDataSet/TIBDataSet/TirgendwasDataSet verwenden um die Daten die schon erfasst sind, anzeigen zu lassen, d.h. Du setzt visuelle
DB-Komponenten (TDBEdit, ....) auf das Formular und verbindest das mit der TDataSet.
So und jetzt kommen wir wieder zum eigentlichen Thema:
In diesem Szenario wirst Du der TDataSet in die SelectSQL-Eigenschaft so eine ähnliche
SQL eingeben:
Mit einem RMK (rechten Mausklick) kannst Du dann (zumindest bei IBX) einen Editor öffnen, in dem Du die Insert, Update, Delete und Refresh-
SQL Statements automatisch erzeugen lassen kannst. Dann musst Du nur noch die TDataSet mit der Datenbank verbinden und schon kannst Du loslegen. In Diesem Fall sorgt die TDataSet selbst dafür, dass bei einem Aufruf der Methoden Insert/Edit/Post/Delete die entsprechende
SQL die du eingegeben/erzeugt hast ausgeführt wird.
Nun zum großen Unterschied: Wenn du selbst einfach so ein Insert-Statement ausführen willst, ohne eine vorbereitete TDataSet zu haben (wie oben), dann musst Du das entsprechende
SQL-Statement auch anders ausführen: entweder in einer TQuery (dann ist eigentlich alles klar) oder eben in einer TDataSet. Dann musst du das Statement eben in die SelectSQL eingeben und dann mittels ExecSQL ausführen. Da spielt es dann keine Rolle was in der Tabelle schon drinsteht, bzw. dass die Eigenschaft des TDataSet "SelectSQL" heißt obwohl Du eine Insert oder Delete-Anweisung eingibst. Denn diese SelectSQL wird bei ExecSQL verwendet und ausgeführt.
Grüße
Lemmy