AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatz mit ZEOS in Firbird DB speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz mit ZEOS in Firbird DB speichern

Ein Thema von DelphiManiac · begonnen am 27. Apr 2007 · letzter Beitrag vom 30. Apr 2007
Antwort Antwort
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 12:33
Datenbank: Firebird • Version: 2.0 • Zugriff über: ZEOS Lib
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 12:34
Oder du Verwendest ein Updateobjekt
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#3

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 12:43
@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:
INSERT INTO tblMandanten
  (tblMandanten.MANDANTEN_ID, tblMandanten.ANREDE,
tblMandanten.VORNAME,
   tblMandanten.NAME, tblMandanten.FIRMA, tblMandanten.GEBTAG)
VALUES
  (:MANDANTEN_ID, :ANREDE, :VORNAME, :NAME, :FIRMA, :GEBTAG)
Worauf bezieht sich der Doppelpunkt?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 12:50
Zitat:
aber ein Update-Objekt alleine reicht doch nicht, ich muss doch dazu ein Query-Objekt haben oder?
Ja
Zitat:
Worauf bezieht sich der Doppelpunkt?
das sind Parameter, welche man mit
<DataSet>.ParamByName('<Parametername>').Value bzw .as<Typ> Abfragen/Setzen kann.
Bsp
Query.ParamByName('NAME').Value := 'Maier';
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#5

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 13:14
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 ARAMETER 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
<DataSet>.ParamByName('<Parametername>').Value nicht nutzen,

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, ...)
??
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 13:21
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.
Markus Kinzler
  Mit Zitat antworten Zitat
trashcandesign

Registriert seit: 21. Feb 2006
Ort: Mühlhausen
187 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 13:24
Das kannst du entweder somachen, oder wenn du schon die Zeos benutzt so
Delphi-Quellcode:
TZQuery.Insert;
  TZQuery.FieldByName(FeldName).Value := Wert;
  [...]
TZQuery.Post;
Edit: Werden die Werte bei einem DBEdit nicht automatisch gespeichert wenn er das Feld ändert/verlässt?
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#8

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 14:39
Wie muss ich dann meine Query aufbauen.

Muss ich ersteimal ein SELECT * FROM Tabelle machen,
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 27. Apr 2007, 16:33
Du kannst auch
SELECT * FROM Tabelle where 1=0 als Abfrage verwenden, dann wird nichts gelesen
Markus Kinzler
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#10

Re: Datensatz mit ZEOS in Firbird DB speichern

  Alt 30. Apr 2007, 21:46
@mkinzer:


Danke euch, genau so klappts,
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz