Hola, eso se debe hacer siempre? No te sirve implementar esa insercion q depende del id del producto con un trigger?
Bueno si eso no sirve avisa y vemos una solucion alternativa.
Saludos, Daniel
Hola Daniel, si creo que sería lo mejor con un trigger, porque cada vez que se inserta un registro en T_Productos debe insertarse uno en T_Fechas
pero el tema es que no tengo idea como se hace uno
T_Productos:
Id_Producto
Cod_Producto
Nombre
................
T_Fechas:
Id_Producto
Fecha_Entrada
Fecha_Salida
public void Insertar_Producto()
{
try
{
SqlCommand cmd
= new SqlCommand
("sp_Insertar_Producto",con
.Conexion); cmd.CommandType=CommandType.StoredProcedure;
cmd
.Parameters.Add(new SqlParameter
("@Cod_Producto", SqlDbType
.VarChar)); cmd.Parameters["@Cod_Producto"].Direction= ParameterDirection.Input;
cmd.Parameters["@Cod_Producto"].Value=s_Cod_Producto;
cmd
.Parameters.Add(new SqlParameter
("@Nombre",SqlDbType
.VarChar)); cmd.Parameters["@Nombre"].Direction=ParameterDirection.Input;
cmd.Parameters["@Nombre"].Value=s_Nombre;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
SqlCommand cmd_Id
= new SqlCommand
("sp_Productos_Last_ID", con
.Conexion); cmd_Id.CommandType = CommandType.StoredProcedure;
con.Open();
int ID=Convert.ToInt32(cmd_Id.ExecuteScalar());
con.Close();
SqlCommand cmd1
= new SqlCommand
("sp_Fechas_Insertar", con
.Conexion); cmd1.CommandType = CommandType.StoredProcedure;
cmd1
.Parameters.Add(new SqlParameter
("@Id_Producto", SqlDbType
.Int)); cmd1.Parameters["@Id_Producto"].Direction = ParameterDirection.Input;
cmd1.Parameters["@Id_Producto"].Value = ID;
cmd1
.Parameters.Add(new SqlParameter
("@Fecha_Entrada", SqlDbType
.DateTime)); cmd1.Parameters["@Fecha_Entrada"].Direction = ParameterDirection.Input;
cmd1.Parameters["@Fecha_Entrada"].Value = dt_Fecha_Entrada;
con.Open();
cmd1.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
con.Close();
}
}
Como veras la manera en que lo solucione es hacer una consulta y obtener el último Id de la tabla Producto a este le sumo 1 y
con ese registro hago la inserción en T_Fechas
pero como tu dices creo que la mejor forma sería con un trigger
puedes darme una idea de como hacerlo