Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Neuen Record anlegen (https://www.delphipraxis.net/178641-neuen-record-anlegen.html)

DelTurbo 19. Jan 2014 12:34

Datenbank: MySql • Version: 5.0.51a • Zugriff über: MyDac

Neuen Record anlegen
 
Hi,
ich habe nun eine Form, auf der alles DBEdit-Felder sind. Sie sind einer MySql zugeordnet. Lesen klappt auch einwandfrei mit

Delphi-Quellcode:
MyQuery.SQL.Clear;
MyQuery.SQL.Add('SELECT * FROM Stammdaten WHERE ID='+IDEdt.Text+',');
MyQuery.Execute;
Auch wenn ich Felder änder, dann brauche ich nur ein MyQuery.Insert zu machen, und die daten in diesem Record sind geändert.

Was ich nicht schaffe / verstehe ist, wie ich einen komplett neuen Record anlegen kann. Ich dachte erst das ging mit Insert, wie halt bei MySql. Leider Updated der Befehl nur.

Wie kann ich einen komplett neuen Record mit den neu ausgefüllten DBEdit Feldern anlegen.

Vielen dank im voraus

Sir Rufo 19. Jan 2014 12:43

AW: Neuen Record anlegen
 
Delphi-Quellcode:
MyQuery.Append;

DelTurbo 19. Jan 2014 12:54

AW: Neuen Record anlegen
 
Ja, geht. Muss man 2x machen. Vielen dank.

Sir Rufo 19. Jan 2014 12:58

AW: Neuen Record anlegen
 
Zitat:

Zitat von DelTurbo (Beitrag 1244314)
Ja, geht. Muss man 2x machen. Vielen dank.

Häh?

Schau mal in die Hilfe zu Delphi-Referenz durchsuchenTDataset.Append/Delphi-Referenz durchsuchenTDataset.Edit und Delphi-Referenz durchsuchenTDataset.Post

DelTurbo 19. Jan 2014 13:09

AW: Neuen Record anlegen
 
Beim erstenmal werden alle DBEdit-Felder gelöscht, und keinerlei MySql abfragen geschickt, und beim zweitenmal wird der INSERT befehl an die MySql geschickt. Er schickt zwar nur die Felder wo etwas drinsteht, aber das ist egal.

Keine ahnung warum das so ist, aber es geht. Dann brauch ich Felder nich von "Hand" zu löschen.

Sir Rufo 19. Jan 2014 13:51

AW: Neuen Record anlegen
 
Ja logisch, du willst einen neuen Satz anlegen
Delphi-Quellcode:
Append
-> alle Felder enthalten erstmal nix
Eintragen der Daten und dann mit
Delphi-Quellcode:
Post
wird das an die Datenbank gesendet.
Soll doch nichts eingetragen werden dann einfach
Delphi-Quellcode:
Cancel
.

Das hier passiert im Kontext des Datasets und das entscheidet dann, ob und was an die Connection/Datenbank geschickt wird

DelTurbo 19. Jan 2014 13:57

AW: Neuen Record anlegen
 
Ach, siehst du, da ist mein Fehler. Ich "sende" das mit noch einem Append, was zwar klappt, aber im grunde total Falsch ist. Klar, Post wäre richtig.

Danke für die richtigstellung und die Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 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 by Thomas Breitkreuz