none
Como pasar parametro solicitado por procedimiento almacenado desde otro form a un reporte tipo Report Viewer RRS feed

  • Pregunta

  • Buenos dias,

    tengo un formulario de ventas que al finalizar debe de imprimir una factura y lo que necesito es saber como pasar el parametro que necesita mi procedimiento para cargar los datos. Ya agregue los campos a llenarse cuando para cuando cargue el formulario, ya le envie el parametro al formulario que contiene el reporte solo necesito que lo lea, me explico:

    este es mi procedimiento almacenado:

    ALTER PROC [dbo].[SP_FACTURAVENTA]
    @IDVENTA INT=NULL
    
    AS
    BEGIN
    
    
    select DISTINCT  ventas.IDVenta,ventas.Identificacion,clientes.Nombres, clientes.Apellidos,ventas.ID, productos.Producto,productos.Marca,productos.Modelo,productos.Descripcion,ventas.Cantidad,productos.PrecioVenta, ventas.Subtotal,ventas.ITBIS,ventas.Total,ventas.Fecha from Tab_ventas as ventas INNER JOIN Tab_productos AS productos ON ventas.ID=productos.ID INNER JOIN Tab_clientes as clientes ON ventas.Identificacion=clientes.Identificacion
    WHERE
    
    IDVenta =@IDVENTA
    
    end

    como se nota espera el IDVenta que es el que cargara los datos correspondientes, del formulario de ventas le paso el IDVenta para que realice la carga de los datos, el formulario de reportes :

    FormulariodeReporte frm= new FormulariodeReporte();

    frm.txtidventa (que es el textbox que recibe que tiene el modifiers en publico).text=lblidventa(que es el label del formulario de ventas que tiene el modifiers en publico).text

    frm.ShowDialog();

    el IDVenta es recibido correctamente al formulario de reporte, el punto es que no se como seria la linea de codigo para que el procedimiento lo lea y cargue la data.

    por favor ayuda


    samuel




    martes, 16 de abril de 2019 15:04

Respuestas

  • Hola Samuel Ignacio

    ¿Cómo estás conectando con tus store procedures en SQL, deberías utilizar la clase de SQLConnection Class

    Sí estas efectivamente utilizando C# el siguiente enlace te puede servir

    https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/classes-and-structs/passing-parameters

    El manejo de memoria en C# permite paso de parámetros por referencia o por valor.

    https://docs.microsoft.com/en-us/sql/relational-databases/stored-procedures/create-a-stored-procedure?view=sql-server-2017

    Necesitarias un metodo del siguiente tipo, en tu definición de clase de C#.

    Consulta SqlConnection Class

     public void RunStoredProc() {
    using (SqlConnection sqlConnection1 = new SqlConnection("Your Connection String")) {
    using (SqlCommand cmd = new SqlCommand()) {
      Int32 IDVenta;
      cmd.CommandText = "StoredProcedureName";
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Connection = sqlConnection1;
      sqlConnection1.Open();
      IDVenta = cmd.ExecuteNonQuery();
    sqlConnection1.close();
    }      
    static void Main(string[] args){
    Program p= new Program();
    p.RunStoredProc();
    Console.Read();
    }

    Gracias por usar los foros de MSDN.

    Erick Rivera

     ____
    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 
    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Editado eRiver1 martes, 16 de abril de 2019 16:17
    • Propuesto como respuesta Carlos_Ruiz_M martes, 16 de abril de 2019 16:28
    • Marcado como respuesta Pablo RubioModerator jueves, 2 de mayo de 2019 17:00
    martes, 16 de abril de 2019 16:15