Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TQuery - Tabelle wird nicht geschlossen

  Alt 31. Jul 2004, 13:30
Zitat von mandumoal:
Hallo!
Ich arbeite mit einem TAdsQuery [local] und versuche krampfhaft die geöffnete Tabelle wieder so "freizugeben", dass ich sie mittels DeleteFile löschen kann.
aber er will einfach nicht gehen. Ich bekomme immer einen Fehler bei DeleteFile - Datei wird von einem anderen Programm benutzt...
Wie kann ich also dem Query beibringen, es soll gefälligst die Tabelle loslassen?
Du musst das nicht dem Query, sondern dem ADS beibringen, denn der cached die Tabellen noch einige Zeit:

Delphi-Quellcode:
// Einbinden ADS Low-Level
uses ace;

// Alle Tabellen auf jeden Fall schliessen
Ace.AdsCacheopenCursors(0);
AdsConnection.CloseCachedTables;
AdsConnection.IsConnected := false;
// Wieder auf den im Treiber definierten Standardwert setzen
Ace.AdsCacheopenCursors(25);
Das schliesst aber alle Tabellen durch das IsConnected := false. Es gibt alternativ noch die Möglichkeit über SQL:
Delphi-Quellcode:
SQL.Clear;
SQL.Add('drop table '+sTableName);
try
   ExecSQL;
except
end;
  Mit Zitat antworten Zitat