In Crystal report wizard, locate your odbc created with username and password.
Then you will see a Command text, You can put your Query in there.
This code for 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
This code is for 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();
Your crystal report parameter name must be the same with in your Code Behind.