Here is some code I use to pass 1 parameter to a Crystal Report:

Dim crColParameters As ParameterFieldDefinitions
Dim crColParameter As ParameterFieldDefinition
Dim crParameterValues As ParameterValues
Dim crParameterDiscreteValues As ParameterDiscreteValue = New
ParameterDiscreteValue()
Dim crConnectionInfo As New ConnectionInfo()
Dim crDatabase As Database
Dim crTables As Tables
Dim crTable As Table
Dim crTableLogOnInfo As New TableLogOnInfo()



'****** 1 Parameter set here to the Web SessionID
crColParameters = crReportDocument.DataDefinition.ParameterFields()

crColParameter = crColParameters.Item(0)
crParameterValues = crColParameter.CurrentValues()
crParameterDiscreteValues.Value =
HttpContext.Current.Session.SessionID.ToString
crParameterValues.Add(crParameterDiscreteValues)

crColParameter.ApplyCurrentValues(crParameterValue s)
'****** End Session Code

crConnectionInfo.ServerName = <Myserver>
crConnectionInfo.DatabaseName = <MyDB>
crConnectionInfo.UserID = <MyUID>
crConnectionInfo.Password = <MyPWD>

crDatabase = crReportDocument.Database
crTables = crDatabase.Tables

For Each crTable In crTables
crTableLogOnInfo = crTable.LogOnInfo
crTableLogOnInfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crTableLogOnInfo)
Next