Buenas:
Estoy haciendo una aplicacion interna en c# .Net, mas que nada es una planilla web que permite agendar datos a un usuario x, bueno solamente inserta datos y consulta pero hoy me pidieron poder modificar uno de estos datos.
Adjunto accion del boton "grabar Datos"
com.CommandText = "ingresa_planilla"
com.CommandType = CommandType.StoredProcedure;
com.Connection = con;
com.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = Convert.ToInt32(Session["id_usuario"].ToString());
com.Parameters.Add("@fecha", SqlDbType.NVarChar, 20).Value = TextBox1.Text;
com.Parameters.Add("@mes", SqlDbType.NVarChar, 20).Value = Convert.ToInt32(TextBox3.Text);
com.Parameters.Add("@hora", SqlDbType.NVarChar, 20).Value = DropDownList1.SelectedItem.ToString();
com.Parameters.Add("@cliente", SqlDbType.NVarChar, 20).Value = DropDownList2.SelectedItem.ToString();
com.Parameters.Add("@ubicacion", SqlDbType.NVarChar, 20).Value = DropDownList3.SelectedItem.ToString();
com.Parameters.Add("@reunion", SqlDbType.NVarChar, 20).Value = DropDownList4.SelectedItem.ToString();
com.Parameters.Add("@tareas", SqlDbType.NVarChar, 20).Value = DropDownList5.SelectedItem.ToString();
com.Parameters.Add("@observacion", SqlDbType.NVarChar, 255).Value = TextBox2.Text;
con.Open();
Procedimiento almacenado
ALTER procedure [dbo].[ingresa_planilla]
@id_usuario int,
@fecha nvarchar(20),
@mes int,
@hora nvarchar(10),
@cliente nvarchar(20),
@ubicacion nvarchar(20),
@reunion nvarchar(20),
@tareas nvarchar(20),
@observacion nvarchar(255)
as
begin
insert into planilla(usuario_id,fecha_registro,mes_corresponde,hora_registro,cliente,ubicacion,reunion,tareas,observacion) values(@id_usuario,@fecha,@mes,@hora,@cliente,@ubicacion,@reunion,@tareas,@observacion)
end
cada vez que se ejecuta el procedimiento "ingresa_planilla" este se guarda en una tabla que tiene un campo mas que es planilla_id este campo es autoincrementado en 1, su proposito es guardar un identificador por cada planilla que se genere.(en fin funciona todo correctamente)
Los problemas aparecen al realizar el procedimiento para modificar ya que la variable planilla_id no se como trabajarla para poder modificar los datos ej:
com.CommandText = "modifica_planilla";
com.CommandType = CommandType.StoredProcedure;
com.Connection = con;
com.Parameters.Add("@planilla_id", SqlDbType.BigInt).Value = ? ?Duda ? ?
com.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = Convert.ToInt32(Session["id_usuario"].ToString());
com.Parameters.Add("@fecha", SqlDbType.NVarChar, 20).Value = TextBox1.Text;
com.Parameters.Add("@mes", SqlDbType.NVarChar, 20).Value = Convert.ToInt32(TextBox3.Text);
com.Parameters.Add("@hora", SqlDbType.NVarChar, 20).Value = DropDownList1.SelectedItem.ToString();
com.Parameters.Add("@cliente", SqlDbType.NVarChar, 20).Value = DropDownList2.SelectedItem.ToString();
com.Parameters.Add("@ubicacion", SqlDbType.NVarChar, 20).Value = DropDownList3.SelectedItem.ToString();
com.Parameters.Add("@reunion", SqlDbType.NVarChar, 20).Value = DropDownList4.SelectedItem.ToString();
com.Parameters.Add("@tareas", SqlDbType.NVarChar, 20).Value = DropDownList5.SelectedItem.ToString();
com.Parameters.Add("@observacion", SqlDbType.NVarChar, 255).Value = TextBox2.Text;
Procedure modifica_planilla
ALTER procedure [dbo].[modifica_planilla]
@planilla_id BIGINT,
@id_usuario int,
@fecha nvarchar(20),
@mes int,
@hora nvarchar(10),
@cliente nvarchar(20),
@ubicacion nvarchar(20),
@reunion nvarchar(20),
@tareas nvarchar(20),
@observacion nvarchar(255)
as
begin
update planilla
set
fecha_registro = @fecha,
mes_corresponde = @mes,
hora_registro = @hora,
cliente = @cliente,
ubicacion = @ubicacion,
reunion = @reunion,
tareas = @tareas,
observacion = @observacion
WHERE planilla_id = @planilla_id
END
Mi consulta es como mando la variable planilla_id al procedimiento y como la declaro en :
com.Parameters.Add("@planilla_id", SqlDbType.BigInt).Value = ? ?Duda ? ?
Cualquier duda sera bien recibida
Gracias