none
Crystal Reports VS 2010, Problema ao relacionar query com relatório RRS feed

  • Pergunta

  • Olá amigos.
    Estou criando um relatório no VS2010, onde de acordo com uma id de projeto terei de puxar a informação de diversas tabelas relacionadas.  já estou conseguindo exibir o relatório pegando um valor de uma Session com a id para o relatório neste código:
     
        private void BindReport()
        {
            ReportDocument report = new ReportDocument();
            report.Load(Server.MapPath("~/CadastroRef/Relatorios/Relatorio.rpt"));
            SetTableLocation(report.Database.Tables);
            
            int id_proj = Convert.ToInt32(Session["id_proj"]);
    
            CrystalDecisions.Shared.ParameterField prmId_Proj;
    
            prmId_Proj = report.ParameterFields["paramId_Proj"];
            prmId_Proj.CurrentValues.AddValue(id_proj);
    
            CrystalReportViewer1.ReportSource = report;
            
    
    
        }
    
    


     mas tenho duas dúvidas:
    1- Tenho uma query pronta que retorna exatamente o que preciso no banco. Agora preciso relacioná-la ao relatório, e n sei como fazer isto!
    2- Para um projeto tenho ocorrências de uma mesma tabela relacionada, preciso que cada apareça em uma nova pagina, existe alguma forma para fazer isto desta forma?
     
    Obrigado!
     
    sexta-feira, 4 de novembro de 2011 12:06

Todas as Respostas

  • Alguém pode me ajudar???

     

    Estou tentando isto: 

       private void BindReport()
        {
            bool bSuccess = false;
            ReportDocument report = new ReportDocument();
            report.Load(Server.MapPath("~/CadastroRef/Relatorios/Relatorio.rpt"));
                SetTableLocation(report.Database.Tables);
                CrystalReportViewer1.ReportSource = report;
    
            //    CrystalReportViewer1.ReportSource = Persistência.DAO.retornaDataSet(strPreencheRelatorio(), "DBCLIENTES");
    
            //}
            //catch (Exception ex)
            //{
            //    Response.Write(ex.Message);
            //}
                DataTable dtGeral = new DataTable();
                dtGeral.Columns.Add("NM_RAZAO", Type.GetType("System.String"));
                dtGeral.Columns.Add("NM_PROJ", Type.GetType("System.String"));
                dtGeral.Columns.Add("NM_VULS", Type.GetType("System.String"));
                dtGeral.Columns.Add("CRIT_CLI", Type.GetType("System.String"));
                dtGeral.Columns.Add("ID_CWE", Type.GetType("System.String"));
                dtGeral.Columns.Add("ID_CVE", Type.GetType("System.String"));
                dtGeral.Columns.Add("ID_CCE", Type.GetType("System.String"));
                dtGeral.Columns.Add("CVSS_TEMPSCORE", Type.GetType("System.String"));
                dtGeral.Columns.Add("CVSS_ENVRSCORE", Type.GetType("System.String"));
                dtGeral.Columns.Add("CVSS_BSSCORE", Type.GetType("System.String"));
                dtGeral.Columns.Add("SIT_ENCTR", Type.GetType("System.String"));
                dtGeral.Columns.Add("IMPCT_CLI", Type.GetType("System.String"));
                dtGeral.Columns.Add("RECMD_CLI", Type.GetType("System.String"));
                dtGeral.Columns.Add("DSCR_IMG", Type.GetType("System.String"));
                dtGeral.Columns.Add("IMG", Type.GetType("System.Byte"));
                dtGeral.Columns.Add("NM_SIS  ", Type.GetType("System.String"));
                dtGeral.Columns.Add("IP_SIS  ", Type.GetType("System.String"));
                dtGeral.Columns.Add("URLS_SIS", Type.GetType("System.String"));
                dtGeral.Columns.Add("PORTAS  ", Type.GetType("System.String"));
                DataRow drGeral;
    
    
    
    
                
                SqlConnection objConn = new SqlConnection(Persistência.DAO.criaConexao("DBVULNERABILIDADES"));
                SqlCommand objComm = new SqlCommand(QueryPreencheRelatorio(), objConn);
                objConn.Open();
                SqlDataReader objDataReader = objComm.ExecuteReader();
    
                try
                {
                    
                    if (objDataReader.HasRows)
                    {
                        drGeral = dtGeral.NewRow();
                        drGeral["NM_RAZAO"] = objDataReader["NM_RAZAO"] + "";
                        drGeral["NM_PROJ"] = objDataReader["NM_PROJ"] + "";
                        drGeral["NM_VULS"] = objDataReader["NM_VULS"] + "";
                        drGeral["CRIT_CLI"] = objDataReader["CRIT_CLI"] + "";
                        drGeral["ID_CWE"] = objDataReader["ID_CWE"] + "";
                        drGeral["ID_CVE"] = objDataReader["ID_CVE"] + "";
                        drGeral["ID_CCE"] = objDataReader["ID_CCE"] + "";
                        drGeral["CVSS_TEMPSCORE"] = objDataReader["CVSS_TEMPSCORE"] + "";
                        drGeral["CVSS_ENVRSCORE"] = objDataReader["CVSS_ENVRSCORE"] + "";
                        drGeral["CVSS_BSSCORE"] = objDataReader["CVSS_BSSCORE"] + "";
                        drGeral["SIT_ENCTR"] = objDataReader["SIT_ENCTR"] + "";
                        drGeral["IMPCT_CLI"] = objDataReader["IMPCT_CLI"] + "";
                        drGeral["RECMD_CLI"] = objDataReader["RECMD_CLI"] + "";
                        drGeral["DSCR_IMG"] = objDataReader["DSCR_IMG"] + "";
                        drGeral["IMG"] = objDataReader["IMG"] + "";
                        drGeral["NM_SIS  "] = objDataReader["NM_SIS"] + "";
                        drGeral["IP_SIS  "] = objDataReader["IP_SIS"] + "";
                        drGeral["URLS_SIS"] = objDataReader["URLS_SIS"] + "";
                        drGeral["PORTAS  "] = objDataReader["PORTAS"] + "";
    
                        CrystalDecisions.Shared.ParameterField prmNm_Proj;
                        prmNm_Proj = report.ParameterFields["prmNm_Proj"];
                        prmNm_Proj.CurrentValues.AddValue(drGeral["NM_PROJ"].ToString());
                    }
    
                }
                catch (Exception ex)
                {
                    Response.Write(ex.Message);
                }
    
    
                objConn.Close();
    }
    Como podem ver crio um data table e tento preenche-lo com valores resultantes de uma query que está funcionando perfeitamente, mas no debug na linha 
    drGeral["NM_RAZAO"] = objDataReader["NM_RAZAO"] + "";

    ele já da erro.

    Sabem o que pode ser?

    • Editado Ricardo Nader segunda-feira, 7 de novembro de 2011 12:23
    segunda-feira, 7 de novembro de 2011 12:17
  • Gente por favor alguém pode ajudar??????????
    segunda-feira, 7 de novembro de 2011 18:36
  • Bom só para registro, preferi fazer um relatório simples em html.
    terça-feira, 8 de novembro de 2011 12:28