[ 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.
[ 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š.