Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jose Carlos Motta

Problema No ReportViewer

Recommended Posts

Olá! Boa noite! Meu nome é José Carlos.Estou desenvolvendo um relatórios de dados alfanuméricos utilizando o componente reportviewer, a linguagem C# e VisualStudio 2008. Para exibir os dados no relatório criei um DataSet que realiza um select que faz um join em algumas tabelas e retorna algumas funções de agregação(Count,Max). O problema que está acontecendo é que ao chamar a página de exibição do relatório(PrintPreview),o valor que esta vindo dos 2 counts esta vindo zerado. Eu testei o select na ferramenta de consulta e trouxe dados do banco normalmente. As tabelas estão populadas e está retornando valores nos counts. Se alguém puder me ajudar fico agradecido. Seguem os códigos que utilizei.

 

 

 

Consulta usada para construir o DataSet:

 

SELECT DISTINCT im.cod_municipio, im.cod_macroarea, im.cod_pis, im.cod_pif, im.cod_quadra, COUNT(im.cod_quadra) AS DIGIT_INI, MAX
                          ((SELECT COUNT(pg.cod_quadra)
                              FROM  pgo_unidade_24 pg
                              WHERE  pg.cod_municipio = im.cod_municipio AND
                                            pg.cod_macroarea = im.cod_macroarea AND
                                            pg.cod_pis = im.cod_pis AND 
                                            pg.cod_pif = im.cod_pif AND
                                            pg.cod_quadra = im.cod_quadra)) AS TOTAL_UNID
FROM  tab_imovel im
GROUP BY im.cod_municipio, im.cod_macroarea, im.cod_pis, im.cod_pif, im.cod_quadra
ORDER BY im.cod_municipio, im.cod_macroarea, im.cod_pis, im.cod_pif, im.cod_quadra


[b]Código da página de PrinPreview:[/b]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OracleClient;
using Microsoft.Reporting.WebForms;
using System.Configuration;
using System.Drawing;


namespace Relatórios_ReportViewer.ReportViewer
{
    public partial class WfmTotalUnidadesDigi : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Int32 municipio = Convert.ToInt32(Request["municipio"]);
            Int32 macroarea = Convert.ToInt32(Request["macroarea"]);
            Int32 pis = Convert.ToInt32(Request["pis"]);
            Int32 pif = Convert.ToInt32(Request["pif"]);
            Int32 quadra = Convert.ToInt32(Request["quadra"]);
            string nome_relatorio = (Request["nome_relatorio"]);
            ListaUnidades(municipio, macroarea, pis, pif, quadra, nome_relatorio);
            
        }
        private void ListaUnidades(int municipio, int macroarea, int pis, int pif, int quadra, string nome_relatorio)
        {
            //Referencia a String de Conexão no Web.Config...
            string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

            OracleConnection oConn = new OracleConnection(ConnectionString);

            DataTable dtDigitInic = new DataTable();
            if (quadra != 0)
            {
                try
                {
                    rv.LocalReport.ReportPath = Server.MapPath("~/ReportViewer/TotalUnidadesDigi.rdlc");
                    oConn.Open();
                    //this.ContactTableAdapter.fill(this.
                    //rv.LocalReport.SubreportProcessing,AddressOF SubRelat   	
                    
                    OracleCommand cmd = new OracleCommand(@"
                                                            SELECT im.cod_municipio,
                                                                im.cod_macroarea,
                                                                im.cod_pis,
                                                                im.cod_pif,
                                                                im.cod_quadra,
                                                                im.cod_quadra
                                                                
                                                            FROM   	
                                                                pgo_unidade_24 pg,tab_imovel im
                                                            where     	
                                                                pg.cod_municipio = im.cod_municipio AND
                                                                pg.cod_macroarea = im.cod_macroarea AND 
                                                                pg.cod_pis = im.cod_pis AND 
                                                                pg.cod_pif = im.cod_pif AND
                                                                pg.cod_quadra = im.cod_quadra AND
                                                                pg.cod_lote = im.cod_lote AND 
                                                                pg.cod_edificacao = im.cod_edificacao AND
                                                                pg.cod_unidade = im.cod_unidade AND
                                                                pg.municipio = :Municipio AND
                                                                pg.cod_macroarea = :Macroarea AND
                                                                pg.cod_pis = :Pis AND
                                                                pg.cod_pif = :Pif AND
                                                                pg.cod_quadra = :Quadra
                                                                                                                    
                                                          order by
                                                                im.cod_municipio,
                                                                im.cod_macroarea,
                                                                im.cod_pis,
                                                                im.cod_pif,
                                                                im.cod_quadra
                                                                          ", oConn);                   	
                                                                                                                       	
                
                    cmd.CommandType = CommandType.Text;

                    cmd.Parameters.Add(new OracleParameter("Municipio", OracleType.Char)).Value = municipio;
                    cmd.Parameters.Add(new OracleParameter("Macroarea", OracleType.Char)).Value = macroarea;
                    cmd.Parameters.Add(new OracleParameter("Pis", OracleType.Char)).Value = pis;
                    cmd.Parameters.Add(new OracleParameter("Pif", OracleType.Char)).Value = pif;
                    cmd.Parameters.Add(new OracleParameter("Quadra", OracleType.Char)).Value = quadra;

                    OracleDataReader drDigitInic = cmd.ExecuteReader(Commandbehavior.CloseConnection);
                    dtDigitInic.Load(drDigitInic);

                    ReportDataSource myReport = new ReportDataSource("consulta", dtDigitInic);
                    rv.LocalReport.DataSources.Add(myReport);

                    

                    ///* Instanciando um SubRelatório */

                    //ReportDataSource mySubReport = new ReportDataSource("SubRelat", dtDigitInic); 
                   	
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
                finally
                {
                    if (oConn != null)
                    {
                        oConn.Close();
                        oConn.Dispose();
                    }

                    if (dtDigitInic != null)
                    {
                        dtDigitInic.Dispose();
                    }
                }
            }
            if (quadra == 0)
            {
                try
                {
                    rv.LocalReport.ReportPath = Server.MapPath("~/ReportViewer/TotalUnidadesDigi.rdlc");
                    oConn.Open();
                    OracleCommand cmd = new OracleCommand(@"
                                                            SELECT im.cod_municipio,
                                                                im.cod_macroarea,
                                                                im.cod_pis,
                                                                im.cod_pif,
                                                                im.cod_quadra
                                                               	
                                                             	
                                                            FROM   	
                                                                pgo_unidade_24 pg,tab_imovel im
                                                            where     	
                                                                pg.cod_municipio = im.cod_municipio AND
                                                                pg.cod_macroarea = im.cod_macroarea AND
                                                                pg.cod_pis = im.cod_pis AND 
                                                                pg.cod_pif = im.cod_pif AND
                                                                pg.cod_quadra = im.cod_quadra AND
                                                                pg.cod_lote = im.cod_lote AND
                                                                pg.cod_edificacao = im.cod_edificacao AND
                                                                pg.cod_unidade = im.cod_unidade AND  
                                                                pg.cod_municipio = :Municipio AND
                                                                pg.cod_macroarea = :Macroarea AND
                                                                pg.cod_pis = :Pis AND
                                                                pg.cod_pif = :Pif
                                                       	order by
                                                                im.cod_municipio,
                                                                im.cod_macroarea,
                                                                im.cod_pis,
                                                                im.cod_pif,
                                                                im.cod_quadra",oConn);  

                                                            

                    cmd.CommandType = CommandType.Text;

                    cmd.Parameters.Add(new OracleParameter("Municipio", OracleType.Char)).Value = municipio;
                    cmd.Parameters.Add(new OracleParameter("Macroarea", OracleType.Char)).Value = macroarea;
                    cmd.Parameters.Add(new OracleParameter("Pis", OracleType.Char)).Value = pis;
                    cmd.Parameters.Add(new OracleParameter("Pif", OracleType.Char)).Value = pif;
                    //cmd.Parameters.Add(new OracleParameter("Quadra", OracleType.Char)).Value = quadra;

                    OracleDataReader drDigitInic = cmd.ExecuteReader(Commandbehavior.CloseConnection);
                    dtDigitInic.Load(drDigitInic);

                    ReportDataSource myReport = new ReportDataSource("consulta",dtDigitInic);
                    rv.LocalReport.DataSources.Add(myReport);
                    
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
                finally
                {
                    if (oConn != null)
                    {
                        oConn.Close();
                        oConn.Dispose();
                    }

                    if (dtDigitInic != null)
                    {
                        dtDigitInic.Dispose();
                    }
                }
            }

        }

    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jose Carlos Motta, seja bem vindo ao Fórum iMasters, conheça nossas regras: Regras do Fórum

 

Você ja debugou para ver se os datasets estão sendo alimentados corretamente? Temos duas etapas, ver se os DataSet não estão sendo alimentados corretamente e ver se estão e o problema esta no crystal.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.