Problemi con UPDATE

lunedì 12 maggio 2008 - 11.55

172690 Profilo | Junior Member

Salve a tutti.
Ho un problemino con il comando UPDATE.
Senza mettervi il codice vero, vi metto una esmplificazione:

Tabella1 con
Campo1 ---->Chiave
Campo2 ---->Chiave
Campo3
Campo4
Campo5
Campo6 ----->Chiave
Campo7 ----->Chiave
Campo8
Campo9
Campo10
Campo11
Campo12

CODICE-SEMPLIFICATO

objCommand.CommandText = "UPDATE Tabella1 SET Campo3 = @Campo3, Campo4 = @Campo4, Campo5 = @Campo5, Campo6 = @Campo6, Campo7 = @Campo7, Campo8 = @Campo8, Campo9 = @Campo9, Campo10 = @Campo10, Campo11 = @Campo11, Campo12 = @Campo13 WHERE Campo1 = @Campo1 AND Campo2 = @Campo2"

objCommand.Parameters.AddWithValue("@Campo3", Campo3)
objCommand.Parameters.AddWithValue("@Campo4", Campo4)
objCommand.Parameters.AddWithValue("@Campo5", Campo5)
objCommand.Parameters.AddWithValue("@Campo6", Campo6)
objCommand.Parameters.AddWithValue("@Campo7", Campo7)
objCommand.Parameters.AddWithValue("@Campo8", Campo8)
objCommand.Parameters.AddWithValue("@Campo9", Campo9)
objCommand.Parameters.AddWithValue("@Campo10", Campo10)
objCommand.Parameters.AddWithValue("@Campo11", Campo11)
objCommand.Parameters.AddWithValue("@Campo12", Campo12)
objCommand.Parameters.AddWithValue("@Campo1", Campo1)
objCommand.Parameters.AddWithValue("@Campo2", Campo2)

objCommand.Open()
objCommand.ExecuteNonQuery()
ObjCommand.Close()
objCommand.Parameters.Clear()

....

Quando ad esempio, vado a modificare il campo4 (non appartenente all chiave)
mi viene segnalato il seguente errore:
"L'apporto modifiche non è riuscito perchè si è cercato di duplicare i valori nell'indice, nella chiave primaria o nella relazione. Modificare i dati nel campo o nei campi che contengono dati duplicati, rimuovere l'indice o ridefinire l'indice per consentire l'inserimento di voci duplicate, quindi ritentare."

Io non voglio inserire cose duplicate, ma modificare alcune cose in un record già presente nella tabella.
Pensavo fosse un problema di chiave e ho cambiato i campi che la costituiscono (infatti il campo4, ad esempio apparteneva alla chiave ma ora l'ho cambiata inserendoci il campo6 al suo posto)...
AIUTO!!!
VI PREGO!
GRAZIE!

Giada Profilo | Newbie

La clausola della WHERE E' INCOMPLETA: MANCANO GLI ALTRI CAMPI DI CUI E' FORMATA LA CHIAVE!
Ciao.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5