[ Bojan Kopanja @ 20.10.2006. 11:23 ] @
Da li neko zna kako pomocu ADOQuery-a da obrisem sve rekorde iz neke tabele koje imaju vrednost Null?

Kad napisem Query u Access-u "delete from TABELA where POLJE is NULL" to radi bez problema, medjutim kad odradim ovo:

Code:
with ADOQuery1 do
begin
  Close;
  SQL.Clear;
  SQL.Add('delete from TABELA');
  SQL.Add('where POLJE is NULL;');
  ExecSQL;
end;


sve prodje bez greske, ali mi rekordi koje sam hteo da obrisem ostaju u bazi kao da nista nisam ni uradio...

Zna li neko ima li neka caka po ovom pitanju kada se radi o ADO-u ili ja negde gresim ?
[ Milos D @ 20.10.2006. 16:13 ] @
Mozda fali commit?
[ Bojan Kopanja @ 20.10.2006. 23:56 ] @
Access ne podrzava transakcije, vec se sve trenutno izvrsava u samoj bazi, tj. na disku, tako da transakcije nisam ni koristio.
[ IgorMedo @ 23.10.2006. 17:13 ] @
probaj prvo da odradis select upit da dobijes te podatke pa ako dobijes neki izlaz ond imas problem. mozda t je najbolje da predjes na neku drugu bazu podataka ako nisi daleko odgurao sa programom.
Posto sam i sam imamo neka cudna iskustva sa sql upitima pod accesom
[ Bojan Kopanja @ 23.10.2006. 17:52 ] @
OK, hvala na sugestiji ali za sada nije moguca promena baze zbog krajnjeg/ih korisnika tako da ostajem pri Access-u. U najgorem slucaju odradicu brisanja iz same baze posto mi iz baze quert radi kako treba, a pokusacu i ovo nekako da resim...

U sustini mi radi i selektovanje svih rekorda pa onda da proverom "if ADOQuery.FieldValues['IME_POLJA'] = Null" gledam koji rekord treba gledati, ali je ovo naravno jezivo sporo resenje .
[ gajo2 @ 23.10.2006. 18:12 ] @
Jel mozda moguce da ti fali jedan space na kraju prvog reda?
Mislim, umesto
Code:
  SQL.Add('delete from TABELA');
  SQL.Add('where POLJE is NULL;');

da napises
Code:
  SQL.Add('delete from TABELA ');
  SQL.Add('where POLJE is NULL;');

Moguce da se komande appenduju, pa ispadne delete from TABELAwhere POLJE is NULL;
[ Bojan Kopanja @ 23.10.2006. 18:31 ] @
Ne appenduju se posto i sve ostale upite tako pisem i oni rade kako treba, a i program nije izbacio nikakvu gresku, a da je razumeo upit onako kako si ga ti napisao jos kako bi se bunio .
[ gajo2 @ 24.10.2006. 00:50 ] @
Sad sam probao onaj tvoj kod i kod mene radi, tj. brise bez problema. Mozda baza ima neka specijalna podesavanja...
[ Bojan Kopanja @ 24.10.2006. 11:25 ] @
E svasta ... Nema baza nikakva specijalna podesavanja nego je izgleda jednostavno opet Access umesao svoje "musicave" prste u pricu . Eto, sta da se radi, sve je dobro, a opet ne radi . Nema veze, videcu da predjem na nesto drugo i kazem zbogom Access-u sto pre .