It does not let me save the auto id incretable. What do I do?
public string insertar(DRegistro_Salida registro_salida)
{
string rpta = "";
SqlConnection sqlCon = new SqlConnection();
try
{
sqlCon.ConnectionString = conexion.Cn;
sqlCon.Open();
SqlCommand sqlcmd = new SqlCommand();
sqlcmd.CommandText = "spinsertar_registro_salida";
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Connection = sqlCon;
SqlParameter parid_salida = new SqlParameter();
parid_salida.ParameterName = "@Id_salida";
parid_salida.SqlDbType = SqlDbType.Int;
parid_salida.Direction = ParameterDirection.Output;
sqlcmd.Parameters.Add(parid_salida);
SqlParameter parcentro = new SqlParameter();
parcentro.ParameterName = "@Centro";
parcentro.SqlDbType = SqlDbType.VarChar;
parcentro.Size = 100;
parcentro.Value = registro_salida.Centro;
sqlcmd.Parameters.Add(parcentro);
SqlParameter parid_pendencia = new SqlParameter();
parid_pendencia.ParameterName = "@Id_dependencia";
parid_pendencia.SqlDbType = SqlDbType.Int;
parid_pendencia.Value = registro_salida.Id_dependencia;
sqlcmd.Parameters.Add(parid_pendencia);
SqlParameter parIdempleado = new SqlParameter();
parIdempleado.ParameterName = "@Id_empleado";
parIdempleado.SqlDbType = SqlDbType.Int;
parIdempleado.Value = registro_salida.Id_empleado;
sqlcmd.Parameters.Add(parIdempleado);
SqlParameter parid_cliente = new SqlParameter();
parid_cliente.ParameterName = "@Id_cliente";
parid_cliente.SqlDbType = SqlDbType.Int;
parid_cliente.Value = registro_salida.Id_cliente;
sqlcmd.Parameters.Add(parid_cliente);
SqlParameter pardescripcion = new SqlParameter();
pardescripcion.ParameterName = "@Descripcion";
pardescripcion.SqlDbType = SqlDbType.VarChar;
pardescripcion.Size = 2000000;
pardescripcion.Value = registro_salida.Descripcion;
sqlcmd.Parameters.Add(pardescripcion);
SqlParameter parmarca = new SqlParameter();
parmarca.ParameterName = "@Marca";
parmarca.SqlDbType = SqlDbType.VarChar;
parmarca.Size = 50;
parmarca.Value = registro_salida.Marca;
sqlcmd.Parameters.Add(parmarca);
SqlParameter parequipo = new SqlParameter();
parequipo.ParameterName = "@Equipo";
parequipo.SqlDbType = SqlDbType.VarChar;
parequipo.Size = 50;
parequipo.Value = registro_salida.Equipo;
sqlcmd.Parameters.Add(parequipo);
SqlParameter parelemento = new SqlParameter();
parelemento.ParameterName = "@Elemento";
parelemento.SqlDbType = SqlDbType.VarChar;
parelemento.Size = 50;
parelemento.Value = registro_salida.Elemento;
sqlcmd.Parameters.Add(parelemento);
SqlParameter parserie = new SqlParameter();
parserie.ParameterName = "@Serie";
parserie.SqlDbType = SqlDbType.VarChar;
parserie.Size = 50;
parserie.Value = registro_salida.Serie;
sqlcmd.Parameters.Add(parserie);
SqlParameter parmodelo = new SqlParameter();
parmodelo.ParameterName = "@Modelo";
parmodelo.SqlDbType = SqlDbType.VarChar;
parmodelo.Size = 50;
parmodelo.Value = registro_salida.Modelo;
sqlcmd.Parameters.Add(parmodelo);
SqlParameter parfecha_Salida = new SqlParameter();
parid_salida.ParameterName = "@Fecha_salida";
parid_salida.SqlDbType = SqlDbType.Date;
parid_salida.Value = registro_salida.Fecha_salida;
sqlcmd.Parameters.Add(parfecha_Salida);
SqlParameter parfecha_entrega = new SqlParameter();
parfecha_entrega.ParameterName = "@Fecha_entrega";
parfecha_entrega.SqlDbType = SqlDbType.Date;
parfecha_entrega.Value = registro_salida.Fecha_entrega;
sqlcmd.Parameters.Add(parfecha_entrega);
SqlParameter parmotivo = new SqlParameter();
parmotivo.ParameterName = "@Motivo";
parmotivo.SqlDbType = SqlDbType.VarChar;
parmotivo.Size = 2000000;
parmotivo.Value = registro_salida.Motivo;
sqlcmd.Parameters.Add(parmotivo);
SqlParameter parestado = new SqlParameter();
parestado.ParameterName = "@Estado";
parestado.SqlDbType = SqlDbType.VarChar;
parestado.Size = 100;
parestado.Value = registro_salida.Estado;
sqlcmd.Parameters.Add(parestado);
SqlParameter parfecha_devulucion = new SqlParameter();
parfecha_devulucion.ParameterName = "@Fecha_devolucion";
parfecha_devulucion.SqlDbType = SqlDbType.Date;
parfecha_devulucion.Value = registro_salida.Fecha_devolucion;
sqlcmd.Parameters.Add(parfecha_devulucion);
rpta = sqlcmd.ExecuteNonQuery() == 1 ? "OK" : "no se ingreso el registro";
}
catch (Exception ex)
{
rpta = ex.Message;
}
finally
{
if (sqlCon.State == ConnectionState.Open) sqlCon.Close();
}
return rpta;
}
Stored procedure:
ALTER proc [dbo].[spinsertar_registro_salida]
@Id_salida int output,
@Centro varchar(100),
@Id_dependencia int,
@Id_empleado int,
@Id_cliente int,
@Descripcion varchar(max),
@Marca varchar(50),
@Equipo varchar(50),
@Elemento varchar(50),
@Serie varchar(50),
@Modelo varchar(50),
@Fecha_salida date,
@Fecha_entrega date,
@Motivo varchar(max),
@Estado VARCHAR(100),
@Fecha_devolucion date
as
insert into Registro_Salida(centro,id_dependencia,id_empleado,id_cliente,descripcion,marca,equipo,elemento,serie,modelo,fecha_salidaa,fecha_entrega,motivo,estado,fecha_devolucion)
values(@Centro,@Id_dependencia,@Id_empleado,@Id_cliente,@Descripcion,@Marca,@Equipo,@Elemento,@Serie,@Modelo,@Fecha_salida,@Fecha_entrega,@Motivo,@Estado,@Fecha_devolucion )
SELECT @Id_salida = SCOPE_IDENTITY()