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

informe con crystal report usando procedimiento almacenado

Estas en el tema de informe con crystal report usando procedimiento almacenado en el foro de .NET en Foros del Web. buenas amigos, saludos desde paraguay. quisiera consultarles como hacer un informe usando crystal report en vs studio 2010 y procedimiento almacenado desde sql server no ...
  #1 (permalink)  
Antiguo 03/08/2016, 10:27
Avatar de chelochos  
Fecha de Ingreso: septiembre-2011
Ubicación: Aregua
Mensajes: 27
Antigüedad: 13 años, 2 meses
Puntos: 0
informe con crystal report usando procedimiento almacenado

buenas amigos, saludos desde paraguay.
quisiera consultarles como hacer un informe usando crystal report en vs studio 2010
y procedimiento almacenado desde sql server

no tengo ni la menor idea

gracias por su apoyo
  #2 (permalink)  
Antiguo 09/08/2016, 16:50
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: informe con crystal report usando procedimiento almacenado

Hola, es posible te pueda servir mediante un DataSet tipado. Creas un dataset, y le agregas los DataTables que necesites, pensando en los campos que mostrarás en el informe. Una vez completado, creas un nuevo informe enlazándolo al DataSet creado y ubicas en el informe los campos del o los datatables que incluya de dataset. Puede ser que necesites incluir uno que otro acumulado u otro campo que se clcule mediante fórmulas, directamente en el Informe.

Digamos tienes un DataSet llamado DTSCanhaRecibida que contiene al menos un DataTable nombrado CanhaRecibida, un procedimiento almacenado denominado ResumenCanhaBrutaRecibida, y para este caso muy puntual, la conexión la tomamos de una clase de la que heredamos.

Olvidémonos por un momento del tratamiento de errores.


Código C#:
Ver original
  1. internal DTSCanhaRecibida ResumenCanhaRecibida(DateTime periodoIni, DateTime periodoFin, string listadoIdZonas, Reglas.Entities.zafra zafraActiva){
  2. DTSCanhaRecibida dts=new DTSCanhaRecibida();
  3. using (SqlConnection con =  (SqlConnection)base.DataBaseHelper.GetNewConnection())
  4.                 {
  5.                     using (SqlCommand cmd = con.CreateCommand())
  6.                     {
  7.                         cmd.CommandTimeout = 300;
  8.                         cmd.CommandText = "[ResumenCanhaBrutaRecibida]";
  9.                         cmd.CommandType = System.Data.CommandType.StoredProcedure;
  10.                         cmd.Connection = con;
  11.  
  12.                         DbParameter param1 = new System.Data.SqlClient.SqlParameter("@periodoIni", System.Data.SqlDbType.DateTime);
  13.                         param1.Value = periodoIni.Date;
  14.  
  15.                         DbParameter param2 = new System.Data.SqlClient.SqlParameter("@periodoFin", System.Data.SqlDbType.DateTime);
  16.                         param2.Value = periodoFin.Date;
  17.  
  18.                         DbParameter param3 = new System.Data.SqlClient.SqlParameter("@cadenaIdZonas", System.Data.SqlDbType.NVarChar);
  19.                         param3.Value = listadoIdZonas;
  20.  
  21.                         DbParameter param4 = new System.Data.SqlClient.SqlParameter("@zafraId", System.Data.SqlDbType.Int);
  22.                         param4.Value = zafraActiva.id_zafra;
  23.  
  24.                         cmd.Parameters.Add(param1);
  25.                         cmd.Parameters.Add(param2);
  26.                         cmd.Parameters.Add(param3);
  27.                         cmd.Parameters.Add(param4);
  28.  
  29.                         SqlDataAdapter adapter = new SqlDataAdapter(cmd);
  30.                         adapter.Fill(dts, "CanhaRecibida");
  31.                     }
  32.                 }
  33. return dts;
  34. }

Lo más significativo del método, cramos un SqlDataAdapter que al instanciar se le ha pasado un objeto de tipo SqlCommand que llenará el DataTable "CanhaRecibida" de nuesto DataSet tipado al llamar al método Fill del adapter. Por supuesto, el objeto SqlCommand llamará al procedimiento almacenado.

De esta forma tenemos en una clase X, un metodo que al llamarlo, devuelve un DataSet con información, solo tenemos que crear una instancia de dicha clase, y llamar al método para llenar una variable de tipo DTSCanhaRecibida que se convertirá en DataSource de nuestro Informe, y por supuesto asignarle el informe al visor de reportes.

Qué manera de darle para "atrás y para alante" enhhh !!!!

Etiquetas: almacenado, crystal, form, informe, procedimiento, report, usando
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 17:38.