Query1->SQL... geht nicht richtig
-
black-lord-of-doom schrieb:
nur nachdem ich die werte in dem mit datenbank B verknüpftem feld geändert hab aslo (z.b. die artikelnummer) des gekauften artikels kann ich dann die anzahl der artikel nicht merh mit der TrackBar ändern
weil der den wert nicht mehr annimmt:/Ich kann nicht behaupten, dass ich Deinen Ausführungen folgen kann. Zumindest kann ich aber nicht sehen,
an welcher Stelle Du die Daten neu einlesen lässt. Das passiert ja normalerweise nicht automatisch.
Oder hast Du da irgendwas in der Refresh()-Methode stehen?Gruß,
Alexander
-
am ende des quellcodes von der trackbar ist nen Refresh() drin und des andere ändert ja direkt also des mit der dblookupcombobox des ist ja auch garnet des problem des geht ja soweit eben nur der quelltext von der trackbar macht probleme das der net mehr geht wenn ich irgend was anderes geändert hatte:/
ach so ja Tmechs ist die datenbank A
-
black-lord-of-doom schrieb:
am ende des quellcodes von der trackbar ist nen Refresh() drin
Das war mir nicht entgangen:
Alexander Kempf schrieb:
Oder hast Du da irgendwas in der Refresh()-Methode stehen?
Da ich aber nicht erkennen kann, was dieses Refresh() macht, nehme ich mal an, dass es sich um das "ganz normale"
Refresh() von TComponent (oder etwas derartigem) handelt. Und das wird wohl kaum ausreichen, um die Daten wieder
zu aktualisieren.black-lord-of-doom schrieb:
des ist ja auch garnet des problem
Wenn Du das Problem schon kennst, dann kann ja die Lösung gar nicht so schwer sein

Wäre ganz schön, wenn Du ab und zu mal 'nen Punkt machen könntest (vielleicht sogar das ein oder andere
Komma) - nur so, um die Lesbarkeit zu erhöhen - sonstkannmannbaldgarnichtsmehrerkennen.
Gruß,
Alexander
-
ok werde mich bemühen.
ne verwende die ganz normale standart Refresh()
und bis auf den besagten quellcode hab ich auch keinen drin möchte des einfach erst mal zum laufen bringen.
hab nochmal zum verdeutlichen nen bild gemacht;)http://www.8ung.at/black-lord-of-doom/erklaerung.JPG
hoffe es wird nun klarer.
-
black-lord-of-doom schrieb:
ok werde mich bemühen.
Lobenswert.
Also, ich versuche mal zusammenzufassen, was ich bisher glaube verstanden zu haben.
Man wählt mit der Kombobox in der Mitte des Formulars irgendwas aus. Dann kann man mit
der Trackbar den Wert RS (was immer das auch sein mag) ändern. Diese Änderungen werden
im OnChange-Ereignis per SQL-UPDATE in die Datenbank geschrieben.Dein Problem scheint zu sein, dass der Wert von RS in dem oberen Grid nicht aktualisiert
wird. Oder liege ich da falsch? Oder gibt es tatsächlich irgendwelche Fehlermeldungen -
dazu hast Du Dich ja bisher leider ausgeschwiegen?Hast Du mal direkt in die Datenbank-Tabelle geschaut, ob der korrekte Wert auch tat-
sächlich eingetragen wurde?Beim OnChange-Ereignis kann es doch auch sicherlich passieren, dass in recht kurzer
Zeit eine ganze Menge Statements an die Datenbank geschickt werden. Könnte es da
vielleicht Probleme geben? Dann könnte eine verzögerte Aktualisierung das Problem
u.U. etwas lindern.Nebenbei: Das, was Du als Datenbank bezeichnest, würde ich eher als Tabelle bezeichnen.
Oder hast Du tatsächlich zwei Datenbanken?Gruß,
Alexander
-
ja ok. hast recht. handelt sich da um tabellen;)
zu meinenn fehlern:
also wenn ich mit der trackbar den wert änder geht das problemlos.
auser! wenn ich zuvor die kombobox verwendet hab.
wieso auch immer???und ja wegen der erheblichen datenmenden lass ich alles erstmal in den cach laden. also mit dem chachedupdate=true und so.
ja der ändert es in der datenbank selbst auch ab also wenn ich über sqladmin gug.
aber auch nur wenn ich zuvor net die combobox benutz hatte.
Fehlermeldungen an sich gibt es nicht er ändert die werte eben nur nicht mehr ab.
-
black-lord-of-doom schrieb:
also wenn ich mit der trackbar den wert änder geht das problemlos.
auser! wenn ich zuvor die kombobox verwendet hab.
wieso auch immer???Hast Du irgendwas für irgendein Ereignis der Combobox definiert?
black-lord-of-doom schrieb:
und ja wegen der erheblichen datenmenden lass ich alles erstmal in den cach laden. also mit dem chachedupdate=true und so.
Klingt für mich wie "planloses Rumprobieren". Lass doch mal alle "Optimierungen" weg und schau, ob es dann
funktioniert. Danach kannst Du immer noch versuchen zu optimieren - wenn nötig.black-lord-of-doom schrieb:
Fehlermeldungen an sich gibt es nicht er ändert die werte eben nur nicht mehr ab.
Aha.
Leider habe ich noch nie CachedUpdates verwendet, aber der BCB-Hilfe nach zu urteilen, wird damit ja die Aktualisierung
verzögert, was ja durchaus Probleme wie von Dir geschildert verursachen könnte.Gruß,
Alexander
-
nein in meiner combobox ist nix an quelltext drin und verstellt hatte ich auch nur das was man zu verknüpfung der felder brauch.
wenn ich des ohne cach mache bringt der ne meldung raus der akuelle datensatz kann noch nicht freigegeben werden da er noch von einem anderen benutzer benutzt wird oder sowas:/
-
also hab noch bischen rumprobiert und denk ich habs nun raus
Tmechs->Edit(); Tmechs->FieldByName("RS")->Value = mecheditor->RS->Position; Tmechs->Post();ist nun zwar ohne sqlanweisung aber es geht;)
trotzdem danke für die hilfe
-
black-lord-of-doom schrieb:
wenn ich des ohne cach mache bringt der ne meldung raus der akuelle datensatz kann noch nicht freigegeben werden da er noch von einem anderen benutzer benutzt wird oder sowas:/
Schon beim ersten Aktualisierungsversuch? Vielleicht hast Du vergessen, die Transaktion zu beenden?
Gruß,
Alexander
-
m
wie beende ich die denn eigenlich. nur schonmal für zukünftige probleme;)
-
Also TDatabase hat die Methode Commit(), die das machen sollte.
Oft wird das Commit aber auch automatisch ausgeführt.Gruß,
Alexander