[ medixsa @ 02.09.2008. 22:03 ] @
| Pozdrav !!!
Delphi 7
FireBird 2.1 itd UIB commponents
moj kod
Code: with frmProdaja.tblProdaja do
begin
First;
while not Eof do
begin
Delete;
end;
Next;
dobijem gresku
List index out of bounds(-1)
probao sam i sa SQL ali ne ide
Code: tblProdaja.Close;
tblProdaja.SQLSelect.Clear;
tblProdaja.SQLSelect.Add('DELETE * FROM Prodaja');
tblProdaja.Open;
ne ide
Hvala na odgovoru
Edit: Dodati code tagovi
[Ovu poruku je menjao chachka dana 02.09.2008. u 23:36 GMT+1] |
[ schild @ 03.09.2008. 06:14 ] @
Mozda ti je onaj "Next" visak? Probaj bez njega.
Btw, ne koristim bas UIB ali mi svakako ne ide da u tblProdaja.SQLSelect dodajes 'DELETE * FROM Prodaja'... To se radi preko neke Query komponente, a ne kroz dataset.
[ savkic @ 03.09.2008. 12:33 ] @
> dobijem gresku
> List index out of bounds(-1)
Kao što je Dejan već rekao, greška je u Next, sa njime preskačeš slogove jer se posle brisanja pokazivač pozicionira na naredni slog a posle Next se on preskače.
> probao sam i sa SQL ali ne ide
> tblProdaja.SQLSelect.Add('DELETE * FROM Prodaja');
> tblProdaja.Open;
Verovatno zato što koristiš Open, ovaj kveri ne vraća rezultate zato treba da se koristi ExecSQL (ili već kakva je tačno sintaksa).
Postoji i jedan trik za brisanje koji adekvatan ako se radi o ogromnim tabelama bez zavisnih objekata (trigeri, procedure), naime dosta je brže dropovati tabelu i ponovo je napraviti nego brisati slogove iz nje.
[ medixsa @ 03.09.2008. 18:09 ] @
OK hvala svima na odgovorima rijesio sam problem ,tako sto sam postavio UIB Query komponnetu i sa SQl kodom i executeSQL procedurom obrisao sve slogove.
repl. Savkic ,Tabela nema zavisni objekata ,mislim da je dobra ideja , kako vi kazete da je efikasniji nacin itd..
Hvala
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.