![]() |
AW: DBEdit schreibgeschützt?
Woher soll denn das Dataset erahnen welche Tabellen wie upzudaten sind, wenn du einen komplexen select hast?
|
AW: DBEdit schreibgeschützt?
Und wie üblich ist es machen?
|
AW: DBEdit schreibgeschützt?
Zitat:
Delphi-Quellcode:
Laß die Finger von den DB.. Componenten, da weißt Du wo Du bist.
irgendwas.sql.text:='update mytable set myfield=wert where myid=id';
irgendwas.sql.exec; {differiert je nach komponente} Gruß K-H |
AW: DBEdit schreibgeschützt?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
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. |
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. |
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