No assistente do Crystal Report, localize seu odbc criado com nome de usuário e senha.
Então você verá um texto de comando, você pode colocar sua consulta lá.
Este código para VB.NET
Private CRPT As New ReportDocument
Private APPPATH As String
Private PARAM As New ParameterFields
Public PARAM_DESC As New ParameterDiscreteValue
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
APPPATH = Application.StartupPath & "\REPORT\sample.rpt"
CRPT.Load(APPPATH)
Me.CrystalReportViewer1.ReportSource = CRPT
PARAM = CRPT.ParameterFields
PARAM_DESC.Value = Format(DatePicker1.Value, "yyyyMMdd")
PARAM("DATEP").CurrentValues.Clear()
PARAM("DATEP").CurrentValues.Add(PARAM_DESC)
Me.CrystalReportViewer1.Refresh()
End Sub
Este código é para C#:
CRPT = new ReportDocument();
APPPATH = Environment.CurrentDirectory + "Sample.rpt";
CRPT.Load(APPPATH);
Report_Viewer.Refresh();
CRPT.SetParameterValue("syear", Servercls.year);
CRPT.SetParameterValue("smonth", Servercls.month);
CRPT.SetParameterValue("sday", Servercls.day);
CRPT.SetParameterValue("datevalue", Servercls.Datevalue);
Report_Viewer.ReportSource = CRPT;
sc.configureCrystalReport();
Report_Viewer.Refresh();
O nome do parâmetro do Crystal Report deve ser o mesmo do Code Behind.