Avatar billede henrik1975 Nybegynder
27. januar 2002 - 23:18 Der er 4 kommentarer og
1 løsning

Tømme paradox database

Jeg ønsker at kopiere indholdet fra table2 til table1 og derefter at slette indholdet i table2. Jeg anvender følgende kode, men får en fejl når table2 skal tømmes.

procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.BatchMove(Table2, batAppend);
Table2.Active := False;
Table2.EmptyTable;
Table2.Active := True;
end;

Kopieringen fungerer fint, det er "EmtyTable" der giver problemer. Begge tables vises i hver deres DBGrid i programmet.

Fejlen jeg får er "Table is busy". Men hvad skal jeg gøre udover at sætte Active til false?
Avatar billede stoney Nybegynder
27. januar 2002 - 23:23 #1
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.BatchMove(Table2, batAppend);
Table2.close;              <------------ prøv dette
Table2.Active := False;
Table2.EmptyTable;
Table2.Active := True;
end;

Stoney
Avatar billede henrik1975 Nybegynder
27. januar 2002 - 23:34 #2
Giver samme fejl med table2.close;
Avatar billede stoney Nybegynder
27. januar 2002 - 23:46 #3
prøv med
table2.Exclusive := false;
-----------------------------
Det kan også være delphi der låser din tabel. Prøv at lukke delphi
og kør dit program.
----------------------
Du kan også gøre dette (meget langsomt hvis din tabel er stor)

Table1.First;
  while not Table1.EOF do
    delete;
---------------------
eller gøre det i ren SQL

DELETE FROM "Data.db" [WHERE ... ]

Stoney
Avatar billede stoney Nybegynder
27. januar 2002 - 23:47 #4
UPS

Table1.First;                <---- table2 selvfølgelig
  while not Table1.EOF do
    delete;

Stoney
Avatar billede henrik1975 Nybegynder
28. januar 2002 - 00:28 #5
Lille rettelse:

Table2.First;
  while not Table2.EOF do
    Table2.delete;

Ellers virker det fint. Point til Stoney / Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester