Array
(
)

VB.NET Crystal report 2008 Visual Studio 2008

Klassmann
   - 20 ago 2008

Olá pessoal,
procurei por tudo que é lugar, só o google sabe o quanto, até agora só encontro material para trabalhar com o Crystal report no Visual studio 2005.

Alguem sabe como fazer um relatório básico pelo Visual studio 2008 + Crystal reports 2008 ?

Ou algum site com material de ajuda?

Meu sistema é feito em VB.NET 3.5 e MySQL 5.0 com o conector .NET do MySQL, é basicamente isso.

Mas em questão de relatório estou passando um trabalhão e não consegui nada.

Agradeço a todos que me responderem, obrigado.

Bruno.vigidio
   - 21 ago 2008

Para montar o relatório o processo é o mesmo do VB.NET 2005.

Eu usei o curso de Crystal Report aqui da devmedia e funcionou tudo.

A diferença é na hora de criar o pacote de instalação. No 2005 você adiciona os módulos dentro do pacote, no 2008 você instala na máquina o CRRedist2008_x86.msi, se for para máquinas 32bits e se for para máquinas 64bits use o CRRedist2008_x64.msi.

Nick234
   - 13 nov 2008

Rapaz estou com o mesmo problema!

com o visual studio 2008 e Mysql

Eu coloco os dados no relatório, no modo preview aparece alguns dados fictícios e quando tento visualizar no aplicativo rodando não me aparece nada!!!!!!!!!!!!!!!!

Grato.

Ecfrsbg
   - 17 nov 2008

Eu tive o mesmo problema, consegui resolver criando um pacote com o framework 3.5, o 2.0, e o fundamental que fez a diferença foi

o Crystal Reports Basic for Visual Studio 2008(x86, x64) presentes na guia projetc\publish botão prerequisites ai resolveu , também havia
instalado os packs do crystal como vcs mas nao me ajudaram.

http://forum.devmedia.com.br/viewtopic.php?t=98232&;highlight=crystal+reports

Nick234
   - 17 nov 2008

Como voce resolveu?

acho que voce nao entendeu minha duvida...

Eu nao consigo pegar os dados do banco de dados pelo DataSet criado no meu Projeto,

Consigo apenas pelos Drivers OBDC....

Ecfrsbg
   - 17 nov 2008

Desculpe nao havia entendi em que momento ocorria o erro, na verdade
tive algo semelhante a sua exceção, que nao estava carregando o dataset, em tempo de execução. Resolvi desta forma:

sSql = ´´

Dim ds As New dataset
Dim cm As New Npgsql.NpgsqlCommand(sSql, db.ConectaDB())
Dim dr As Npgsql.NpgsqlDataReader = cm.ExecuteReader
db.PreencheDataSetDeDataReader(ds, ´tabeladodataset´, dr)

Dim rpt = New rpt()
Dim strReportPath As String = String.Concat(My.Application.Info.DirectoryPath(), ´\rpt.rpt´)

Me.CrystalReportViewer1.ShowGroupTreeButton = False
Me.CrystalReportViewer1.ReportSource = rpt
Me.CrystalReportViewer1.Zoom(75)
Me.CrystalReportViewer1.ReportSource = rpt
rpt.Load(strReportPath)
rpt.SetDataSource(ds)

Public Sub PreencheDataSetDeDataReader(ByVal ds As DataSet, ByVal table As String, ByVal dr As IDataReader)
´ Cria um xxxDataAdapter do mesmo tipo de um DataReader
Dim tipoDataReader As Type = CObj(dr).GetType
Dim nomeTipo As String = tipoDataReader.FullName.Replace(´DataReader´, ´DataAdapter´)
Dim tipoDataAdapter As Type = tipoDataReader.Assembly.GetType(nomeTipo)
Dim da As Object = Activator.CreateInstance(tipoDataAdapter)
´ invoca o método protegido Fill que toma um objeto IDataReader
Dim args() As Object = {ds, table, dr, 0, 999999}
tipoDataAdapter.InvokeMember(´Fill´, BindingFlags.InvokeMethod Or BindingFlags.NonPublic Or BindingFlags.Instance, Nothing, da, args)
´ fecha o DataReader
dr.Close()
End Sub

Nick234
   - 17 nov 2008

Ihh.. eu to usando C#, mas chegando em casa eu vou avaliar melhor esse codigo e porta-lo para o mesmo.

Obrigado... mas voce sabe me dizer o porque nao consigo acessar os dados no meu relatorio a partir de DataSet ja criados no sistema??

Isso é algum bug do Visual Studio, ou existe realmente um porquê para isso acontecer??

Ecfrsbg
   - 17 nov 2008

Me corrijam os especialistas, mas o que ocorre é que o dataset é atualizado qdo a query é executada, neste caso estou usando um client
de um banco dados que efetua esta transicao, e este client que atualiza meu dataset.

O x de tudo é o uso do datareader com o dataset que tem esta funcao,
é um tanto chato fazer rodar esta rotina mas em resumo o datatable é preenchido e este ´exporta´ para o dataset com o uso do datareader.

Nick234
   - 17 nov 2008

Ééééééééééé

ta aí uma possível solução, DataReader,

faço uma consulta ao BD com DataReader trasendo somente o cadastro desejado e inserindo no Relatório (Crystal Report) sem precisar utilizar uma conexão OBDC para o mesmo....

Eu li sobre esse tipo de conexão ontem de madrugada, sou novo no assunto, estou programando no C# a pouco menos de 15 dias (2 semanas),

Se você tiver algum artigo ou tutorial falando sobre como utilizar DataReader ficarei bastante Grato.

Grato desde já.

Ecfrsbg
   - 17 nov 2008

Artigos tem varios, inclusive aqui na nossa devmedia, te sugiro assinar a .net maganize ou ler os artigos free pois acho o melhor conteudo na web sobre .net.

O datareader é uma das pérolas do .net além de ser mais performático que o odbc, seja mysql ou qual for o banco baixe do driver .net do mesmo e pegue algum exemplo de conexão simples(string) e fassa uma query. pronto.

Nick234
   - 17 nov 2008

Gostei! :D

Vou procurar saber e me informar mais...

enquanto isso acho que vou montar o relatorio com ODBC mesmo, meu chefe aqui ja esta buzinando no meu ouvido...

o unico intecílio será o dever de criar um alias no windowsXP da máquina do cliente correto?

Ou na hora de eu criar o instalador do sistema ele me dá a opção de gerar automaticamnete esse Alias?

Ecfrsbg
   - 17 nov 2008

se usar odbc sim.

Ecfrsbg
   - 18 nov 2008

Eu tenho um livro de C# que aho muito prático para quem quer ter uma noção de sistema em dot net, também tem uma boa pitada de teoria de orientação a objetos e sobre as classes do framework.
C e .Net Guia do desenvolvedor.
Editora Campus de Edwin Lima e Eugênio Reis