Probably you should set the parameter name without "@" when using Crystal Report. Maybe it's an old post but it may be helpful for others who still need a solution for this problem.
report.SetParameterValue("FromDate", TextBox1.Text);
instead of
report.SetParameterValue("@FromDate", TextBox1.Text);
Give it a go.