none
Crystal Report Sem Dataset Tipado RRS feed

  • Pergunta

  •  

    Boa Tarde,

     

              Sei que já existem centenas de tópicos perguntando sobre os tais relatórios "Crystal Report" e há por ai também centenas de resposta que me foram muito úteis.

              O problema é que cada pergunta tem um certo foco, a minha é mais geral.

              Fazem dois dias que começei a tentar fazer esses tais Crystal Reports começando do zero. Nem sabia da existência deles até me mandarem fazer um.

              Enfim, seguindo alguns tutoriais e alguns códigos aqui e acolá eu consegui montar um relatório da maneira que eu queria, esperando apenas para receber os dados do meu banco de dados que, neste caso, não está "anexado" ao meu relatório.

              Montei um dataset, digitando os "Selects" da vida e tal, utilizando o wizard peguei este dataset, montei o relatório com os campos das tabelas e tal. Não sei se fiz algo errado.

              Ai vem o problema. Não consigo preencher os dados do relatório. Entre meus 2 dias de pesquisa cheguei a este código (Que por acaso deve estar completamente errado):

     

    public void ExibirRelatorio()

    {

    ReportDocument report = new ReportDocument();

    report.Load(@"C:\projetos\MODELO\Interface\CrAssinatura.rpt");

    report.RecordSelectionFormula = "{tblAssinatura.ASS_Codigo} = \"" + CodigoAssinatura.ASS_Codigo + "\"";

    report.Refresh();

    crystalReportViewer1.ReportSource = report;

    }

     

              Onde tblAssinatura é a minha tabela que se encontra no meu DataSet (DsRecebimento), ASS_Codigo é o código da assinatura e CodigoAssinatura.ASS_Codigo é o código da assinatura que eu puxo de outro form (Este está vindo da maneira que deveria vir: "000001")

              Tudo o que ele faz é abrir o relatório, mas com todos os campos em branco.

              Caso possam ajudar, por favor sejam claros. Nada sobre Crystal faz muito sentido pra mim ainda. E pensem que eu possa ter feito qualquer cagada em qualquer um dos passos até chegar ai.

     

    Obs: Estou utilizando o Microsoft Visual Studio 2005, linguagem C#  para winform.

     

    Grato desde já.

     

    [ ]'s

    terça-feira, 13 de janeiro de 2009 17:55

Respostas

  • Estava "pouco" errado... =]

     

     

    O código certo, funcionando, está ai para quem precisar:

     

    public void ExibirRelatorio()

    {

    SqlConnection cn = new SqlConnection(PConfigureConnection.ConnectionString);

    SqlDataAdapter daass = new SqlDataAdapter("SELECT * FROM tblAssinatura WHERE ASS_Codigo = @ASS_Codigo",cn);

    daass.SelectCommand.Parameters.AddWithValue("@ASS_Codigo", CodigoAssinatura.ASS_Codigo);

    SqlDataAdapter dacli = new SqlDataAdapter("SELECT * FROM tblCliente WHERE CLI_Codigo = @CLI_Codigo", cn);

    dacli.SelectCommand.Parameters.AddWithValue("@CLI_Codigo", CodigoCliente.CLI_Codigo);

    SqlDataAdapter darec = new SqlDataAdapter("SELECT * FROM tblRecebimento WHERE REC_Assinatura = @REC_Assinatura", cn);

    darec.SelectCommand.Parameters.AddWithValue("@REC_Assinatura", CodigoAssinatura.ASS_Codigo);

    DataSet ds = new DataSet();

    cn.Open();

    daass.Fill(ds.tblAssinatura);

    dacli.Fill(ds.tblCliente);

    darec.Fill(ds.tblRecebimento);

    cn.Close();

    ReportDocument report = new ReportDocument();

    report.FileName = @"C:\projetos\MODELO\Interface\CrAssinatura.rpt";

    report.SetDataSource(ds);

    crystalReportViewer1.ReportSource = report;

    }

     

    []'s

     

    quinta-feira, 15 de janeiro de 2009 13:42

Todas as Respostas

  • Estava "pouco" errado... =]

     

     

    O código certo, funcionando, está ai para quem precisar:

     

    public void ExibirRelatorio()

    {

    SqlConnection cn = new SqlConnection(PConfigureConnection.ConnectionString);

    SqlDataAdapter daass = new SqlDataAdapter("SELECT * FROM tblAssinatura WHERE ASS_Codigo = @ASS_Codigo",cn);

    daass.SelectCommand.Parameters.AddWithValue("@ASS_Codigo", CodigoAssinatura.ASS_Codigo);

    SqlDataAdapter dacli = new SqlDataAdapter("SELECT * FROM tblCliente WHERE CLI_Codigo = @CLI_Codigo", cn);

    dacli.SelectCommand.Parameters.AddWithValue("@CLI_Codigo", CodigoCliente.CLI_Codigo);

    SqlDataAdapter darec = new SqlDataAdapter("SELECT * FROM tblRecebimento WHERE REC_Assinatura = @REC_Assinatura", cn);

    darec.SelectCommand.Parameters.AddWithValue("@REC_Assinatura", CodigoAssinatura.ASS_Codigo);

    DataSet ds = new DataSet();

    cn.Open();

    daass.Fill(ds.tblAssinatura);

    dacli.Fill(ds.tblCliente);

    darec.Fill(ds.tblRecebimento);

    cn.Close();

    ReportDocument report = new ReportDocument();

    report.FileName = @"C:\projetos\MODELO\Interface\CrAssinatura.rpt";

    report.SetDataSource(ds);

    crystalReportViewer1.ReportSource = report;

    }

     

    []'s

     

    quinta-feira, 15 de janeiro de 2009 13:42
  • oi Alexandre...
    ja passam 6 anos ou mais que postast esse codigo, 

    resolveu meu problema hoje(srsrsrs),

    sou iniciante em c# e asp.net e era exatamente o que eu procurava ja a dias...
    muito obrigada!!

    segunda-feira, 30 de março de 2015 22:24