Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
CR integrato in Visual Studio 2008 e collegamento dinamico al db
giovedì 14 maggio 2009 - 10.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Veronica80
Profilo
| Newbie
14
messaggi | Data Invio:
gio 14 mag 2009 - 10:58
Ciao a tutti! E' il mio primo post qui!
Spero possiate darmi una mano!
Allora la questione è questa...io ho creato un report col tool Crystal integrato in Visual Studio 2008, il mio problema è che la connessione al db la faccio col wizard il quale memorizza il percorso del db in modo assoluto.
A causa di ciò se sposto l'applicazione su un altro pc il report non riesce ovviamente a connettersi al db (Che un DB ACCESS).
Come posso fare connettermi via codice in modo da usare il percorso relativo?
(tenendo conto che nel report nn posso inserire codive VB credo)
Spero di non essermi incartata e di esser stata chiara!
Grazie a tutti!!!!
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
gio 14 mag 2009 - 11:33
io avevo un problemino simile, basta che passi al report come fonte dati un oggetto del tuo dataset, non sò se è una soluzione corretta, ma ora a me funziona, inoltre ad ogni aggiornamento che faccio dall'applicazione corrisponde sicuramente un aggiormnamento sul report.
però ovviamente attendi commenti di utenti più competenti :)
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
gio 14 mag 2009 - 11:42
Ciao,
se il report lo usi dentro ad una tua applicaizone, allora puoi usare questo codice per settare i parametri di connessione (metodo1) oppure passare tu direttamente i dati da visuzalizzare (metodo2):
http://www.dotnethell.it/forum/messages.aspx?ThreadID=21962
se vuoi un esempio scaricabile, lo trovi in questo articolo:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Veronica80
Profilo
| Newbie
14
messaggi | Data Invio:
gio 14 mag 2009 - 12:58
grazie per le risposte!
Allora il mio dubbio è questo....il codice dove lo metto?
Io ho creato il report col tool di visual studio, poi ho creato una form in cui ho messo il CrystalViewer in cui carico il report (sempre tramite il wizard).
Dacchè nn si può inserire codice nel report mi vien da pensare che lo devo mettere nella form col viewer giusto?
Quando usavo VB6 era + facile perchè avevo CR a parte e caricavo il report da fuori appunto passandogli le stringhe crystal di connessione.
Purtroppo però non ho la licenza per usare CR su questo pc e mi tocca usare quello integrato nel Visual Studio (che poi è quasi identico).
Ora faccio un po di test e prove e vi dico se mi incarto ancora!
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
gio 14 mag 2009 - 14:11
>grazie per le risposte!
di nulla figurati,siamo qui per questo.
>Allora il mio dubbio è questo....il codice dove lo metto?
come ti avevo segnalato prima, in questo esempio vedi come viene caricato/visualizzato all'ìnterno di una WindowsForm
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx
Se sei su web, cambia solo il fatto che il codice di caricamento del report lo devi fare nel page_load della tua pagina e il path del file .rpt lo recuperi con "Server.MapPath(...)" perchè lo vuole fisico e non "virtuale"
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Veronica80
Profilo
| Newbie
14
messaggi | Data Invio:
gio 14 mag 2009 - 15:48
niente ragazzi....nn riesco a capire come fare....anche perchè ovviamente quel codice nn è che funziona sulla mia applicazione va sicuramente adattato...
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
ven 15 mag 2009 - 18:35
Ciao Veronica.
Premetto che non ho guardato l'articolo proposto da Matteo ... quindi magari parliamo di due cose diverse.
Nell'evento Load del Form contenente il ReportViewer, puoi usare il metodo SetDataSource dell'istanza del Report per impostare un Dataset creato e popolato a runtime con la stessa struttura di quello creato a DesignTime.
Facci sapere...
Ciao
Veronica80
Profilo
| Newbie
14
messaggi | Data Invio:
sab 16 mag 2009 - 08:56
Mmmm io per connettermi al db (nel programma intendo) uso una connessione ADO via codice. quindi non ho dataset nel progetto (se ho capito bene cos'è un dataset!).
Con vb6 ci riuscivo benissimo ma col vb.net mi sto incartando...
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
sab 16 mag 2009 - 11:44
Ciao Veronica.
Facciamo un pò di chiarezza.
Per costruire un Report con CrystalReport che visualizza i campi di un database, devi per forza avere un Dataset.
Un Dataset è un contenitore dati disconnesso che rappresenta i dati che persistono nel Db.
Nel tuo progetto avrai un file con estensione .xsd .... quello è il Dataset.
Quel Dataset conterrà delle DataTable che rispechhiano la struttura delle tabelle che hai nel DB o quanto meno che rispecchia una vista.
Tu potresti, a RunTime, creare una nuova istanza di questo DataSet(o quanto meno della DataTable contenenti i campi da popolare per il report) e impostarla come fonte dati del Report attraverso il metodo SetDataSource.
Questo è possibile farlo in quanto ciò che passi al report come origine dati ha la stessa struttura di quella usata in fase di Design.
Rimango a disposizione per ulteriori info....ma forse conviene che cominciamo ad entrare un pò più nello specifico del tuo scenario.
Facci sapere...
Ciao.
Torna su
Stanze Forum
Elenco Threads
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 !