| Autor |
Nachricht |
csigg
        
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
kann mir jemand von euch zufällig sagen wie ich die Ansicht des Planners aktualisieren kann?? Hab in den Demos nix passendes gefunden.
|

|
|
Hansi@OMG
       
Beiträge: 304 Dabei seit: 14.01.2003 Wohnort: Fahrenzhausen
Vista Delphi 2006 Prof., Lazarus
|
Ich weis nicht, welcher dieser beiden Befehle greift, probiers mal aus:
oder
Moderiert von matze: Delphi-Tags hinzugefügt.
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
Es geht mit keinem wirklich, zumindest nicht so wie ich es gern hätte.
|

|
|
Hansi@OMG
       
Beiträge: 304 Dabei seit: 14.01.2003 Wohnort: Fahrenzhausen
Vista Delphi 2006 Prof., Lazarus
|
Wie hättest du es denn gerne?
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
ja, einfach das es geht halt *g*
Ich muss ahlt die Ansicht vom TBPlanner aktualisieren, das er mir alle änderungen die er aus der Datenbank liest anzeigt.
|

|
|
Hansi@OMG
       
Beiträge: 304 Dabei seit: 14.01.2003 Wohnort: Fahrenzhausen
Vista Delphi 2006 Prof., Lazarus
|
Wenn ich mich recht entsinne, musst du den Befehl dann aber erst an die TTable oder TQuery oder was auch sonst schicken. Ich glaube, dass ging mit .Update; bin mir aber nicht mehr sicher.
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
also erst an TTable und dann TPlanner??
|

|
|
Hansi@OMG
       
Beiträge: 304 Dabei seit: 14.01.2003 Wohnort: Fahrenzhausen
Vista Delphi 2006 Prof., Lazarus
|
Genau so sollte es laufen
_________________ Who doesn't know the Micrsoft developer "Mahatma Fatal Error"?
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
also ich hab das jetzt nochmal ausprobiert, aber das ging so nicht.
Die Ansicht, also der DBplanner aktualisiert sich dabei nicht, kann mir jemand weiterhelfen??
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
ich Versuchs jetzt einfach nochmal, vielleicht weiss ja zufällig jemand bescheid. Problem:
Mein Programm(mit dem TMS Planner) wird auf mehreren Rechnern(clients) installiert.
Die Daten des Planners werden auf einem zentralen Datenbank auf einem Server abgelegt. Allerdings sollten sich bei jeder Änderung in der DB alle Clients aktualisieren.
Das ganze hab ich mithilfe eines Triggers gelöst, der ein Event auslöst. Das Event kommt auch bei jedem Client an, allerdings muss ich jetzt noch irgendwie meinen Planner aktualisieren.
|

|
|
CenBells
       
Beiträge: 1529 Dabei seit: 02.07.2002 Wohnort: 24113 Primzahl
Win XP, Debian 3.1 D7 Pro
|
hi,
du musst noch irgendwie mitbekommen, welche Datensätze sich geändert haben.
Die erste frage, kommen die Änderungen in dem TTable objekt an? Und werden dort die richtigen Daten aktualisiert?
Hast du mal ein Hardcore TTable.close; TTable.Open; beim erhalt eines events probiert?
Gruß
Ken
_________________ Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
Die Daten stehen in der Datenbank, das hah ich getestet.
Das mit dem DB close, hab ich auch getestet, funtioniert auch.
Aber ich denk ich hab dann ein Problem wenn 25 Rechner sich ständig neu anmelden, bei jeder änderung. ich mein es müsste doch einfach sowas geben wie "aktualisieren".
|

|
|
CenBells
       
Beiträge: 1529 Dabei seit: 02.07.2002 Wohnort: 24113 Primzahl
Win XP, Debian 3.1 D7 Pro
|
es gibt sicherlich etwas wie ein aktualisieren.
In den IBQuery komponenten gibt es sowas wie Query.refresh.
Ich weiß nicht, ob TTable einen ähnlichen Mechanismus besitzt. Dieser mechanismus lädt die daten einer Tabelle nach. Du kannst allerdings ein problem bekommen, wenn du Transaktionen verwendest. Vielleicht klappt es bei dir auch deshalb nur, wenn du DB.open und DB.close aufrufst. Normalerweise würde das schließen der Tabelle, neustarten der Transaction und öffnen der Tabelle reichen.
Bei 25 leuten im netzwerk zu arbeiten und TTable zu verwenden, ohne ein TA management anzuwenden, ist meiner meinung nach keine schöne lösung.
Denk auf jeden fall mal über transaktionen nach.
Gruß
Ken
_________________ Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
was versteht men denn unter TS management??
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
Also ich habs jetzt mit:
gemacht, und es funktioniert 
|

|
|
jasocul
        
Beiträge: 5832 Erhaltene Danke: 1 Dabei seit: 11.10.2002 Wohnort: hier
XP-Pro D2005 Prof, SharpDevelop 2.0, VC#Express
|
TAM: Grundlagenwissen Datenbanken. Frage deinen Ausbilder, geh googlen oder mache einen neuen Thread für die Frage auf.
Zu deinem Problem:
Dein Trigger teilt den Clients vermutlich nur mit, dass sich was geändert hat, aber nicht WAS sich geändert hat. Selbst wenn, würde das dein Problem nicht ändern.
Du musst, nachdem du die Inof bekommen hast, dein DataSet (in denem Fall TTable) aktualisieren. Ob es für TTable eine Refresh-Methode gibt weiß ich jetzt nicht. Ich benutze die Dinger nie. Ein Close und Open sorgt aber für Abhilfe. Das wird dann aber noch zu verschiedenen anderen Problemen führen (du verlierst den aktuellen Datensatz, fragst die Datenbank neu ab, bremst die Clients aus, der Server ist stärker belastet, ...). Dann sollte auch der Planner korrekt aktualisiert werden.
Ich rate dir dringend von dieser Methode ab. Dein Konzept ist falsch!
_________________ Lesen gefährdet die Dummheit.
|

|
|
jasocul
        
Beiträge: 5832 Erhaltene Danke: 1 Dabei seit: 11.10.2002 Wohnort: hier
XP-Pro D2005 Prof, SharpDevelop 2.0, VC#Express
|
csigg hat folgendes geschrieben: | Also ich habs jetzt mit:
gemacht, und es funktioniert  |
Ist der Planner ein OffLine-Tool (sorry, ich kenne das Ding nicht)?
Und Selbst wenn, ist das da oben Blödsinn.
csigg, weißt du überhaupt, was du da machst? Einfach nur Code reinhacken und hoffen, dass irgendwas sinnvolles dabei rauskommt, hat mit programmieren nichts zu tun.
Das mag jetzt hart klingen, aber ich sehe das nunmal so.
Wenn TReservierung geschlossen war genügt das Open. War es schon geöffnet, genügt das Refresh. Und iirc macht ein open implizit ein close vorab.
_________________ Lesen gefährdet die Dummheit.
|

|
|
csigg
        
(Threadstarter)
Beiträge: 706 Dabei seit: 23.02.2005 Wohnort: Leutkirch
WIn XP, Win NT, Win2000, Suse8.0 Delphi 5, Delphi 6
|
also das Close wird nicht benötigt, hab ich nachträglich wieder raus gemacht.
OffLineTool??
|

|
|
jasocul
        
Beiträge: 5832 Erhaltene Danke: 1 Dabei seit: 11.10.2002 Wohnort: hier
XP-Pro D2005 Prof, SharpDevelop 2.0, VC#Express
|
Wenn der Planner funktioniert, wenn du das Close noch drin hast, hat er keine aktive Verbindung mehr zur Datenbank, ist also OffLine.
Wenn er eine aktive Verbindung zur DB hat, ist er OnLine.
_________________ Lesen gefährdet die Dummheit.
|

|
|
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
Werbung ausblenden? Dann registriere Dich kostenlos.
Weitere Gründe für eine Registrierung.
|
|
|
|