Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Inhalt von Datensteuerungskomponenten aktualisieren (https://www.delphipraxis.net/65488-inhalt-von-datensteuerungskomponenten-aktualisieren.html)

MPirnstill 17. Mär 2006 08:41

Datenbank: MS-SQL-Server • Version: 2000 • Zugriff über: BDE

Inhalt von Datensteuerungskomponenten aktualisieren
 
Hi Leute!

Ich glaube ich habe mal wieder ein Brett vorm Kopp! :wall:

Ich habe bei einem Dialog aus Performance-gründen ein TTable gegen eine parametrisiert TQuery ausgetauscht.
Das schien auch soweit zu funktionieren bis ich dann mal den einen anderen Parameterwert gewählt hab (Query schließen, Parameter versorgen, Query neu öffnen) und voila ...
:cry: .. ich sehe noch die alten Daten in meinem Dialog.

Ich hab dann mal getestet und mit dem Debugger nachgesehen, die Query bringt mir die richtigen Daten. Nur werden in TDBEdit und Co. die alten Daten angezeigt.
Wenn ich versuche einen Refresh auf die Query zu machen, meckert er, daß die Tabelle keinen eindeutigen Index hat. Hat sie aber.

Kann mir einer von euch sagen, wie ich Delphi überzeuge mir die Daten, die die Query ja eindeutig enthält, auch anzuzeigen.

Vielen Dank im Voraus.

Gruß

Bernhard Geyer 17. Mär 2006 08:59

Re: Inhalt von Datensteuerungskomponenten aktualisieren
 
Geh lieber gleich hin und schmeiß die BDE weg und stell auf ADO(Express) um und schau mal was da passiert.
Ansonsten wäre (wie immer) Beispielcode bzw. Testprojekt sinnvoll.

mkinzler 17. Mär 2006 09:31

Re: Inhalt von Datensteuerungskomponenten aktualisieren
 
Wenn das mit Delphi 2 stimmt, ist der Vorschlag mit ADO schlecht da ADO m.W. erst später kam. Da aber die BDE bis zum Schuiß buggy war/ist, war sie im "jungen" Zustand sicher auch nicht besser. Poste mal den Code, vielleicht kann man dann mehr erkennen.

MPirnstill 17. Mär 2006 09:53

Re: Inhalt von Datensteuerungskomponenten aktualisieren
 
Hi!

Vielen Dank für deine schnelle Antwort.

Zitat:

Zitat von Bernhard Geyer
Geh lieber gleich hin und schmeiß die BDE weg und stell auf ADO(Express) um und schau mal was da passiert.

Ich verstehe ja, daß ich immer wieder zu hören bekomme, daß ich von der BDE weg soll, doch dies ist ein großes Projekt, welches ich lediglich an eine neue Prüfungsordnung anpasse und eine Umstellung wäre da nicht so einfach. Ich schwöre neue Projekte werde ich mit einer anderen Zugriffsmethode erstellen.

Zitat:

Zitat von Bernhard Geyer
Ansonsten wäre (wie immer) Beispielcode bzw. Testprojekt sinnvoll.

Aufgrund deiner Forderung nach einem Testprojekt habe ich eines erstellt und dabei den Fehler selbst erkannt.
Ich hatte einfach die Parameterversorgung bei beforeOpen eingebaut. Das funktioniert auch, wenn die Query geschlossen ist. Wenn die Query offen ist und ich OPEN aufrufe, geht das Prog nicht in die BeforeOpen-Routine. Ich hatte den Close bis dahin erst bei BeforeOpen gemacht. Jetzt schließe ich die Query bevor ich OPEN aufrufe. Dann funktionierte es. :thumb:

Wieso ich der Meinung war mit dem Debugger die richtigen Werte gesehen zu haben, kann ich mir nicht erklären. :gruebel:

Danke für den Schubs in die richtige Richtung. :cheers:

Bernhard Geyer 17. Mär 2006 09:58

Re: Inhalt von Datensteuerungskomponenten aktualisieren
 
Zitat:

Zitat von mkinzler
Wenn das mit Delphi 2 stimmt, ist der Vorschlag mit ADO schlecht da ADO m.W. erst später kam.

Glat übersehen :wall:

Zitat:

Zitat von MPirnstill
Ich verstehe ja, daß ich immer wieder zu hören bekomme, daß ich von der BDE weg soll, doch dies ist ein großes Projekt, welches ich lediglich an eine neue Prüfungsordnung anpasse und eine Umstellung wäre da nicht so einfach.

Wie lange wird denn das Programm noch im Betrieb sein? Willst Du solange warten bis evtl es ein neues BS gibt oder ein monatlicher MS-Patchdatei die BDE komplett lahm legt und du dann komplett im Regen stehst. Und dann komm nicht und sag das dich keiner gewarnt hätte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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