AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Daten aus DBComboBox werden nicht in DB geschrieben
Thema durchsuchen
Ansicht
Themen-Optionen

Daten aus DBComboBox werden nicht in DB geschrieben

Ein Thema von Ykcim · begonnen am 15. Mär 2017 · letzter Beitrag vom 17. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#1

Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 14:36
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Hallo Zusammen,

ich habe eine DBComboBox, in der die Daten aus einem Datensatz angezeigt werden. Ich möchte, dass der User einen Eintrag auswählen kann, oder einen anderen Wert reinschreibt. Das klappt auch soweit. Aber wenn ich dann den Datensatz speichern möchte, dann wird die Änderung nicht mit übernommen.

Delphi-Quellcode:
Combo_Oberfl.DataSource:=MySQL.DS_Position;
Combo_Oberfl.DataField:='oberflaeche';
Das habe ich bei allen DBComboBoxen. Bestehende Datensätze werden dort angezeigt, aber Änderungen werden nicht übernommen. Bei DBEdit-Felder funktioniert das so wunderbar, daher gehe ich davon aus, dass ich etwas falsch mache. Kann mir jemand einen Tip geben?

Vielen Dank.
Patrick
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#2

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 14:59
Mach doch mal ein kleines Beispiel - am besten mit einem In-Memory ClientDataSet, da ja nicht jeder deine DAC-Komponenten und schon gar nicht deine Datenbank hat.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:18
Das mit dem Beispiel muss ich mir gleich mal ansehen, wie ich das mache...

Ich habe erst einmal herausgefunden, dass wenn ich die Oberfläche in der ComboBox auswähle und in ein DBEdit schreibe, bevor ich es abspeicher, dann wird sie in die Datenbank geschrieben, aber ich der ComboBox beim Aufruf nicht angezeigt. Schreibe ich die Daten in die ComboBox (also nicht auswählen), werden die Daten auch gespeichert und auch in der ComboBox angezeigt...

Irgendwie sieht das komisch aus...

Wenn ich das Ganze ohne das DBEdit versuche, wird gar kein Wert übertragen. Ich habe fast den Eindruck, dass eine andere Information aus der ComboBox an die Query übertragen wird. Hat jemand mal ein einfaches Beispiel, wie eine ComboBox mit einer Query verheiratet. Ich mache das nicht via Drag&Drop über das Form, sondern erstelle die Datenbank-Komponenten erst zur Laufzeit und verbinde die auch erst zur Laufzeit mit den Edits/Combos (wie oben beschrieben...).

EIN BESPIEL MIT " In-Memory ClientDataSet" BEKOMME ICH LEIDER NICHT HIN - NOCH NIE MIT GEARBEITET...

Vielen Dank
Patrick
Patrick

Geändert von Ykcim (15. Mär 2017 um 15:32 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:40
Du könntest in dem Fall ja mal den kompletten Code zeigen, wie die Combobox erzeugt und verdrahtet wird.

Davon ab bei ADO (Unidac kenn ich nicht) ist das so, das man da gelegentlich auch mal ein Post-Befehl abschicken muss, damit die Änderungen in der DB gespeichert werden. Fehlt da sowas vielleicht?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#5

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:45
EIN BESPIEL MIT " In-Memory ClientDataSet" BEKOMME ICH LEIDER NICHT HIN - NOCH NIE MIT GEARBEITET...
Keine Panik! Ich habe da mal auf die Schnelle was zusammengeklickt. Das kannst du ja als Basis nehmen.
Angehängte Dateien
Dateityp: zip BeispielCDS.zip (2,4 KB, 6x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:47
Den Post-Befehl habe ich und der wird auch ausgeführt.
Was den Code angeht, die beiden Zeilen sind schon alles, wie ich die ComboBox verdrahte - die erstelle ichnämlich nicht zur Laufzeit, sondern nur die Query, Connetion etc.
Wie gesagt, die ganzen DBEdit-Felder klappen auch wunderbar, nur die DBComboFelder nicht. Ich nutze die ADVDBComboBoxen und ich habe gerade festgestellt, dass die bei den Items einen "DisplayValue" und einen StoredValue haben und nur der "StoredValue" in die Datenbank geschrieben wird. Damit versuche ich es jetzt mal weiter...
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:53
NETT VON DIR!!!

Leider bekomme ich eine Fehlermeldung beim Öffnen (siehe Anhang)...
Miniaturansicht angehängter Grafiken
fehler_projekt.jpg   fehler_projekt2.jpg  
Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#8

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 15:58
Leider bekomme ich eine Fehlermeldung beim Öffnen (siehe Anhang)...
Das hatte ich befürchtet, da ich das Beispiel mit Berlin erstellt hatte (habe gerade kein XE5 zur Hand).

Wenn du die Meldung übergehst, müsste trotzdem das Form korrekt sein. Lediglich die Daten werden fehlen. Wenn du dann das Kontextmenü des ClientDataSet anklickst und dort "Aus MyBase-Tabelle laden..." auswählst, kannst du die Datei country.xml aus den Delphi Beispielen unter Samples\Data laden. Damit sollte alles wieder im grünen Bereich sein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 16:03
das Gegenstück bei UniDAC wäre ein TVirtualDataSet
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Daten aus DBComboBox werden nicht in DB geschrieben

  Alt 15. Mär 2017, 16:21
Ok, ich habe es mit der country.xml ans Laufen bekommen. So, wie Du es dort gemacht hast, wollte ich es auch tun.
Das Problem scheint die TAdvDBComboBox zu sein. Sie hat halt die beiden Werte "DisplayValue" und "StoredValue". Der "DisplayValue" wird im ComboAuswahlMenü angezeigt und der "StoredValue" wird in die Datenbank geschrieben...

Wenn ich den "StoredValue" auch befülle, bekomme ich die Daten in die Datenbank geschrieben. In Deinem Test-Projekt wird der geschriebene Datenbank-Wert dann auch korrekt wieder in der ComboBox angezeigt, in meinem echten leider nicht...

Auch kann ich noch nicht in dem Test-Projekt einen Freitext abspeichern. Also einen nicht in den Items hinterlegten Wert kann ich zwar schreiben, er wird aber nicht gespeichert.

Ist das schwierig...
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:54 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