[ XGhost @ 22.10.2006. 21:24 ] @
Imam problem sa brisanjem duplih podataka, odnosno ako u bazi imam dva ista podatka (u svimpoljima) javlja mi gresku da kao can't multiple records. Koristim BDE i Interbase. |
[ XGhost @ 22.10.2006. 21:24 ] @
[ savkic @ 22.10.2006. 22:48 ] @
> Imam problem sa brisanjem duplih podataka, odnosno ako u bazi imam dva ista podatka (u svimpoljima)
> javlja mi gresku da kao can't multiple records. > Koristim BDE i Interbase. Koju tačno grešku dobiješ? Kako radiš brisanje? Šta se dešava kada brisanje probaš van tvog programa? [ XGhost @ 22.10.2006. 23:17 ] @
Dobijem poruku "Multiple records found, but only one was expected"
A pojavi se kad dam komandu npr..... Table1.delete; i desava se samo kad brisem iste podatke npr dva puta unesem isto ime i prezime u bazu Baza je Interbase a konekcija BDE. [ Miloš Baić @ 23.10.2006. 01:30 ] @
Pozdrav,
moguće da nisi bazu dobro isprojektovao. U principu, treba postaviti PRIMARY KEY na atribut ID_LICA, npr., a ostali PREZIME i IME da budu samo atributi. Tad ne bi trebalo biti problema prilikom dupliranja IMENA i PREZIMENA jer ih razlikuje primarni ključ, a i brisanje vršiš po tom ključu. [ XGhost @ 23.10.2006. 08:57 ] @
Tako nekako i radim medjutim zanima me na koji nacin mogu rjesiti problem bez uvodjenja kljuceva za svaki podatak
npr iste te "duple" podatke mogu normalno brisati u nekim alatima za uredjenje baza, koji su koliko sam mogao primjetiti takodjer radjeni u delphiju. [ savkic @ 23.10.2006. 09:25 ] @
> Dobijem poruku "Multiple records found, but only one was expected"
> A pojavi se kad dam komandu npr..... Table1.delete; > i desava se samo kad brisem iste podatke npr dva puta unesem isto ime i prezime u bazu > Baza je Interbase a konekcija BDE. Deluje mi da do greške dolazi kada posle brisanja komponenta pokuša da osveži prikaz recorda, pošalje upit koji treba da vrati jedan slog a dobije više. Dakle problem dolazi od TTable komponete. Evo nekoliko ideja za rešenje, da uvedeš prave primarne ključeve, da promeniš način brisanja pa umesto TTable koristiš TQuery i SQL DELETE komandu, ili da promeniš TTable za nekog od njegovih ekvivalenta, recimo iz IBO ili IBX komponenti. Gledaj i da napustiš BDE i radiš sa native komponentama, IBX, IBO, UIB... [ XGhost @ 23.10.2006. 10:02 ] @
Pokusacu nesto skontati, jel neko zna SQL upit za prikazivanje duplih podataka
dakle da mi prikaze na ekranu samo podatke koji imaju duplikat. [ savkic @ 23.10.2006. 10:32 ] @
> jel neko zna SQL upit za prikazivanje duplih podataka
> dakle da mi prikaze na ekranu samo podatke koji imaju duplikat. Evo primera, ti zameni ovo sa tvojom tabelom i poljima. /* Duplikati i broj ponavljanja vrednosti odredjenog polja */ SELECT GRAD_ID FROM PARTNERI GROUP BY GRAD_ID HAVING COUNT(*) > 1; /* Selekcija svih slogova kod kojih se vrednost nekog polja ponavlja i u drugim slogovima */ SELECT P1.* FROM PARTNERI P1 WHERE NOT SINGULAR( SELECT 1 FROM PARTNERI P2 WHERE P2.GRAD_ID = P1.GRAD_ID ) [ BRANA_ @ 05.01.2007. 00:10 ] @
imam glup problem koji me izludjuje kad god nesto orisem on direktno brise saa hard diska ne znam kako to da vratim u normalu!!!!!!!pomozite molim vas
[ savkic @ 05.01.2007. 01:09 ] @
> imam glup problem koji me izludjuje kad god nesto orisem on direktno brise saa hard diska ne znam kako to da vratim u normalu!!!!!!!pomozite molim vas
Hajde se za početak smiri, započni novi thread (ne repli na postojeći) i lepo objasni šta radiš, šta očekuješ da se desi (a šta se dešava) i koje greške dobijaš. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|