Crystal report e store procedure

lunedì 26 ottobre 2009 - 14.50

enzo49910100 Profilo | Junior Member

ciao avrei bisogno di un aiuto
volevo sapere se è possibile con crystal report 9.1.5 (quella presente in vs2003)caricare una store procedure
perche quando costruisco il report con il provider ole db sql Server questo mi carica sole le tabelle del db
grazie mille

freeteo Profilo | Guru

Ciao,
purtroppo non ho quella versione, ho solo quella del 2005/2008 quindi non posso essere preciso.
Però mi sembra strano che nell'esperto database (quando aggiungi una sorgente dati al report) nella treeview dove hai le tabelle, non ti mostri su nessun nodo anche le stored...
Io uso OLE DB e gli dico Microsoft OLEDB for SqlServer e poi vicino alle tabelle le trovo...se così non succedesse, potresti provare ad aggiungere un "comando" quindi di fatto una query sql che vuoi tu, chiamando la stored invece che una select normale.
Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

enzo49910100 Profilo | Junior Member

Ciao purtroppo non mi fa vedere i nodi delle store Procedure ma solo quelle delle tabelle e delle viste cosa che invece posso vedere con il crystal report XI. Per quanto riguarda il Command non sono come passare i parametri alla query sai come si fa?
ps non c'è nessun tasto nel Command che mi permette di inserire i parametri come invece mi sembra ci sia con la versione XI posso solo inserire il testo della query sai come posso passarglieli
grazie

volperubbia Profilo | Senior Member

Ciao,
perchè invece di usare direttamente una stored procedure ...

Ti crei un dataset e il report lo costruisci su una sua tabella,
che dovrai popolare prima di passare al report.

Dim rpt AS ReportClass = New MioReport
dim tbl AS DataTable = ...
...
... popoli la tbl con quello che ti restituisce la stored procedure
...
rpt.SetDataSource(tbl)

Non so se ho capito bene il tuo problema, comunque questo
approccio "disconnesso" lo uso da anni

Davide

enzo49910100 Profilo | Junior Member

Io voglio far eseguire la query a una store Procedure e non al report.
Per quanto riguarda la tua soluzione, per quanto ne sò io non devo cmq dare una struttura al report
con il report Design oppure posso costruire un report vuoto e poi passargli la DataTable?
grazie mille
Ciao

volperubbia Profilo | Senior Member

1. crei un dataset con una tabella
2. crei un report vuoto e ci aggiungi come sorgente dati la tabella del dataset
3. ti fai il report con i campi della tabella
3. definisci un oggetto datatable, tbl, e lo popoli con quello che vuoi (select ... o stored procedure)
4. con il codice che ti ho dato prima rpt.SetDataSource(tbl)

Il report non sa nulla di quello che usi tu per popolare la tabella,
sa solo che deve arrivargli in pasto una tbl.

Davide

enzo49910100 Profilo | Junior Member

Ciao ma tu come dataset usi quello di Design? cioè .xsd

volperubbia Profilo | Senior Member

Si, hai un esempio di dataset in allegato.
Al momento sviluppo su VS.2005, comunque la modalità disconnessa
la usavo pari pari su VS.2003, senza problemi.
In progettazione poi, come ti dicevo, ti crei un nuovo report usando come
datasource la tabella del dataset.

Prova
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