🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
3 messages
3 total messages Started by Chudzik Sat, 13 Sep 1997 00:00
Jak usunac rekordy
#94
Author: Chudzik
Date: Sat, 13 Sep 1997 00:00
14 lines
729 bytes
Witam.
Mam maly problem.
Jesli bazie danych wydam polecenie
usuniecia rekordow przy pomocy SQL
DELETE FROM MojaBaza, rekordy sa
jedynie zaznaczane jako usuniete.
Jak mozna usunac je calkowicie (z pliku),
aby nie zasmiecaly bazy.

Za pomoc z gory dziekuje,
Pozdrowienia,
Chudzik.
http://free.polbox.pl/t/tchudzik
Re: Jak usunac rekordy
#95
Author: pa... Pawel
Date: Sat, 13 Sep 1997 00:00
23 lines
962 bytes
Czesc!

In article <5vdu0j$7e4$1...@okapi.ict.pwr.wroc.pl>, "Chudzik" 
<tchu...@polbox.com> wrote:
>Jesli bazie danych wydam polecenie
>usuniecia rekordow przy pomocy SQL
>DELETE FROM MojaBaza, rekordy sa
>jedynie zaznaczane jako usuniete.
>Jak mozna usunac je calkowicie (z pliku),
>aby nie zasmiecaly bazy.

Musisz "spakowac" tabele. Sluzy do tego funkcja api BDE dbiPackTable *dla 
tabel dBase-a) i dbiDoRestructure (dla tabel Paradox-a).

Pozdrowienia,
Pawel


Pawel Ksiezyk   pa...@bsc.com.pl
    Borland Support Center
    http://www.bsc.com.pl 
 BSC Polska    tel. 637-63-65
Re: Jak usunac rekordy
#96
Author: Patryk P. Nowak
Date: Thu, 18 Sep 1997 10:33
69 lines
2728 bytes
Chudzik wrote:
> 
> Witam.
> Mam maly problem.
> Jesli bazie danych wydam polecenie
> usuniecia rekordow przy pomocy SQL
> DELETE FROM MojaBaza, rekordy sa
> jedynie zaznaczane jako usuniete.
> Jak mozna usunac je calkowicie (z pliku),
> aby nie zasmiecaly bazy.
> Chudzik.

	Ja skorzystalem z przykladu na pakowanie tabel i nieco go 
przerobilem, teraz wyglada tak:

function PackTable(TableToPack: TTable): boolean;
var
    crtd             : CRTblDesc;
    db               : TDataBase;
    oldconnected     : boolean;
    oldactive        : boolean;
    oldexclusive     : boolean;
    packresult       : DBIResult;
begin
    try
        Result := true;
        with TableToPack do
        begin
          {jeśli Active = false to Database = nil!!!}
          oldactive := Active;
          oldexclusive := Exclusive;
          db := Database;
          oldconnected := db.Connected;
          Active := true;
          {ale do pakowania musi być false}
          Active := false;
          Exclusive := true;
          db.Connected := true;
          FillChar(crtd,SizeOf(CRTblDesc),0);
          StrPCopy(crtd.szTBlName,TableName);
          crtd.bPack := True;
          packresult := DbiDoRestructure(db.Handle,1,@crtd, nil, nil,
nil, false);
          if  packresult <> DBIERR_NONE
            then
              Result := false;
          db.Connected := oldconnected; 
          Exclusive := oldexclusive;
          Active := oldactive; 
          Open;
        end;
    except
        on Exception do
          Result := false;
    end;
end;

	Pozdrawiam -

								P.

---------------------------------------------------------------------------
Patryk P. Nowak             Ph.D. student on Technical University of
Gdansk
"...You may say I'm a dreamer, but I'm not the only one..."
e-mail: patrykp@eti.pg.gda.pl        
http://www.ue.eti.pg.gda.pl/~patrykp/
Poglady wyglaszane przez autora nie zawsze sa zgodne z pogladami autora.
---------------------------------------------------------------------------
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads