![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: ZEOS Lib
Datensatz mit ZEOS in Firbird DB speichern
Hallo,
ich habe eine Frage an die Community: Bin dabei ein Eingabeformular für Mandanten zu entwickeln, also mehrer DBedits wo die Daten eingegeben werden. Jetzt wollte ich fragen, wie ich beim abspeichern eines Mandanten-Datensatzes am Besten vorgehe? Also ich habe ein Connection Objekt und meine DBEdits, sollte ich jetzt eine Query nehmen, und den SQL eine Insert-Anweisung verpassen? Gruß DelphiManiac |
Re: Datensatz mit ZEOS in Firbird DB speichern
Oder du Verwendest ein Updateobjekt
|
Re: Datensatz mit ZEOS in Firbird DB speichern
@mkinzler:
du bist ja echt aktiv heute :-))) aber ein Update-Objekt alleine reicht doch nicht, ich muss doch dazu ein Query-Objekt haben oder? Achso habe auch noch eine recht einfach für dich (aber für mich z.Z. noch Neuland) zu beantwortende Frage. Bei dem Insert:
SQL-Code:
Worauf bezieht sich der Doppelpunkt?
INSERT INTO tblMandanten
(tblMandanten.MANDANTEN_ID, tblMandanten.ANREDE, tblMandanten.VORNAME, tblMandanten.NAME, tblMandanten.FIRMA, tblMandanten.GEBTAG) VALUES (:MANDANTEN_ID, :ANREDE, :VORNAME, :NAME, :FIRMA, :GEBTAG) |
Re: Datensatz mit ZEOS in Firbird DB speichern
Zitat:
Zitat:
Delphi-Quellcode:
bzw .as<Typ> Abfragen/Setzen kann.
<DataSet>.ParamByName('<Parametername>').Value
Bsp
Delphi-Quellcode:
Query.ParamByName('NAME').Value := 'Maier';
|
Re: Datensatz mit ZEOS in Firbird DB speichern
Also die Funktionsweise muss ich mir nochmal genauer durch den Kopf gehen lassen:
Ok im Dataset (kann ein TZQuery sein) kann man sich die Daten lokal von der DB holen; Die Query kann man mit einem TZUpdateObjekt verknüpfen, welches die INSERT / UPDATE /.. Statements beinhaltet. Gut angenommen ich hole mir über ein Query Daten (SELECT * FROM XXX) dann habe ich die daten lokal und kann die Parameter ändern (wie du eben beschrieben hast), wenn ich nun ein Update fahre, dann bedeutet :PARAMETER dass er den Wert im Dataset der unter Parameter steht in das SQL Statement einfügt und dieses dann updatet. Hoffentlich hab ich das soweit richtig kapiert, wenn nicht bitte korrigieren, Wenn ich jetzt aber nur ein INSERT mit meine Tabelle machen will, dann habe ich ja in meinem Query (Datensatz) keine Daten, also kann ich ja das
Delphi-Quellcode:
nicht nutzen,
<DataSet>.ParamByName('<Parametername>').Value
sollte ich dann so vorgehen?
SQL-Code:
??
INSERT INTO tblMandanten
(tblMandanten.MANDANTEN_ID, tblMandanten.ANREDE, tblMandanten.VORNAME, tblMandanten.NAME, tblMandanten.FIRMA, tblMandanten.GEBTAG) VALUES (dbeditMANDANTEN_ID.Text, dbeditANREDE.Text, ...) |
Re: Datensatz mit ZEOS in Firbird DB speichern
Wenn das Insert-Staement im Query steht kannst du die Parameter manuell setzten und den Query per .ExecSQL ausführen.
Bei der Verwendung eines Updateobjektes ist das nicht nötig, da die Parameter ja automatisch gesetzt werden. In deisem Fall werden dann die Werte der edits bei Query.Insert in die Parameter geschrieben. |
Re: Datensatz mit ZEOS in Firbird DB speichern
Das kannst du entweder somachen, oder wenn du schon die Zeos benutzt so
Delphi-Quellcode:
Edit: Werden die Werte bei einem DBEdit nicht automatisch gespeichert wenn er das Feld ändert/verlässt?
TZQuery.Insert;
TZQuery.FieldByName(FeldName).Value := Wert; [...] TZQuery.Post; |
Re: Datensatz mit ZEOS in Firbird DB speichern
Wie muss ich dann meine Query aufbauen.
Muss ich ersteimal ein
SQL-Code:
machen,
SELECT * FROM Tabelle
und dann auf das Query ein Update-Objekt setzten, welches mir die Datenmenge ändern kann? Weil eigentlich brauche ich gar keine Daten (im 1. Schritt) ich will ja nur einen "Neuen Mandanten" anlegen, sollte ich mein Dataset trotzdem füllen (ist das sinnvoll) Danke euch |
Re: Datensatz mit ZEOS in Firbird DB speichern
Du kannst auch
SQL-Code:
als Abfrage verwenden, dann wird nichts gelesen
SELECT * FROM Tabelle where 1=0
|
Re: Datensatz mit ZEOS in Firbird DB speichern
@mkinzer:
Danke euch, genau so klappts, :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 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