Crystal Report With Parameters In ASP.NET Using C#

2019-09-06 02:36发布

问题:

I have designed Crystal Report in ASP.NET by following this link http://www.c-sharpcorner.com/UploadFile/009464/crystal-report-with-parameter-in-Asp-Net-using-C-Sharp/. I need to pass label values to Crystal Reports, example:

When trying to click on button i'm getting this error: The types of the parameter field and parameter field current values are not compatible. Maybe i defined wrong parameters or something missed.

This is my Crystal Reports with parameters:

How to to pass parameters in Crystal Reports using ASP.NET,C#? This is my code:

.aspx

<!-- Table with labels -->

 <table align="center" width="50%" border="1">
    <tr>
    <td align="right">HALL ID : </td>
    <td align="left"><asp:Label  ID="Label7"  runat="server" Text=""></asp:Label></td>
    </tr>
     <tr>
    <td align="right">SEAT ID : </td>
    <td align="left"><asp:Label ID="Label9" runat="server" Text=""></asp:Label></td>
    </tr>
     <tr>
    <td align="right">COLOR : </td>
    <td align="left" ><asp:Label ID="Label10" runat="server" Text=""></asp:Label></td>
    </tr>
     <tr>
    <td align="right">PRICE : </td>
    <td align="left"><asp:Label ID="Label11" runat="server" Text=""></asp:Label></td>
     </tr>
     <tr>
    <td align="right">SEAT ROW : </td>
    <td align="left"><asp:Label ID="Label12" runat="server" Text=""></asp:Label></td>
     </tr>
     <tr>
    <td align="right">SEAT NUMBER : </td>
    <td align="left"><asp:Label ID="Label13" runat="server" Text=""></asp:Label></td>
    </table>

<!-- Print Button -->

<asp:Button ID="btnPrint" runat="server" Text="Print Ticket"  OnClick="btnPrint_Click" />

.cs

ReportDocument rprt = new ReportDocument();

  protected void btnPrint_Click(object sender, EventArgs e)
    {
        cs = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;

        rprt.Load(Server.MapPath("~/CrystalReport.rpt"));

        SqlConnection con = new SqlConnection(cs);
        SqlCommand cmd = new SqlCommand("sp_select", con);
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        rprt.SetDataSource(dt);
        rprt.SetParameterValue("HallGroupID", Label7.Text);
        rprt.SetParameterValue("ShowSeatId", Label9.Text);
        rprt.SetParameterValue("Color", Label10.Text);
        rprt.SetParameterValue("Price", Label11.Text);
        rprt.SetParameterValue("SeatRow", Label12.Text);
        rprt.SetParameterValue("SeatNumber", Label13.Text);
        CrystalReportViewer1.ReportSource = rprt;
        CrystalReportViewer1.DataBind();
    }