Ошибка отчета RDLC - PullRequest
       4

Ошибка отчета RDLC

0 голосов
/ 25 апреля 2018

У меня проблема с отчетами RDLC.Мой отчет можно конвертировать в PDF.У меня есть этот код в моем контроллере:

private DataSet GetDataSet()
    {
        MySqlConnection connection = null;
        string connstring = string.Format("Server=myWebsite.com;user id=myUsername;password=myPassword;persist security info=True;database=myDatabase");
        connection = new MySqlConnection(connstring);
        connection.Open();

        string sql = string.Format("Select * FROM Reservaties");
        MySqlDataAdapter ad = new MySqlDataAdapter(sql, connstring);

        DataSet ds = new DataSet();
        ad.Fill(ds);

        return ds;
    }

    public ActionResult Reports(string ReportType)
    {
        LocalReport localreport = new LocalReport();
        localreport.ReportPath = Server.MapPath("~/Reports/Report_Reservatie.rdlc");
        DataSet ds = GetDataSet();
        ReportDataSource rds = new ReportDataSource("Reservaties", ds.Tables[0]);

        localreport.DataSources.Add(rds);
        string reportType = ReportType;
        string mimeType;
        string encoding;
        string fileNameExtension;

        if (reportType == "PDF")
        {
            fileNameExtension = "pdf";
        }
        else
        {
            fileNameExtension = "jpg";
        }
        string[] streams;
        Warning[] warnings;
        byte[] renderedByte;
        renderedByte = localreport.Render(reportType, "", out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
        Response.AddHeader("content-disposition", "attachment:filename + reservaties_report." + fileNameExtension);
        return File(renderedByte, fileNameExtension);
    }

И это мой вид:

@model int
@{
ViewBag.Title = "Checkout Complete";
}
<h2>@HojapaApplication.Resources.ResourceNL.CheckoutComplete</h2>
<p>@HojapaApplication.Resources.ResourceNL.ThankForTheOrder: @Model</p>


@Html.ActionLink("Export to PDF", "Reports", new { ReportType = "PDF"}, null)

<p>
    @HojapaApplication.Resources.ResourceNL.MoreShoppingOrNot
    @Html.ActionLink("store","Index", "Home")
</p>

Я всегда получаю эту ошибку:

"Ошибкапроизошла во время локальной обработки отчета. "

Может кто-нибудь помочь мне сказать, что я делаю не так?

Thx !!

1 Ответ

0 голосов
/ 25 апреля 2018

Проблема в том, что ваше имя набора данных неверно.

Innerexception is -> "Невозможно создать устройство чтения данных для набора данных 'DataSet_Reservaties'."

Основная ошибка здесь заключается в том, что в этом утверждении первый параметр должен совпадать с именем набора данных -

ReportDataSource rds = new ReportDataSource("Reservaties", ds.Tables[0]);

Как только вы измените код на приведенный ниже, он должен работать.

ReportDataSource rds = new ReportDataSource("DataSet_Reservaties", ds.Tables[0]);
...