Foros del Web » Programando para Internet » ASPX (.net) »

Capturar output de procedimiento almacenado

Estas en el tema de Capturar output de procedimiento almacenado en el foro de ASPX (.net) en Foros del Web. Buenos días Tengo un procedimiento almacenado el cual ejecuto con una llamada desde un fichero de C# y necesito saber como recoger el parametro de ...
  #1 (permalink)  
Antiguo 23/09/2010, 09:22
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años
Puntos: 0
Capturar output de procedimiento almacenado

Buenos días

Tengo un procedimiento almacenado el cual ejecuto con una llamada desde un fichero de C# y necesito saber como recoger el parametro de salida el cual es un autonumérico. Adjunto los trozos de código:

Procedimiento Almacenado:

PROCEDURE [dbo].[sp_InsertarDatosTablaMidas]
@Comisionista varchar(50),
@nivelComisionista int,
@nombreComercial varchar(50),
@provinciaComisionista varchar(50),
@Integrante varchar(50),
@id int output

AS
BEGIN
INSERT INTO tblFichDetalleAbonado(Comisionista,nivelComisionis ta,nombreComercial,
provinciaComisionista,Integrante)
VALUES (@Comisionista,@nivelComisionista,@nombreComercial ,
@provinciaComisionista,@Integrante)
SET @id = @@IDENTITY
END


Código C#:

SqlConnection connection = new SqlConnection("Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx");
SqlCommand command = new SqlCommand();
connection.Open();
command.Connection = connection;
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "dbo.sp_InsertarDatosTabla";
command.Parameters.Add("id", DbType.Int32);
command.Parameters.AddWithValue("Comisionista", x);
command.Parameters.AddWithValue("nivelComisionista ", x);
command.Parameters.AddWithValue("nombreComercial", x);
command.Parameters.AddWithValue("provinciaComision ista", x);
command.Parameters.AddWithValue("Integrante", x);

object ob = command.ExecuteScalar();

command.Dispose();


Por favor que alguien me explique como finalizarlo o algo así.

Un saludo y gracias
  #2 (permalink)  
Antiguo 23/09/2010, 09:26
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 5 meses
Puntos: 606
Respuesta: Capturar output de procedimiento almacenado

Has probado a usar SqlDataReader?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 24/09/2010, 00:45
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años
Puntos: 0
Respuesta: Capturar output de procedimiento almacenado

Gracias por la respuesta.

Lo cierto es que he probado y no devuelve nada. Por eso pregunto si puede ser que alguna instrucción esté mal. Si alguien puede ayudarme lo agradeceré.

Un saludo
  #4 (permalink)  
Antiguo 24/09/2010, 00:51
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 5 meses
Puntos: 606
Respuesta: Capturar output de procedimiento almacenado

Cita:
Iniciado por dikcc Ver Mensaje
Gracias por la respuesta.

Lo cierto es que he probado y no devuelve nada. Por eso pregunto si puede ser que alguna instrucción esté mal. Si alguien puede ayudarme lo agradeceré.

Un saludo
Claro, es que no has hecho que el store procedure devuelve algun valor. Simplemente defines el valor de la variable @id, pero devolver...no devuelves nada.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 24/09/2010, 01:07
 
Fecha de Ingreso: junio-2010
Mensajes: 134
Antigüedad: 14 años
Puntos: 0
Respuesta: Capturar output de procedimiento almacenado

¿Y eso lo soluciono...?
  #6 (permalink)  
Antiguo 24/09/2010, 01:12
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 5 meses
Puntos: 606
De acuerdo Respuesta: Capturar output de procedimiento almacenado

Cita:
Iniciado por dikcc Ver Mensaje
¿Y eso lo soluciono...?
Si claro, si no lo solucionas no podrás enviar el resultado a .net :)
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: output, procedimiento, aspx, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.