Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBEdit schreibgeschützt? (https://www.delphipraxis.net/188829-dbedit-schreibgeschuetzt.html)

baumina 11. Apr 2016 16:33

AW: DBEdit schreibgeschützt?
 
Woher soll denn das Dataset erahnen welche Tabellen wie upzudaten sind, wenn du einen komplexen select hast?

AlexII 11. Apr 2016 17:36

AW: DBEdit schreibgeschützt?
 
Und wie üblich ist es machen?

p80286 11. Apr 2016 18:30

AW: DBEdit schreibgeschützt?
 
Zitat:

Zitat von AlexII (Beitrag 1335305)
Und wie üblich ist es machen?

Delphi-Quellcode:
irgendwas.sql.text:='update mytable set myfield=wert where myid=id';
irgendwas.sql.exec; {differiert je nach komponente}
Laß die Finger von den DB.. Componenten, da weißt Du wo Du bist.

Gruß
K-H

AlexII 11. Apr 2016 19:02

AW: DBEdit schreibgeschützt?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Sherlock (Beitrag 1335294)
Dann gibt es noch das Delphi-Referenz durchsuchenTDataSet.Edit...

Sherlock

Hm... einfach nur Edit hilft da auch nicht, siehe Anhang...

nahpets 11. Apr 2016 20:26

AW: DBEdit schreibgeschützt?
 
Datenmengen über mehrere Tabellen sind normalerweise schreibgeschützt, da in der Ergebnismenge (also im DataSet) jegliche Information fehlt, welcher Wert aus welcher Tabelle stammt (es steht nur das Ergebnis der Abfrage zur Verfügung). Und damit hat das DataSet keine Chance bei 'ner Wertänderung diese an die "richtige" Stelle zu schreiben.

Wenn Du an dem Ergebnis Änderungen vornehmen willst, bleibt Dir nichts anderes übrig, als für die änderbaren Werte entsprechende Edits zu nutzen und die Änderungen dann per Update (wie von p80286 beschrieben) in die Datenbank zu schreiben. Damit das problemlos funktionieren kann, musst Du aber auch für alle Werte die entsprechenden Datenbankschlüssel mit selektieren. Sind in der Abfrage Summierungen, Gruppierungen ... enthalten, wird das aber auch scheitern.

Zeig' uns mal bitte das Statement, eventuell hat dann ja jemand 'ne Idee, wie Du damit, mit erträglichem, Aufwand umgehen kannst.

Ohne das Statement zu kennen, ist das leider ein bisserl "Stochern im Dunklen".

Die Ergebnismenge kannst Du in 'nem DBGrid mit 'nem Navigator anzeigen. Im AfterScroll-Ereignis des DataSets könntest Du dann die änderbaren Einzelwerte in Edits übertragen.
Änderungen gehen aber nur per Update und werden im DBGrid nicht sichtbar, bis die Abfrage erneut ausgeführt wird.

AlexII 11. Apr 2016 20:47

AW: DBEdit schreibgeschützt?
 
Ah... jah... jetzt begreife ich so langsam die Logik die dahinter steckt, danke Dir! Ich tüftle mal ein bisschen weiter... das hilft mir weiter. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.
Seite 2 von 2     12   

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