Actualizați numărul de tadotabile

Actualizare TADOTable

Bine ai venit!
Ajutor vă rugăm să înțelegeți, eu folosesc componenta TADOTable, baza *. Mdb (MS Access). Programul meu face modificări în această bază de date utilizând interogări SQL. Pentru a afișa conținutul unui tabel, folosesc DBGrid. Problema este următoarea: după adăugarea (ștergerea) unei linii noi, trebuie să actualez DBGrid, pentru că nu am găsit nimic mai deștept decât să fac:






ADOTable.Active: = False;
ADOTable.Active: = Adevărat;
Cu toate acestea, această metodă funcționează numai după 4 secunde de la executarea interogării SQL. Un exemplu similar pe care l-am văzut pe Internet - ei folosesc un timer care începe după
ADOQuery.ExecSQL;
și după 5 secunde
ADOTable.Active: = False;
ADOTable.Active: = Adevărat;
Timer1.Enabled: = False;
Nu scap de această metodă, poate cineva să spună cum să actualizeze corect și rapid ADOTable și DBGrid.
Mulțumesc.


> totuși, această metodă funcționează numai după trecerea a 4
> secunde de la executarea interogării SQL

Se întâmplă imediat, este doar că aveți o solicitare de 4 secunde. este executată sau datele sunt returnate atât de multe încât sunt de 4 secunde. pe client sunt transferate.

nu există alt mod de a redescoperi datele

> [0] Alex870 # xA0; (28/09/06 15:40)
Și ce nu se potrivește cu TADOTable.Insert, TADOTable.Edit și TADotable.Delete?

> Și din cauza caching-ului asemenea prostii nu poate fi?
este. deoarece aici 100% ignorând componenta TADOConnection (linie dreaptă de la seturile de date sunt înregistrate.), precum și în acest caz, fiecare are propriul konekt-> com obekt-> cache-ul său este de întârziere naturală în timp ce acestea nu sunt sincronizate. # xA0;







> poate cineva să spună cum să actualizați în mod corect și rapid ADOTable
corect ADOTabil să nu se actualizeze, ci să coboare toaleta. dar utilizați și actualizați ADODataSet normal.

Mulțumesc tuturor!

> Se întâmplă imediat, doar tu sau 4 secunde. este mulțumit,
> # xA0 sau datele sunt returnate la maximum 4 secunde. per client
> sunt transmise.

Nu, interogarea rulează rapid, sunt executate de mare, dar pentru a actualiza (sau pentru a schimba starea activă) este necesar să nu faceți nimic cu ADOTable timp de 4 secunde. Dar, din moment ce experții spun că nu vor ieși nimic, voi alege un alt partener.


> Există și nu una

Ei bine, cel puțin unul spune-mi, și este interesant, și dacă funcționează, va fi bine, și apoi o mulțime de cod trebuie să fie rescris.


> MsGuns

Nu mă îndoiesc de competența ta, bine, spune-mi, interesantă.

De exemplu. Metodă necesară.


> dar pentru a actualiza (sau pentru a schimba starea activă) este necesar
> 4 sec nu are nimic de-a face cu ADOTable.

încă nu v-ați exprimat. ce se va întâmpla dacă vă redescoperiți amploarea după 2 secunde după actualizare?

De ce am nevoie de ADOTable (mai ales pentru Acccess) și, în același timp, folosind cererile simultan sau cum nu pot să înțeleg. Dar eu pot condamna și condamna.


> încă nu v-ați exprimat. ce se va întâmpla dacă vă redescoperiți amprenta
> 2 secunde după actualizare?

Apoi nu se întâmplă nimic, adică DBGrid nu este actualizat, dar m-am întrebat: Toli DBGrid actualizat, dar devine date vechi sau omise în acest moment ceva nu se redeschide din tabel, pentru că nu ajung la eksepshena operațiune activă: = false, iar dacă aceasta nu devine falsă de kakoy- motivul, și Active: = true eroare nu se va, astfel încât există posibilitatea ca înainte de 4 secunde de ceva nu se schimba starea unui activ, cu toate că aceasta este doar o speculație.

În acest caz și în rețea va fi necesar ca cererile necesare să fie executate.

O combinație de
ADOTable.Active: = False;
ADOTable.Active: = Adevărat;
atribuiți butonului "Actualizare" - aceasta este necesară numai dacă doriți să vedeți modificările efectuate de alți utilizatori.

Memorie: 0,75 MB
Timp: 0,096 sec







Articole similare

Trimiteți-le prietenilor: