AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umgang mit Query's

Ein Thema von Ykcim · begonnen am 2. Dez 2016 · letzter Beitrag vom 2. Dez 2016
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Umgang mit Query's

  Alt 2. Dez 2016, 13:24
Nein, bei Änderungen übergibt UniQuery die Feldinhalte an die Parameter, du kümmerst dich nur um die zu ändernden Felder - entweder durch eine direkte Zuweisung (z.B. im Event BeforePost der UniQuery) oder ohne eigene Aktion, wenn du die verpönten datensensitiven Komponenten einsetzt (für irgendwas müssen die ja gut sein...).

Wenn du das in einer Klasse einsetzt, verwaltest du dort die Feldinhalte und schreibst letztlich wirklich alle Feldinhalte in die Parameter (weil der Verwaltungsaufwand, welches Feld geändert wurde, zu aufwändig ist).

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Umgang mit Query's

  Alt 2. Dez 2016, 15:53
Noch eine Anmerkung zu "Datum":
Falls Du das aktuelle Datum und oder die aktuelle Zeit benötigst solltest du auf das SYSDATE() der DB zurück greifen. Bei Now bekommst Du das lokale Datum und Zeit zurück, und das könnte unterschiedlich sein zu dem der DB.
"Brauch ich nicht, ist alles lokal" haben schon viele gesagt, und aus lauter Gewohnheit im entscheidenden Moment Fehler in die DB hineingeschoben.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#13

AW: Umgang mit Query's

  Alt 2. Dez 2016, 19:18
Hallo,

so funktioniert es nicht.

Bei den UniDac Komponenten führst du das Statement nur von UniQuery4.sql aus. Wenn du die anderen Statements ausführen willst, dann musst du sie über UniQuery4.sql.Text := UniQuery4.SQLInsert.Text zuweisen. Dann hast du auch die richtigen Parameter.

Deswegen auch...
Der Parameter Ticket_ID stammt aus dem Select Statement.
Die Statements InsertSQL, InsertUpdate usw. musst du alle übergeben, dann kannst du sie ausführen.

Ausserdem ist BeforeInsert nicht der richtige Ort die Parameter zu übergeben.
Einfach eine Prozedure schreiben, zuerst das Stement zuweisen und dann die Parameter übergeben. Je nach Statement Open, Execute oder ExecSQL ausführen.

Ich hoffe ich konnte ein wenig helfen.

Gruß
Matze
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:33 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