![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZEOS
Zquery.post funktioniert nicht nach DBCombobox.text
Hi,
ich habe ein Formular, welches DBComboboxen enthaelt. Im onChange will ich diese automatisch, je nach Ereignis aendern. Der Text wird gesetzt, aber dann wenn ich den Text in der DB speichern will mit ZQuery1.Post, wird es nicht in der DB gespeichert. Wenn ich ein Item aus der Combobox waehle, oder in die ComboBox schreibe, funktioniert es. Es funktioniert nur nicht, wenn ich den Text im Code setze.
Delphi-Quellcode:
procedure TForm1.DBComboBox1Change(Sender: TObject);
begin TDBComboBox.Text:='test'; end; procedure Tforms1.Button1_Click(Sender: TObject); begin ZQuery1.Post; end; Vielen Dank fuer Eure Hilfe! |
Re: Zquery.post funktioniert nicht nach DBCombobox.text
ist denn die ComboBox auch mit einem Datenfeld von ZQuery1 verknüpft ? Wenn ja und CachedUpdates = False ist kannst du dir das Post sparen.
Zitat:
:hi: Nachtrag: Ich habe es selbst noch nicht probiert. Versuche mal den Text als Item hinzuzufügen Items.Add('Text') und dann den ItemIndex auf das Item mit deinem neuen Text setzen. ItemIndex:= IndexOf('Text'). Normalerweise sollte der neue Text dann als Datensatz angehängt werden. |
Re: Zquery.post funktioniert nicht nach DBCombobox.text
Hi haentschman,
vielen Dank fuer Deine Antwort. Die ComboBox ist mit der ZQuery1 verknuepft, da es ja sonst nicht funkionieren wuerde das Item nach Auswaehlen in die DB zu speichern. Ich habe Deinen Vorschlag probiert. Es funktioniert leider auch nicht. Ich verstehe jedoch nicht, was der Unterschied ist, wenn ich etwas in der ComboBox von Hand eintrage oder es im Code setze. Wenn ich es von Hand eintrage wird es 'geposted'. :hi: |
Re: Zquery.post funktioniert nicht nach DBCombobox.text
wird da ein vorhandenes Item geändert oder ein Datensatz angehängt ?
|
Re: Zquery.post funktioniert nicht nach DBCombobox.text
Es wird ein Datensatz in einer Datenbanktabelle eingefuegt oder upgedated.
Beides funktioniert, wenn ich es aus der CB auswaehle oder etwas von Hand eintrage, aber nicht wenn ich's im Code mache. Ich kann sogar sehen, nachdem ich auf Speichern klicke und bevor die Form geschlossen wird, dass der alte Eintrag oder eben kein Eintrag (wenn keiner vorhanden war), wieder in der ComboBox angezeigt wird. Vielen Dank fuer Deine Muehe! |
Re: Zquery.post funktioniert nicht nach DBCombobox.text
Morgen :hi:
ich teste mir das mal bei Gelegenheit. PS: im OnChange den Text setzen halte ich für nicht gut. Eigentlich solltest du nichts anderes als den Text in der Combobox sehen. setze mal einen Breakpoint auf TDBComboBox.Text:='test';. Schaue dir an, wann onChange ausgelöst wird. Du wirst dich wundern wie oft. Erkläre mal warum du im OnCange den Text setzen willst. |
Re: Zquery.post funktioniert nicht nach DBCombobox.text
Hi :hi:
oh sorry, das war ein Fehler von mir. Im onChange einer anderen ComboBox, also ComboBox1 soll der Text in ComboBox2 geandert werden.
Delphi-Quellcode:
Es liegt an dem ZQuery.Post. Wenn ich den Text meiner Combobox vor dem "posten" auslese und mir als ShowMessage anzeigen lasse, wird mir der derzeitige Text, der in der ComboBox eingetragen ist, angezeigt.
procedure TForm1.DBComboBox1Change(Sender: TObject);
begin TDBComboBox2.Text:='test'; end; Nach dem "posten" enthaelt die ComboBox dann wieder den alten Text aus der Datenbank. Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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-2025 by Thomas Breitkreuz