Foros del Web » Programación para mayores de 30 ;) » .NET »

store procedure y recuperar parametro en c#

Estas en el tema de store procedure y recuperar parametro en c# en el foro de .NET en Foros del Web. Hola muchachos: estoy intentando utilizar un sp desde c# y recuperar un parametro mi sp lo hice asi: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original @IdAc ...
  #1 (permalink)  
Antiguo 30/11/2011, 14:08
Avatar de citaem  
Fecha de Ingreso: agosto-2005
Mensajes: 218
Antigüedad: 18 años, 7 meses
Puntos: 0
store procedure y recuperar parametro en c#

Hola muchachos:

estoy intentando utilizar un sp desde c# y recuperar un parametro

mi sp lo hice asi:

Código SQL:
Ver original
  1. @IdAc AS INT,
  2. @AcTxt AS NVARCHAR(200),
  3. @IdMesa AS INT,
  4. @ResumenTxt AS NVARCHAR(1024),
  5. @IdUser AS INT,
  6. @NomUsu AS NVARCHAR(200),
  7. @Pagina AS NVARCHAR(500),
  8. @FlagValida AS VARCHAR(9) OUTPUT
  9.  
  10.     BEGIN
  11.    
  12.     SET NOCOUNT ON;
  13.  
  14.     SELECT @FlagValida = COUNT(*) FROM dbo.Acta
  15.     WHERE Id_Acta = @IdAc AND Acta = @AcTxt AND Id_Mesa = @IdMesa  
  16.  
  17. IF @FlagValida > 0
  18.     BEGIN
  19.         -- la idea es mandar el parametro  @FlagValida       
  20.         --Return @FlagValida;      
  21.     END
  22. ELSE
  23.     BEGIN
  24.            
  25.         -- la idea es ejecutar otro sp
  26.         --Exec [siie-net].[spReingresoACConsultaActualizaAC] @IdAc,@AcTxt,@ResumenTxt,@IdUser,@NomUsu,@Pagina      
  27.     END
  28.  
  29.     RETURN @FlagValida;        
  30. END

despues lo ejecuto este sp desde c# asi:

Código C++:
Ver original
  1. // EJEMPLO DE Jannet
  2.         //Se crea la consulta
  3.         //String strConsulta = "dbo.spReingresoACConsultaEspecifica  " + strId_Acta;
  4.         String strConsulta = "[siie-net].[spReingresoACConsultaValidaAC] " + HddidtxtAC.Value + "," + txtAC.Text + "," + HddidMesa.Value + "," + TxtObserv.Text + "," + "116, 'Citlali Espinosa Mendoza'," + NomPagina + ", 0" ;
  5.  
  6.         //Obtiene la cadena de conexion del archivo Web.config.
  7.         String cadenaConexion = ConfigurationManager.ConnectionStrings["SIIE-NETConnectionString"].ConnectionString;
  8.  
  9.         //Declara dataSet
  10.         DataSet ds_ConsultaAC = new DataSet();
  11.  
  12.         //Se conecta a la base de datos y ejecuta query
  13.         SqlConnection cnn = new SqlConnection(cadenaConexion);
  14.         SqlDataAdapter da_ConsultaAC = new SqlDataAdapter(strConsulta, cnn);
  15.  
  16.         //llena DataSet.
  17.         da_ConsultaAC.Fill(ds_ConsultaAC);

¿como puedo recuperar en c# mi parametro?, se supone que con el sabre si se ejecuto el segundo sp y podre mandar un aviso de realizado o no realizado....

MIL GHRACIAS de antemano.

P.D. no me regañen por el nombre del post, intento ponerlo claro... GRACIAS
  #2 (permalink)  
Antiguo 30/11/2011, 17:17
 
Fecha de Ingreso: julio-2004
Mensajes: 104
Antigüedad: 19 años, 9 meses
Puntos: 0
Sonrisa Respuesta: store procedure y recuperar parametro en c#

lo que te falta es definir el tipo de command
para los Stored no se puede hacer como si fuera un select normal...
hay que decirle que va a ser un stored.

Código:
//Se conecta a la base de datos y ejecuta query 
          System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection(cadenaConexion);
          System.Data.SqlClient.SqlCommand  sqlcomm = new System.Data.SqlClient.SqlCommand(strConsulta,cnn); //Aqui esta el cambio
          sqlcomm.CommandType = CommandType.StoredProcedure; //aqui esta el cambio
          System.Data.SqlClient.SqlDataAdapter da_ConsultaAC = new System.Data.SqlClient.SqlDataAdapter(sqlcomm);

            //llena DataSet.
            da_ConsultaAC.Fill(ds_ConsultaAC);
__________________
Podria no estar de acuerdo con lo que dices....., pero daria mi vida por el derecho que tienes de decirlo.

Etiquetas: parametro, procedure, sql, store
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 19:43.