Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Anzeige aktualisiert nicht nach ADOCommand (https://www.delphipraxis.net/129024-anzeige-aktualisiert-nicht-nach-adocommand.html)

topf5500 11. Feb 2009 10:33

Datenbank: MS Access • Zugriff über: ADO

Anzeige aktualisiert nicht nach ADOCommand
 
Hallo,

komme irgendwie nicht weiter,
nutze ein DBTreeList, um die Daten schneller selektieren zu können, möchte ich den Baum
nach dem Nested Sets Methode speichern ...

Habe via ADOCommand 3 Befehle nach einander ausgeführt :
Update ...
Update ...
Insert Into ...

jedoch werden die Daten nicht im DBTreeList angezeigt, werder nach Refesh, Update, ...
wenn ich das Programm beende und starte sind die Daten vorhanden.

Wie komme ich weiter ?

LG

Bernhard Geyer 11. Feb 2009 10:44

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Und wieder jemand der in das bescheuerte Cachingverhalten von Access seine Probleme hat. Irgendwo im Entwickler-Forum hat A. Kosch beschreiben wie man den Cache zum schreiben überredet.

nahpets 11. Feb 2009 11:19

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Hallo,
Zitat:

Zitat von Bernhard Geyer
Und wieder jemand der in das bescheuerte Cachingverhalten von Access seine Probleme hat. Irgendwo im Entwickler-Forum hat A. Kosch beschreiben wie man den Cache zum schreiben überredet.

schau mal bitte hier post999867.html für eine unelegante Lösung eines sehr ähnlichen Problemes, eventuell hilft es Dir ja auch weiter.

Thomas F 11. Feb 2009 11:23

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Zitat:

Zitat von topf5500
Hallo,

komme irgendwie nicht weiter,
nutze ein DBTreeList, um die Daten schneller selektieren zu können, möchte ich den Baum
nach dem Nested Sets Methode speichern ...

Habe via ADOCommand 3 Befehle nach einander ausgeführt :
Update ...
Update ...
Insert Into ...

jedoch werden die Daten nicht im DBTreeList angezeigt, werder nach Refesh, Update, ...
wenn ich das Programm beende und starte sind die Daten vorhanden.

Wie komme ich weiter ?

LG

Die Daten werden nur aktuallisiert, wenn du die Verbindung schliesst und wieder öffnest.

topf5500 11. Feb 2009 12:16

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Danke !

Access ist wohl nicht so die Lösung, werde auf eine andere DB umsteigen ...

Thomas F 11. Feb 2009 12:26

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Zitat:

Zitat von topf5500
Danke !

Access ist wohl nicht so die Lösung, werde auf eine andere DB umsteigen ...

Ich hab auch ne Access-Datenbank mit einer DBGrid und füge dann die Datensätze direkt in die Tabelle ein, nicht mit SQL
Die Daten werden sofort angezeigt und in die Datenbank übernommen.

Delphi-Quellcode:
DBGrid1.Fields[0].AsString:= 'TEST1';
DBGrid1.Fields[1].AsString:= 'TEST2';

topf5500 11. Feb 2009 12:37

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Hallo Thomas,

ja direktes einfügen ist auch nicht das Problem,
aber um den Tree mittels Nested Set Methode einzufügen,
muß ich die Felder "Links" und "Rechts" mehrer Datensätze ändern.
Und das geht mittel SQL : Update ... Set ... Where ... sehr schnell und elegant.

Mandi Nice 7. Dez 2009 09:14

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Hallöchen

Zuerst mal danke für die vielen Antworten.

Ich versuche nun den Cache zu aktualisieren:

------------------------------
uses JRO_TLB, ADOInt, ADODB_TLB;

procedure TForm1.Button1Click(Sender: TObject);
var aJet : IJetEngine;
aConn : _Connection;

begin
aJet := CoJetEngine.Create;
aConn := ADODB_TLB._Connection(ADOTable1.Connection.Connect ionObject);
aJet.RefreshCache(ADODB_TLB._Connection(aConn));
end;

------------------------------------

Bekommen aber immer eine Schutzverletzung in dieser Zeile :

aConn := ADODB_TLB._Connection(ADOTable1.Connection.Connect ionObject);

ADOTable1 ist mit dem DBGrid verbunden. Es werden Daten angezeigt also ist die Verbindung geöffnet.


Verwende ich das falsche ConnectionObject ?
Woher bekomme ich das "Richtige" ?

Danke für Eure Hilfe.

hmg
Mandi

hoika 7. Dez 2009 13:45

Re: Anzeige aktualisiert nicht nach ADOCommand
 
Hallo,

wozu ist der type cast da ?

Delphi-Quellcode:
ADODB_TLB._Connection();
Ausserdem würde ich mal statt

Delphi-Quellcode:
CoJetEngine.Create;
Delphi-Quellcode:
CreateObject('JRO.JetEngine')
benutzen.

Siehe auch:
1


Heiko


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