string str_path = System.IO.Directory.GetCurrentDirectory() + "\\CrystalReports\\TJ_TeaBringStuTotal.rpt";//路径
rd.Load(str_path);
rd.SetDataSource(dst);

// 声明将参数传递给
//查看器控件所需的变量。
ParameterFields paramFields = new ParameterFields ();
ParameterField paramField = new ParameterField ();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();
// ParameterRangeValue rangeVal = new ParameterRangeValue ();
paramField.ParameterValueKind = ParameterValueKind.DateTimeParameter;
paramField.ParameterFieldName = "@regindate";
discreteVal.Value =dtP_qs.Value.ToString("yyyy-M-d h:mm:ss");
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField); paramField = new ParameterField();
paramField.ParameterValueKind = ParameterValueKind.DateTimeParameter;
paramField.ParameterFieldName = "@enddate";
discreteVal.Value =   dtP_zz.Value.ToString("yyyy-M-d h:mm:ss");
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
//
paramField = new ParameterField();
paramField.ParameterValueKind = ParameterValueKind.StringParameter;
paramField.ParameterFieldName = "@Jlbh";
discreteVal.Value = "111111";
paramField.CurrentValues.Add(discreteVal);
paramFields.Add(paramField);
//  将参数字段集合放入查看器控件。
crystalReportViewer1.ParameterFieldInfo = paramFields;
//
crystalReportViewer1.ReportSource = rd;
我写的代码是这样的。前面两个是日期数据,后一个为字符串。。可为什么我运行程序的时候。总是提示我日期格式错误,我如果将最后那个字符串的参数值改成日期数据,就不会出问题,这是什么问题啊。。