Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADOQuery zu langsam oder DBGrid zu schnell (https://www.delphipraxis.net/111417-adoquery-zu-langsam-oder-dbgrid-zu-schnell.html)

Cosamia 3. Apr 2008 07:38

Datenbank: Access • Version: 2003 • Zugriff über: ADO

ADOQuery zu langsam oder DBGrid zu schnell
 
Hallo zusammen,

ich habe mal wieder einen seltsamen, für mich nicht erklärbaren, Effekt.

Ich habe ein DBGrid mit Checkboxen mit deren Hilfe einzelne Datensätze selektiert und hinter per Email versandt werden können.
Nach dem erfolgreichen Versand will ich den Booleaschen Wert für die Checkboxen in der DB zurücksetzen und das DBgrid ohne Auswahl anzeigen lassen. Jeztt habe ich aber das Problem das der Wert in der DB zwar umgesetzt wird, das Grid aber wohl mit der Visulierung schneller ist. Soll heisen, die Haken sind noch in den Checkboxen. :gruebel:

Wenn ich ein Delay von ca. 1 Sekunde zwischen dem Update der DB und der Visulalisierung setzte funktioniert es.
Ich finde dies aber nicht sonderlich "schick". Jemand eine Iddee wie man der Sache sonst Herr werden kann?


Zum neu Einlesen der Daten in das Grid nutze ich folgende Procedure:
Delphi-Quellcode:
procedure TMain.Gridrefresh(Tabelle,fieldn:string;clwidth:integer);
begin
adoquery1.active:=false;
adoquery1.sql.Clear;
adoquery1.sql.text := 'SELECT * FROM '+ Tabelle;
adoquery1.Open;
jvdbgrid2.Columns[0].FieldName := fieldn;
jvdbgrid2.Columns[0].Width := clwidth;
end;

shmia 3. Apr 2008 09:44

Re: ADOQuery zu langsam oder DBGrid zu schnell
 
Verwendest du mehr als eine ADOConnection ?
Oder verwendest du überhaupt kein ADOConnection-Objekt ?
In beiden Fällen gibt es mehrere Verbindungen zur Access-Datenbank.
Eine Änderung, die über eine Verbindung ausgeführt wird, ist über die andere Verbindung nur mit Verzögerung sichtbar.
(Access ist die Ursache dafür)

Bernhard Geyer 3. Apr 2008 09:49

Re: ADOQuery zu langsam oder DBGrid zu schnell
 
Zitat:

Zitat von shmia
Eine Änderung, die über eine Verbindung ausgeführt wird, ist über die andere Verbindung nur mit Verzögerung sichtbar.

Ist auch bei einer Verbindung der Fall. Lösung hier

Cosamia 3. Apr 2008 10:03

Re: ADOQuery zu langsam oder DBGrid zu schnell
 
danke für die Antworten.

Ich werde mir das gleich mal anschauen.

Cosamia 3. Apr 2008 12:34

Re: ADOQuery zu langsam oder DBGrid zu schnell
 
Ja, das war die Lösung. Danke


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