Ich möchte RDLC Report
auf der Basis des Datums generieren. Ich habe zwei DateTimePickers
und eine Button
Controls auf meinem WindowForm
und einem ReportViewer
. Ich wähle zwischen Date
und Date
von DateTimePicker
und wenn ich auf Button
klicke, sollte die ReportViewer
von Database
auf der Basis von Date
laden.Bei der lokalen Berichtsverarbeitung in C# winforms ist ein Fehler aufgetreten.
Hier ist meine Stored Procedure
CREATE PROCEDURE spGetBikeSalebyDate
(
@FromDate DateTime,
@ToDate DateTime
)
AS
BEGIN
SELECT * FROM tblSaleBike
WHERE DateOfPurchase BETWEEN @FromDate AND @ToDate
ORDER BY DateOfPurchase asc
END
und mein C#
Code
private void btnSearchBikeSale_Click(object sender, EventArgs e)
{
ShowReport();
}
private void ShowReport()
{
reportViewer1.Reset();
DataTable dt = GetData(dtpSearchFromDate.Value.Date, dtpSearchToDate.Value.Date);
ReportDataSource rds = new ReportDataSource("DataSet1", dt);
reportViewer1.LocalReport.DataSources.Add(rds);
reportViewer1.LocalReport.ReportPath = @"ReportSaleBikeByDate.rdlc";
ReportParameter[] rParams = new ReportParameter[] {
new ReportParameter("fromDate",dtpSearchFromDate.Value.Date.ToShortDateString()),
new ReportParameter("toDate",dtpSearchToDate.Value.Date.ToShortDateString())
};
reportViewer1.LocalReport.SetParameters(rParams);//Error Occured Here
reportViewer1.LocalReport.Refresh();
}
private DataTable GetData(DateTime fromDate , DateTime toDate)
{
DataTable dt = new System.Data.DataTable();
using (SqlConnection con = new SqlConnection(CS))
{
SqlCommand cmd = new SqlCommand("spGetBikeSalebyDate",con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("@FromDate", SqlDbType.DateTime).Value = fromDate;
cmd.Parameters.Add("@ToDate", SqlDbType.DateTime).Value = toDate;
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dt);
}
return dt;
}
I bestanden haben zwei Parameter in fromDate
und toDate
in ReportViewer
. Wenn ich mein Programm in eine debug mood
stelle, und überprüfe das Programm und funktioniert gut i-e DataTable
gibt Werte korrekt zurück, aber wenn es SQL Parameters
erreicht, wirft es eine exception
An error occurred during local report processing
. Ich weiß nicht warum, denn meine Report
ist in der root directory
. Ich werde auch die Snapshots anhängen. Bitte hilf mir.
Aktualisiert
Das ist mein DataSet
die
zwei Parameter übernimmt und dies ist Report Data
und dies ist der Exception Detail
Sie benötigen Ausnahme Details zu teilen. –
Sehr geehrter Herr, ich habe meine Frage aktualisiert. Welche Details soll ich teilen? –
Die innere Ausnahme im Detail, hilft Ihnen, das Problem zu lösen. –