Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Daten löschen (https://www.delphipraxis.net/115214-daten-loeschen.html)

benny 8. Jun 2008 10:48


Daten löschen
 
Daten einer Tabelle (ParadoxTabelle) werden in einem DBGrig aufgelistet. Zwischendurch sollen neue Daten importiert und vor dem Import sollen die alten gelöscht werden. Das Löschen der Daten funktioniert nicht, die Fehlermeldung ist "Datei im Gebrauch, Löschen nicht möglich". Wie kann ich das Problem am besten lösen ?

benny

mkinzler 8. Jun 2008 10:50

Re: Daten löschen
 
Delphi-Quellcode:
TTable.EmptyTable;

benny 8. Jun 2008 11:01

Re: Daten löschen
 
die Löschprozedur lautet:
procedure Tform1.table2leeren;
begin
With table2 do begin
if active=true then close;
close;
Exclusive := TRUE;
Active := TRUE;
EmptyTable;
Active := False;
Exclusive :=False;
open;
end;
end;

bei "EmptyTable" erfolgt der Programmausstieg.

haentschman 8. Jun 2008 11:16

Re: Daten löschen
 
Hallo...

Delphi-Quellcode:
procedure Tform1.table2leeren;
begin
With table2 do begin
if active=true then close;
close;
Exclusive := TRUE;
Active := TRUE;
EmptyTable;
Active := False;
Exclusive :=False;
open;
end;
end;
es reicht...
Delphi-Quellcode:
procedure TForm1.tabelle2leeren;
begin
  Table2.EmptyTable;
end;
Zitat:

"Datei im Gebrauch, Löschen nicht möglich".
...kommt vom Exclusive := TRUE;

benny 8. Jun 2008 11:37

Re: Daten löschen
 
jetzt schreibt er mir: "Tabelle nicht exclusiv Modus geöffnet", ich weiß wirklich nicht weiter ???

mkinzler 8. Jun 2008 11:39

Re: Daten löschen
 
Verwende SQL

Btw. Nimm lieber ein anderes DBMS, denn die BDE ist veraltet und wird seit Jahren nicht mehr weiterentwickelt

haentschman 8. Jun 2008 11:47

Re: Daten löschen
 
:gruebel: BDE ist schon eine kleine Weile her...

die Tabelle sollte schon vor dem Leeren geöffnet sein...
probiere mal...
Delphi-Quellcode:
procedure TForm1.tabelle2leeren;
begin
  Table2.Active:= True; // bzw. vorher (On Create / OnShow) einfach aktiv machen.
  Table2.EmptyTable;
end;
mit welchen Datenzugriffskomponenten arbeitest du ?
greifst du mit mehreren Clients auf die Tabelle zu ?

Hansa 8. Jun 2008 11:56

Re: Daten löschen
 
Das Close ist zweideutig. Schreibe mal "Table2." überall hin und kommentiere die with-Zeile aus. Würde mich nicht wundern, wenn... :gruebel:

benny 8. Jun 2008 12:05

Re: Daten löschen
 
wie gesagt die Daten werden zur Laufzeit in eimen DBGrig aufgelistet und er reist die Daten, glaube ich, an sich heran, lösche ich ihn aus der Maske so funktioniert das Löschen einwandfrei.
In einem Monat stellen wir unsere Programme auf ADS-Datenbank um, bis dahin muss ich mich aber noch mit der BDE quälen !!

Apollonius 8. Jun 2008 12:27

Re: Daten löschen
 
@Hansa: Es ist eindeutig geregelt, dass das innere With vor dem äußeren kommt (falls es mehrere gibt) und erst ganz am Ende Self.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr.
Seite 1 von 2  1 2      

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