Ciao a tutti, eccomi di nuovo alla carica con queste stored procedure!

Dunque, dopo aver fatto un po' di pratica e non avere + problemi con semplici procedure di select, dichiarazione di una variabile e così via... mi sono detta cosa cambia da un update? pensavo nulla! ma non mi funziona!!!

CREATE PROCEDURE T_ClientiUpProc
(
@cod_TipoCliente int,
@Cognome varchar(50),
@Nome varchar(50),
@Data_nasc smalldatetime,
@Sesso varchar(50),
@CodFisc varchar(50),
@PartIva varchar(50),
@Nota varchar(8000),
@IdCliente int
)
AS
UPDATE T_Clienti
SET cod_TipoCliente = @cod_TipoCliente, Cognome = @Cognome, Nome = @Nome, Data_nasc = @Data_nasc, Sesso = @Sesso, CodFisc = @CodFisc, PartIva = @PartIva, Nota = @Nota
Where IdCliente=@IdCliente
GO

...poi nella classe:
CmdUp = New SqlCommand("T_ClientiUpProc", SConnUp)
CmdUp.CommandType = CommandType.StoredProcedure
PUp = CmdS.Parameters.Add("@cod_TipoCliente", SqlDbType.Int)
PUp.Value = cod_TipoClienteF
PUp = CmdS.Parameters.Add("@Cognome", SqlDbType.VarChar, 50)
PUp.Value = CognomeF
PUp = CmdS.Parameters.Add("@Nome", SqlDbType.VarChar, 50)
PUp.Value = NomeF
PUp = CmdS.Parameters.Add("@Data_nasc", SqlDbType.SmallDateTime)
PUp.Value = FunctionUtility.ControllaData(Data_nascF)
PUp = CmdS.Parameters.Add("@Sesso", SqlDbType.VarChar, 50)
PUp.Value = SessoF
PUp = CmdS.Parameters.Add("@CodFisc", SqlDbType.VarChar, 50)
PUp.Value = CodFiscF
PUp = CmdS.Parameters.Add("@PartIva", SqlDbType.VarChar, 50)
PUp.Value = PartIvaF
PUp = CmdS.Parameters.Add("@Nota", SqlDbType.VarChar, 8000)
PUp.Value = NotaF
PUp = CmdS.Parameters.Add("@IdCliente", SqlDbType.Int)
PUp.Value = IdCliente
CmdUp.Connection.Open()
CmdUp.ExecuteNonQuery()
CmdUp.Connection.Close()
Facendo il debug ho visto che i valori vengono tutti passati correttamente e coerentemente con il tipo ma mi restituisce quest'errore:
Procedure 'T_ClientiUpProc' expects parameter '@cod_TipoCliente', which was not supplied.

Help me....

Elisa