VB.NET-MYSQL -CRYSTAL SAP- NAO IMPRIMI CAMPO DATA

GEORGENES 04/08/2014 18:45:55
#440177
ESTOU COM UM PROBLEMA QUE NAO APARECE CAMPO DADA NO CRYSTAL COM MYSQL
ESTOU DESENVOLVENDO EM VB.NET 2010 COM SAP DO CRYSTAL INSTALADO.
O PROBLEMA é QUE PRECISO IMPRIMIR CAMPOS DATA, COISA COMUM EM QUALQUER RELATORIO, NO PREVIEW DO RELATORIO TUDO FUNCIONA, POREM QUANDO CARREGO A APLICACAO NAO APARECE O CAMPO DATA, SIMPLESMENTE FICA EM BRANCO.
ALGUEM TERIA ALGUMA DICA ?

GEORGENES
NILSONTRES 04/08/2014 19:25:10
#440179
Veja como esta formatado no crystal, e veja se a largura dele esta pequena.
GEORGENES 06/08/2014 09:50:02
#440223
esta na largura certa e esta formatado DD/MM/YYYY., porem na aplicacao os campos datas são ignorados
GEORGENES 08/08/2014 11:25:40
#440289
GALERA !!!
APOS VARIOS DIAS DE INCANSAVEIS PESQUISA E DE QUEIMAR MEU CEREBRO E ATé FALAR VIA CHAT COM O SAP DA CRYSTAL NOS EUA, DESCOBRI SOZINHO O PROBLEMA.
TRATA-SE DE UM BUG DA CONEXAO .NET DO MYSQL (MySql.Data.MySqlClient) COM O CRYSTAL.
QUANDO VOCE USA A CONEXAO .NET PARA GERAR O DATATABLE E COLOCAR NO relatorio.SetDataSource , O RELATORIO FICA LOUCO E IGNORA TUDO QUE é CAMPO DATA.
POREM, MEUS PROBLEMAS ESTAO RESOLVIDOS, VOCE DEVE USAR ODBC PARA GERAR O RELATORIO


[ô] utilizando MySql.Data.MySqlClient NAO FUNCIONA
[ô] simplesmente ignora os campos data e nao aparece
[ô] *********** NAO FUNCIONA ******************
nao esqueca dos imports

Imports MySql.Data.MySqlClient
Imports System.Data.Odbc
Imports System.Data.DataSet
Imports CrystalDecisions.CrystalReports.Engine [ô] usa o ReportDocument
Imports CrystalDecisions.Shared
Imports CrystalDecisions.ReportSourc


Dim mConexao As New MySqlConnection
Dim mComando As New MySqlCommand
Dim mDataAdap As New MySqlDataAdapter
Dim mDataRead As MySqlDataReader
Dim strConexao As String = [Ô]server=localhost:3306;User Id=root;password=;Persist Security Info=True;database=meu_database[Ô]
mConexao = New MySqlConnection()
mConexao.ConnectionString = strConexao
mConexao.Open()

Dim sSql As String = [Ô][Ô]

sSql = [Ô]select * from minha_tabela [Ô] [ô] que contem os campos tipo DATE e DATETIME

Dim Da As New MySqlDataAdapter [ô] data adapter
Da.SelectCommand = New MySqlCommand(sSql, mConexao)
Dim table As New DataTable
Dim Ds As New DataSet

Dim oRP As New RelVendasTeste [ô]RelVendasTeste é o nome do relatorio dentro do projeto

oRP.SetDataSource(Ds.Tables([Ô]table[Ô]))
CrystalReportViewer1.ReportSource = oRP [ô] oRP é RelVendasTeste que é o nome do relatorio dentro do projeto
CrystalReportViewer1.RefreshReport()


[ô]................ ABAIXO USANDO ODBC FUNCIONA !!!!

Dim StringConexao As String, vProvider As String
StringConexao = [Ô]driver={MySQL ODBC 5.3 ANSI Driver};server=localhost;Port=3306;uid=root;Password=;database=meu_database[Ô]
vProvider = [Ô]driver={MySQL ODBC 3.51 Driver}[Ô]
Dim Db As New OdbcConnection(StringConexao)
Db.ConnectionString = StringConexao
Db.Open()

Dim Da2 As New OdbcDataAdapter [ô] MySqlDataAdapter [ô] data adapter
Dim table2 As New DataTable
Dim Ds2 As New DataSet
Ds2.DataSetName = [Ô]table[Ô]


[ô]criando query para pegar tabela
Dim DataAdapter As New OdbcDataAdapter(sSql, Db)

Dim DatSet As DataSet = New DataSet
DatSet.DataSetName = [Ô]table[Ô]
DataAdapter.Fill(DatSet, [Ô]table[Ô])
oRP.SetDataSource(DatSet.Tables([Ô]table[Ô]))
CrystalReportViewer1.ReportSource = oRP [ô] [ô] oRP é RelVendasTeste que é o nome do relatorio dentro do projeto
CrystalReportViewer1.RefreshReport()


é IMPRESSIONANTE NÃO ?
MAXCIM 08/08/2014 11:38:08
#440290
Resposta escolhida
cara, não sei se isso é um bug no conector.. mas experimenta converte seu campo data dessa forma na SQL;

DATE_FORMAT( seu campo , [ô]%d/%m/%Y[ô]) AS seu campo

fica assim select DATE_FORMAT( seu campo_data , [ô]%d/%m/%Y[ô]) AS seu campo data, outros campos from sua tabela
NILSONTRES 08/08/2014 15:30:23
#440291
Já utilizei assim, e não tive problemas com dataset.
Agora a real é que dataset para crystal eu não recomendo, quando vc muda ou acrescenta um campo na tabela, para atualizar esse dataset
é complicado.
Melhor forma para crystal é gerar list(of tabela)
Cria um list com os campos da tabela.
O Crystal reconhece como objeto.
Exemplo
Tópico encerrado , respostas não são mais permitidas