Home » C#, Programacion

Reporte Web con Crystal Report usando Store Procedure

Agosto 27 20096 Comentarios

Publicado por risharpPermalink: http://www.datanoia.com/ccxw

Vamos a explicar una  manera sencilla y correcta de crear reportes con Crystal Report,  dando prioridad a la mantenibilidad del código.  Nos conectaremos a un store procedure y mandaremos parámetros de entrada al reporte.

Usaremos la base de datos Northwind de ejemplo.

Paso 1.- Crearemos una nueva solución: Archivo>Nuevo Proyecto>Otros Tipos de Proyecto>Solución de Visual Studio

NuevoProyecto

Paso 2.- Agregamos un nuevo sitio Web a la solución: Archivo> Agregar > Nuevo sitio Web…

NuevoSitioWeb

Paso 3.- Agregamos una clase llamada conexión al proyecto, nos preguntará si queremos que se cree una carpeta “app_code” le decimos que Sí.

Conexion

Agregamos el siguiente código a la clase conexion:


public class Conexion

{

private string servidor = "JPANTOJA\\SQLEXPRESS";

private string basededatos = "Northwind";

private string usuario = "PREMIER\\rmauricio";

private string password = "";

public string Usuario

{

get { return usuario; }

set { usuario = value; }

}

public string Password

{

get { return password; }

set { password = value; }

}

public string Basededatos

{

get { return basededatos; }

set { basededatos = value; }

}

public string Servidor

{

get { return servidor; }

set { servidor = value; }

}

}

Paso 4.- Vamos al SQL  y creamos el siguiente procedimiento almacenado, que simplemente busca empleados según la ciudad ingresada,  si no se ingresará ningún criterio de búsqueda el reporte mostrará todos los empleados.

USE Northwind;
GO
create proc ObtenerEmpladosporFecha
@City nvarchar(30)
AS
select TitleofCourtesy, LastName,FirstName,Address, City, Photo FROM Employees
WHERE City =isnull(@City, City)

USE Northwind;

GO

create proc ObtenerEmpleadosporFecha

@City nvarchar(30)

AS

select TitleofCourtesy, LastName,FirstName,Address, City, Photo FROM Employees

WHERE City =isnull(@City, City)

Paso 5.- Agregar al proyecto un nuevo reporte:

empleadoReporte

Se abrirá la siguiente pantalla, presionamos aceptar.

Galeria

Paso 6.- Despliegue la carpeta Crear nueva conexión y luego OLEDB, seleccione proveedor  a SQL Native Client luego presionen siguiente.

oledb

Paso 7.- Colocamos la información de conexión, y damos clic en finalizar.

Servidor

Paso 8.- Ahora busquemos nuestro store procedure y lo ponemos en la derecha, damos aceptar cuando nos pidan parámetros, presionamos siguiente.

derecha

Paso 9. - Colocamos en la derecha los campos que queremos que se muestren, y damos clic en finalizar.

campos

Paso 10.- Bien, ahora a programar, vamos a agregar un dropdownlist y a llenarlo:

dropdownlist

Agregamos un Crystal Report Viewer:

visor

Paso 11.- Agregamos el siguiente código  nuestra página:

</span></em></span></em>

<em><em> </em>

<em> </em>

using System;

using System.Data;

using System.Configuration;

using System.Web

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

//Referencias

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

using CrystalDecisions.ReportSource;

public partial class _Default : System.Web.UI.Page

{

ReportDocument Report = new ReportDocument();

Conexion con = new Conexion();

ParameterDiscreteValue cityDV = new ParameterDiscreteValue(); //parametro de entrada

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

CargaReporteEmpleados(null);

}

}

public void CargaReporteEmpleados(string parametroCity)

{

string reportPath = Server.MapPath("Empleados.rpt");

Report.Load(reportPath);

Report.DataSourceConnections[0].SetConnection(con.Servidor, con.Basededatos, con.Usuario, con.Password);

cityDV.Value = parametroCity;

Report.SetParameterValue("@City", cityDV);

CrystalReportViewer1.ReportSource = Report;

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

{

if (DropDownList1.SelectedItem.Value.ToString() == "nulo")

{

CargaReporteEmpleados(null);

}

else

{

CargaReporteEmpleados(DropDownList1.SelectedItem.Value.ToString());

}

}

} 

Paso 12.- Corramos nuestro ejemplo:

reporteWEbEso es todo, les dejo el código: ReporteWebDatanoia

Buen día.

Related Posts with Thumbnails

→ Entradas Relacionadas:

  1. Reportes con Crystal Report en Windows Form y parámetros StoreProcedure
  2. Crystal Report: Reporte Maestro / Detalle
  3. Struts en Netbeans 6.5
  4. Consumir Servicio Web desde Netbeans
  5. Como Instalar MySQL 5 en Ubuntu

→ Comparte esta entrada:

6 Comentarios »

  • Daniel said:

    Estuve realizando el reporte paso a paso pero no entendi el paso “4″ donde dices colocar las lineas en el SQL pero no consigo en la pagina aspx una seccion SQL

  • risharp (author) said:

    Hola Daniel, no entiendo bien tu pregunta, el código SQL obviamente se ejecuta en el mismo SQL SERVER en la base de datos Northwind

  • Daniel said:

    Gracias risharp en realidad soy nuevo con la programación en visual studio 2008 gracias por la ayuda, lo que pasa es que no tengo SQL SERVER y estoy manejando una base de datos .mbd (archivo en access), se que a un DataSet puedo leer una base de datos y hay puedo colocar la instrucción SQL voy a probar…

  • Wendy said:

    Hola. Estoy tratando de realizar un reporte y me parece muy buena idea usar Crystal Report, pero existe un detalle, lo que necesito es pasar una pagina HTML(Claro que solo el resultado de esta) a Crystal, he estado buscando , pero la verdad no se si se pueda, si pudieran brindarme algo de ayuda se los agradeceria mucho.

  • Jonathan said:

    Creo que te amoooo!!

Deja tu Opinión

Deja un comentario, o trackback desde tu sitio web. También puedes suscribirte a los comentarios de esta entrada vía RSS.

Tu comentario será bien recibido.

Puedes usar estas etiquetas:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Éste es un blog habilitado con Gravatar. Si deseas colocar una imagen de perfil a tus comentarios lee esta entrada.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes