When you are accessing the database, you will need to provide the connection information for each table in your report/subreport.
Use ConnectionInfo object to setup it at runtime before you setting ReportSource property of the Crystal Report Viewer object.
All can be changed: database name, user, password, or even new server that is different that one that was setup when the report was designed.
So iterate through all tables accessed in report/subreport and set TableLogOnInfo property for each table.
TableLogOnInfo myLoginfo= new TableLogOnInfo();
myLoginfo.ConnectionInfo.DatabaseName =
myLoginfo.ConnectionInfo.Password=
myLoginfo.ConnectionInfo.Servername=
myLoginfo.ConnectionInfo.UserId=
-obislavu-