Aiuto!! Vb Net - MySql - Crystal Report

lunedì 14 giugno 2004 - 00.02

Leo Profilo | Junior Member

Salve a tutti! Eccomi loggato per la prima volta .. spero che qualcuno di voi sia passato con successo in questo tipo di problematica!
Io devo connettere Vb Net con MySql e generare report!
Fin qui tutto ok .. nel senso che riesco a connettermi .. e a visualizzare i dati nel report solamente con la composizione guidata, nel senso che io vorrei passare dinamicamente i dati al report CR, invece lui mi passa tutto quello che si trova nel database.
A questo punto .. se non sbaglio la strada da prendere e' quella di creare un DataSet1.Xsd e collegarlo al report?
Io ho provato da codice a collegare un dataset al report, pero' a lui non gli frega nulla dei dati che gli passo con la query, e mi fa vedere tutti i record del database nel report!
Io ho fatto il collegamento guidato con CR tramite il driver ODBC, mi fa vedere le tabelle e mi fa trascirae i campi che mi interessano nel report?
Come faccio a filtrare i dati??
Di seguito la procedura "Errata" che utilizzo per passare i dati:

Rpt = New ReportDocument
Rpt.Load("C:\Documents and Settings\Administrator\Documenti\Visual Studio Projects\Prova\Report.rpt")

Dim DataAdapter As New MySqlDataAdapter
Dim dataset As New DataSet("DETT_SPEDIZIONI")
Dim mysql As New WL_MYSQL
mysql.Open()
DataAdapter.SelectCommand = New MySqlCommand("SELECT NR_DDT ,ST_DDT FROM DETT_SPEDIZIONI WHERE NR_SEQUENCE = 70", mysql.Conn)

DataAdapter.Fill(dataset, "DETT_SPEDIZIONI")
Rpt.SetDataSource(dataset)

CrystalReportViewer1.ReportSource() = Rpt

Ma secondo Voi che cosa sbaglio?
Perche' non mi prende solo i dati della query?
Perche' se ne frega del Dataset?

Vi ringrazio anticipatamente per qualsiasi risposta!!
Ciao

freeteo Profilo | Guru

ciao,
per il tuo problema la soluzione sembra abbastanza facile: tu metti come datasource il dataset intero, mentre ed è vero che crystal lo "ignora".... se metti invece la tabella esatta della query (ovvero setdatasource=dataset.tables(0)...) allora dovrebbe funzionare.
Questo succede perche' crystal non ha, come altri webcontrols, la proprieta' "datamember" percui probabilmente si aspetta esattamente quello che vuole, altrimenti ci prova da solo ;-)

prova cosi'
ciao

PS: io di default uso oledb (raramente 1 file di database) come connessione, perche sai odbc quando distribuisci potrebbe risultare meno agile

Leo Profilo | Junior Member

Ciao Teo,
scusami .. io ho provato a fare cosi' :

Rpt.SetDataSource = dataset.Tables(0)

oppure cosi':

Rpt.SetDataSource = dataset.Tables("DETT_SPEDIZIONI")

.. forse manca qualcosa ?
ma non mi funziona .. perdona l'ingenuità .. ma non sono molto ferrato in materia!!
Grazie per l'interessamento!

Mirco

Leo Profilo | Junior Member

Eccomi qui!!
Teo .. e' bastato un minimo di attenzione per risolvere .. prima sbagliavo, e' cosi' che dovevo fare :

Rpt.SetDataSource(dataset.Tables(0))

Ok .. ora sono a posto!!
Grazie
Ciao

Mirco

freeteo Profilo | Guru

ciao,
infatti di solito i set/get etc.. sono metodi (a parte che dovresti vedere l'icona diversa) e quindi gli vanno passati i parametri...
ok cmq l'importante che funzioni, cmq per migliorare le prestazioni potresti a nche evitare di caricare il dataset, ma lavorare su recordselectionformula e ovviamente specificare il percorso del db ;-)

ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5