Messaggio di errore...

lunedì 20 ottobre 2008 - 11.55

bolla111 Profilo | Senior Member

sto facendo un progetto in visual web developer.

ho bisogno di fare un update di una tabella ma mi viene visualizzato questo errore:
Violazione del vincolo PRIMARY KEY Impossibile inserire la chiave duplicata nell'oggetto.

TAID,TAIDIN e DAID formano la chiave primaria della tabella; TAID e TAIDIN sono anche chiave esterna di una tabella le quali chiavi primarie sono proprio TAID e TAIDIN.

queste sono le query che ho provato a fare ma il risultato è sempre lo stesso:
"UPDATE DTLASSTASK SET DAID=@nDAID, DAQTA=@nDAQTA FROM DTLASSTASK WHERE TAID=@nTAID AND TAIDIN=@nTAIDIN"

"UPDATE DTLASSTASK SET DAID=@nDAID, DAQTA=@nDAQTA FROM DTLASSTASK INNER JOIN ESTASKASS ON DTLASSTASK.TAID=ESTASKASS.TAID WHERE ESTASKASS.TAID=@nTAID AND ESTASKASS.TAIDIN=@nTAIDIN"

sapreste aiutarmi?

alx_81 Profilo | Guru

Ciao

>Violazione del vincolo PRIMARY KEY Impossibile inserire la chiave
>duplicata nell'oggetto.
>sapreste aiutarmi?
C'è poco da dire, l'update che vai a fare va a cambiare la chiave e la trasforma in una già esistente..
Quindi devi stare attento a non inserire valori duplicati.
Di la chiave non la tocco mai con le update, ma se per te è necessario, devi capire come è possibile che l'applicazione crei la chiave duplicata ed eliminare il problema.

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

bolla111 Profilo | Senior Member

grazie della risposta...cmq ho risolto...nella clausla WHERE non ho menzionato il campo DAID che fa parte della chiave primaria...quindi trovava dei record con la stessa chiave primaria...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5