ERRO ESTRANHO

LUIS.HERRERA 21/10/2013 11:18:43
#430201
Bom dia.

Tenho o código

public void Alterar(ColaboradorModelo colaborador, List<EmailModelo> myListColabEmail, List<ColaboradorEvidenciaModelo> myListColabEvidencia, List<ColaboradorPerfilModelo> myListPerfilColab)
{
SqlTransaction transacao = null;
int achouItem = 0;

try
{
string sqlColab = [Ô]UPDATE COLABORADORES SET MATRICULA = @MATRICULA, NOME = @NOME, IDCARGO = @IDCARGO, IDEMPRESA = @IDEMPRESA, IDDEPTO = @IDDEPTO, INATIVO = @INATIVO, USUARIO = @USUARIO, ADMISSAO = @ADMISSAO, SEXO = @SEXO, OBSRH = @OBSRH, OBSPAD = @OBSPAD, ATUALIZAPERMISSOES = @ATUALIZAPERMISSOES WHERE (IDCOLABORADOR = @IDCOLABORADOR);[Ô];

SqlCommand cmd = new SqlCommand(sqlColab, Dados.cn);
// parâmetros do comando (campos da tabela)
cmd.Parameters.Add([Ô]IDCOLABORADOR[Ô], SqlDbType.Int);
[txt-color=#e80000]cmd.Parameters[[Ô]@IDCOLABORADOR[Ô]].Value = colaborador.IDCOLABORADOR;[/txt-color]
cmd.Parameters.Add([Ô]@MATRICULA[Ô], SqlDbType.NVarChar);
cmd.Parameters[[Ô]@MATRICULA[Ô]].Value = colaborador.MATRICULA;
cmd.Parameters.Add([Ô]@NOME[Ô], SqlDbType.NVarChar);
cmd.Parameters[[Ô]@NOME[Ô]].Value = colaborador.NOME;
cmd.Parameters.Add([Ô]@IDCARGO[Ô], SqlDbType.Int);
cmd.Parameters[[Ô]@IDCARGO[Ô]].Value = colaborador.IDCARGO;
cmd.Parameters.Add([Ô]@IDEMPRESA[Ô], SqlDbType.Int);
cmd.Parameters[[Ô]@IDEMPRESA[Ô]].Value = colaborador.IDEMPRESA;
cmd.Parameters.Add([Ô]@IDDEPTO[Ô], SqlDbType.Int);
cmd.Parameters[[Ô]@IDDEPTO[Ô]].Value = colaborador.IDDEPTO;
cmd.Parameters.Add([Ô]@INATIVO[Ô], SqlDbType.Bit);
cmd.Parameters[[Ô]@INATIVO[Ô]].Value = colaborador.INATIVO;
cmd.Parameters.Add([Ô]@USUARIO[Ô], SqlDbType.NVarChar, 25);
cmd.Parameters[[Ô]@USUARIO[Ô]].Value = colaborador.USUARIO;
cmd.Parameters.Add([Ô]@ADMISSAO[Ô], SqlDbType.Date);
cmd.Parameters[[Ô]@ADMISSAO[Ô]].Value = colaborador.ADMISSAO;
cmd.Parameters.Add([Ô]@SEXO[Ô], SqlDbType.TinyInt);
cmd.Parameters[[Ô]@SEXO[Ô]].Value = colaborador.SENHA;
cmd.Parameters.Add([Ô]@OBSRH[Ô], SqlDbType.NVarChar, 4000);
cmd.Parameters[[Ô]@OBSRH[Ô]].Value = colaborador.OBSRH;
cmd.Parameters.Add([Ô]@OBSPAD[Ô], SqlDbType.NVarChar, 4000);
cmd.Parameters[[Ô]@OBSPAD[Ô]].Value = colaborador.OBSPAD;
cmd.Parameters.Add([Ô]@ATUALIZAPERMISSOES[Ô], SqlDbType.Bit);
cmd.Parameters[[Ô]@ATUALIZAPERMISSOES[Ô]].Value = colaborador.ATUALIZAPERMISSOES;

Dados.AbrirConexao();
transacao = Dados.cn.BeginTransaction(); //IsolationLevel.Serializable); //default
cmd.Transaction = transacao;
cmd.ExecuteNonQuery();

// continua..... mas não é importante aqui


Na linha em vermelho gera o danado do erro [Ô]Referência de objeto não definida para uma instância de um objeto[Ô]

O estranho é que não acho nada de errado, e o mesmo código roda em todas as outras rotinas de cadastro, só nesse dá errado. Chequei o nome da tabela e campo, a sintaxe do código e nada de achar o problema.

Alguém tem alguma ideia?
Se funciona nos outros cadastros, porque nesse não?
OCELOT 21/10/2013 11:20:25
#430202
Resposta escolhida
Você esqueceu de colocar o arroba nesta linha

cmd.Parameters.Add([Ô]IDCOLABORADOR[Ô], SqlDbType.Int);

deveria ser

cmd.Parameters.Add([Ô]@IDCOLABORADOR[Ô], SqlDbType.Int);
LUIS.HERRERA 21/10/2013 11:22:02
#430203
Ocelot verdade, mas foi na de cima (kkkk), as vezes fica difícil ver algo tão obvio.

Brigadao.
Tópico encerrado , respostas não são mais permitidas