AGB  ·  Datenschutz  ·  Impressum  







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

UpdateSQL

Ein Thema von bisenegger · begonnen am 30. Okt 2006 · letzter Beitrag vom 2. Nov 2006
Antwort Antwort
bisenegger

Registriert seit: 25. Okt 2006
Ort: Kriens
14 Beiträge
 
#1

UpdateSQL

  Alt 30. Okt 2006, 21:10
Datenbank: Pervasive SQL • Version: 9.5 • Zugriff über: PDAC
Hallo zusammen

Irgendwie hab ich ein Brett vor dem Kopf und die Funktion von TUpdateSQL (bzw. TPvUpdate für PDAC) gar nicht begriffen.

In einem Form habe ich Adressen.Query1 zum Oeffnen einer View.
Nach dem Oeffnen werden die Daten im Adressen.DBGrid1 angezeigt.

Wenn ich nun mit dem Cursor auf dem Datensatz stehe, öffne ich mit Linksclick ein Kontextmenu.
Im Kontextmenu wähle ich Datensatz ändern.

Dies offnet mir ein neues Fenster (Form Adressmaske) mit AdressMaske.DBEdit(x)-Komponenten welche mit dem Adressen.Datasource1 verbunden sind.

Nun mache ich hier meine Aenderungen aber wie werden Sie nun in die Datenbank geschrieben?

Ich wollte bewusst auf das "alte Edit und Post" verzichten.

In der Hilfe zu Turbo Borland Delphi fängt das grosse Schweigen an wo es interssant wird.
Ich habe mit ExecSQL, Append etc experimentiert, aber es geht einfach nicht (div. Fehler oder keine Aenderung der Daten).

Im Internet habe ich bisher kein schlaues Beispiel entdeckt.

Kann mir jemand auf die Sprünge helfen?
UpdateSQL1.ModifySQL / DeleteSQL / InsertSQL sind definiert und SQL-fehlerfrei.

Meine Kernfrage wie löst man das zurückschreiben der Daten aus, und braucht es zum "vorbereiten" der Daten auch noch etwas wie füher Edit/Post?

Gibt es ein gutes Beispielprogramm?

Besten Dank
Beni
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: UpdateSQL

  Alt 30. Okt 2006, 21:18
TUpdateSQL simuliert das alte .Append/.Edit + .Post. Dh. Bei Query.Insert wird die InsertSQL-Abfrage ausgeführt, usw.
Markus Kinzler
  Mit Zitat antworten Zitat
bisenegger

Registriert seit: 25. Okt 2006
Ort: Kriens
14 Beiträge
 
#3

Re: UpdateSQL

  Alt 31. Okt 2006, 08:50
Zitat von mkinzler:
TUpdateSQL simuliert das alte .Append/.Edit + .Post. Dh. Bei Query.Insert wird die InsertSQL-Abfrage ausgeführt, usw.
Besten Dank, aber irgendwie klemmt es weiter.

Ich habe nun im Ereignis Datasource1.OnDataChance Adressen.UpdateSQL1.ExecSQL(ukModify) aufgerufen, nun will er die Typen der Parameter :Name, etc. nicht kennen.
Ich war einmal der Meinung, dass die Parameter zur Laufzeit von Delphi selbst erzeugt werden.

Ich bin mir auch nicht sicher, ob "Adressen.UpdateSQL1.ExexSQL(ukModify) der richtige Ansatz ist.

Query.Insert ist zum Einfügen von Datensätzen denke ich, und löst bei mir eh einen Runtime-Error aus.

Es ist kaum zu glauben, dass es in der Doku und im Internet kein Beispiel zu TUpdateSQL gibt.

Vielleicht hat jemand ein kleines Projekt, an dem ich das Ganze mal nachvollziehen kann.

In guter Hoffnung auf eine gute Lösung
B. Isenegger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: UpdateSQL

  Alt 31. Okt 2006, 09:04
In der UpdateSQL-Komponente wird direkt gar nichts aufgerufen. Wie gesagt dient diese Komponente dazu, einem Query wie eine Table zu behandeln, falls die datenbank dahinter kein updateable View beherrscht.
Die UpdateSQL-Komponentw wird mit der Eigenschaft .UpdateObject mit dem Query verbunden.
Du rufst Query.Edit auf änderst die Werte und beim Query.Post wird dann die .UpdateSQL-Abfrage des Updateobjektes aufgerufen.
Markus Kinzler
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#5

Re: UpdateSQL

  Alt 31. Okt 2006, 14:15
Moin
Das UpdateSQL-Objekt ist in der Tat eine etwas 'komplizierte' Geschichte und die Hilfe ist nicht weniger verwirrend . Habe mich von daher in meinen Projekten nicht weiter mit befasst und die entsprechenden Aktionen (Delete, Insert, Modify) mit jeweils eigenständigen SQL's realisiert.
Ich kann nicht so den Vorteil für das UpdateSQL erkennen...
Nun, ich habe mal ein kleines Demo-Programm zusammengekloppt, zum besseren Verständnis bzgl. der Parameter sowie der Methoden .Apply() und .ExecSQL. Vielleicht hilft's ja ein wenig.... Ansonsten halt mal per PN nachfragen... (Demo ist mit D5E und ner schnöden ParadoxTabelle erstellt)
Angehängte Dateien
Dateityp: zip updatesql_demo_187.zip (2,02 MB, 146x aufgerufen)
  Mit Zitat antworten Zitat
bisenegger

Registriert seit: 25. Okt 2006
Ort: Kriens
14 Beiträge
 
#6

Re: UpdateSQL

  Alt 2. Nov 2006, 07:37
Zitat von raiguen:
Nun, ich habe mal ein kleines Demo-Programm zusammengekloppt, zum besseren Verständnis bzgl. der Parameter sowie der Methoden .Apply() und .ExecSQL. Vielleicht hilft's ja ein wenig....
Das kleine Demo-Programm zu UpdateSQL hilft nun auch bei mir für klare Sicht


Besten Dank!
Als neues Forumsmitglied bin ich erstaunt über die sehr gute "Qualität" quer durch's Forum.

mfg Isenegger Bernhard
  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 18:43 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