Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom...Espero que alguem possa me ajudar!!!
estou com um problema que eu envio uma instruçao de insercao sql para o servidor com seus respectivos parametros criados em código, sendo que eu nao envio todos, porque realmente alguns nao tem valores, ou seja, são nulls.
O erro está sendo acusado no parametro @DATAALT, que justamente é o primeiro campo que vai vazio.
Vai o código abaixo:
public void gravarInclusao(GrupoContasInformation obj)
{
try
{
string str = "INSERT INTO GRUPOCONTAS (DESCRICAO, STATUS, MARCA, DATA_INC, DATA_ALT, DATA_HAB)" +
"VALUES (@DESCRICAO, @STATUS, @MARCA, @DATAINC, @DATAALT, @DATAHAB); select @@IDENTITY;";
DbCommand cmd = GenericDataAccess.CreateCommand(str);//eu crio as ligaçoes em outra camada, aqui eu só passo a instruçao, essa funçao retorna o command!
cmd.Connection.Open();
//
DbParameter parameter = cmd.CreateParameter();
parameter.ParameterName = "@DESCRICAO";
parameter.Value = obj.Descricao;
parameter.DbType = DbType.String;
cmd.Parameters.Add(parameter);
//novo
parameter = cmd.CreateParameter();
parameter.ParameterName = "@STATUS";
parameter.Value = obj.Status;
parameter.DbType = DbType.Boolean;
cmd.Parameters.Add(parameter);
//
parameter = cmd.CreateParameter();
parameter.ParameterName = "@MARCA";
parameter.Value = obj.Marca;
parameter.DbType = DbType.Boolean;
cmd.Parameters.Add(parameter);
//
parameter = cmd.CreateParameter();
parameter.ParameterName = "@DATAINC";
parameter.Value = obj.Data_inc;
parameter.DbType = DbType.DateTime;
cmd.Parameters.Add(parameter);
//if (obj.Data_alt != null)
// {
parameter = cmd.CreateParameter();
parameter.ParameterName = "@DATAALT";
parameter.Value = obj.Data_alt;
parameter.DbType = DbType.DateTime;
cmd.Parameters.Add(parameter);
// }
// if (obj.Data_hab != null)
// {
//
parameter = cmd.CreateParameter();
parameter.ParameterName = "@DATAHAB";
parameter.Value = obj.Data_hab;
parameter.DbType = DbType.DateTime;
cmd.Parameters.Add(parameter);
// }
obj.id_grupoconta = Convert.ToInt32(cmd.ExecuteScalar());
cmd.Connection.Close();
}
catch (DbException ex)
{
throw new Exception("Erro no Servidor: " + ex.Message);
}
catch (Exception ex)
{
throw new Exception("Erro genérico: " + ex.Message);
}
}Tentei de tudo até nao enviar os parametros quando fossem null, eu comentei as minhas tentativas!!!Dá essa mensagem abaixo!
Erro no Servidor: The parameterized query '(@DESCRICAO nvarchar(16),@STATUS bit,@MARCA bit,@DATAINC datetim' expects the parameter '@DATAALT', which was not supplied.
Grato e aguardo com urgencia!!
Andre Raposo
Carregando comentários...