ERRO ESTRANHO
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?
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?
Você esqueceu de colocar o arroba nesta linha
cmd.Parameters.Add([Ô]IDCOLABORADOR[Ô], SqlDbType.Int);
deveria ser
cmd.Parameters.Add([Ô]@IDCOLABORADOR[Ô], SqlDbType.Int);
cmd.Parameters.Add([Ô]IDCOLABORADOR[Ô], SqlDbType.Int);
deveria ser
cmd.Parameters.Add([Ô]@IDCOLABORADOR[Ô], SqlDbType.Int);
Ocelot verdade, mas foi na de cima (kkkk), as vezes fica difÃcil ver algo tão obvio.
Brigadao.
Brigadao.
Tópico encerrado , respostas não são mais permitidas