AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ComboBox in DBGrid - Änderungen werden nicht übernommen?
Thema durchsuchen
Ansicht
Themen-Optionen

ComboBox in DBGrid - Änderungen werden nicht übernommen?

Ein Thema von baurat · begonnen am 7. Jun 2011 · letzter Beitrag vom 8. Jun 2011
Antwort Antwort
baurat

Registriert seit: 20. Jan 2007
34 Beiträge
 
#1

ComboBox in DBGrid - Änderungen werden nicht übernommen?

  Alt 7. Jun 2011, 21:39
Datenbank: MySQL • Version: 5.1 • Zugriff über: Zeos
Hallo zusammen,

ich stehe wohl gerade etwas auf dem Schlauch. Ich hab ein DBGrid, an dem hängt eine (komplexe, dh. über mehrere Tabellen verstreute) Query mit zugehöriger DataSource.
Im Grid erzeuge ich ohne Zauberei in einem berechneten Datenfeld über die PickList eine ComboBox, etwa mit den Werten "ja", "nein", "vielleicht" (werden aus einem anderen Feld aus zb. 0, 1 und 2 erzeugt - allerdings kein Lookup, da es keine so einfache Regel gibt. Die Feldwerte werden bei OnGetText berechnet).
Nach dem Compilieren sehe ich zwar sehr wohl die ComboBox und kann dort auch diese Werte anklicken, allerdings wird die Auswahl nicht übernommen.
Das Grid, die Query sowie das Datenfeld sind read only = false gesetzt.

Hat jemand einen Tipp für mich, was ich falsch mache?

Danke und schöne Grüße
Heiko
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: ComboBox in DBGrid - Änderungen werden nicht übernommen?

  Alt 8. Jun 2011, 08:36
Ich kenn weder die Zugriffskomponente noch das Verhalten der DB.
In Oracle ist es so, dass die Datenbank "on the fly" entscheidet, ob sie eine komplexe Abfrage überhaupt updaten kann. D.h. es wird geprüft, ob ausreichend PK Infos/ Einduetigkeit für ein Update der Kerntabelle vorliegt.

Einfache Klärung: Sind andere Felder editierbar?
Gruß, Jo
  Mit Zitat antworten Zitat
baurat

Registriert seit: 20. Jan 2007
34 Beiträge
 
#3

AW: ComboBox in DBGrid - Änderungen werden nicht übernommen?

  Alt 8. Jun 2011, 08:49
Zitat:
Einfache Klärung: Sind andere Felder editierbar?
Ähm.... nein, Euer Ehren! Mist, ist mir vor lauter PickList gar nicht aufgefallen.
Aber was mach ich denn nur?

Hintergrund: in der Query stehen z.B. Adressdaten (Anrede, Str, PLZ+Ort). Was ich über die ComboBox dann eigentlich nur brauche, ist eine Zusatzinformation ("will Extrainfos"), die der Nutzer anklickt und zu jedem Datensatz vorübergehend gespeichert wird und dann in einem QReport weiterverarbeitet wird.

Ideen?

Danke!
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: ComboBox in DBGrid - Änderungen werden nicht übernommen?

  Alt 8. Jun 2011, 10:15
1. Du machst die Query updatable. Kann Dir leider nicht sagen, was mySQL dazu braucht. Aber ohne Primary Key Zugriff geht’s sicher nicht. Ob die ZEOS Kompos dann der gleichen Meinung sind wie die DB weiß ich auch nicht.
Wenn Du etwas experiemtieren willst, fang mit einer Query auf die Kerntabelle an. Dann kannst Du solange die Komplexität erhöhen, bis es nicht mehr updatable ist. Group by Selects oder denormalisierte Ergebnisse sollten in jedem Fall vermieden werden.
2. Wir verwenden Komponenten, die es neben dem Standardzugriff erlauben, explizite SQL Anweisungen für Insert/Update/Delete anzugeben (directSQL). Das könnte Dir auch helfen, hängt aber wiederum von den Möglichkeiten von ZEOS ab.

Hier gibt es sicher mySQL und ZEOS Fachleute, die das genau wissen, ob man das in Deinem Fall auch machen kann.
Gruß, Jo
  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 12:46 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