Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL delete List out of bounds

[es] :: Pascal / Delphi / Kylix :: SQL delete List out of bounds

[ Pregleda: 1908 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

medixsa

Član broj: 155471
Poruke: 184
77.238.200.*



+2 Profil

icon SQL delete List out of bounds02.09.2008. u 22:03 - pre 190 meseci
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]
 
Odgovor na temu

schild
Dejan Šild
TopCode Software
Subotica

Član broj: 59888
Poruke: 138
77.46.231.*

Sajt: www.topcode.rs


+2 Profil

icon Re: SQL delete List out of bounds03.09.2008. u 06:14 - pre 190 meseci
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.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: SQL delete List out of bounds03.09.2008. u 12:33 - pre 190 meseci
> 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.

 
Odgovor na temu

medixsa

Član broj: 155471
Poruke: 184
77.238.203.*



+2 Profil

icon Re: SQL delete List out of bounds03.09.2008. u 18:09 - pre 190 meseci
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
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: SQL delete List out of bounds

[ Pregleda: 1908 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.