ciao,
effettivamente quando costruisci un report lui si salva la connessione al db, ma è da cambiare sempre quando si distribuisce ovviamente.
Percui, si ci sono 2 modi per farlo:
- impostare le proprieta' di connessione tramite le LogonInfo:
...ReportDocument mioreport as new ReportDocument();
mioreport .Load("c:\...\repotr.rpt");
Dim logOnInfo As New TableLogOnInfo
logOnInfo = mioreport.Database.Tables.Item("Tabella").LogOnInfo
logOnInfo.ConnectionInfo.ServerName = "SERVER"
logOnInfo.ConnectionInfo.DatabaseName = "miodb"
logOnInfo.ConnectionInfo.UserID = "User"
logOnInfo.ConnectionInfo.Password = "pwd"
logOnInfo.TableName = Tabella"
mioreport.Database.Tables[0].ApplyLogOnInfo(logOnInfo)
CrystalReportViewer1.ReportSource = mioreport
CrystalReportViewer1.DataBind();
...
- caricare i dati in 1 datatable/dataset e poi passarlo al report con il metodo "setDataSource":
Dataset miods = new Dataset();
...
ReportDocument mioreport = new ReportDocument ();
mioreport.Load("c:\...\repotr.rpt");
mioreport .SetDataSource (miods);
...
[vale anche se hai una tabella sola (quindi DataTable al posto di DataSet)
prova a vedere quale delle 2 ti sembra piu facile nella tua situazione
ciao.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo