Crystal Report. Система не может найти указанный файл - PullRequest
0 голосов
/ 27 апреля 2020

Когда я нажимаю, чтобы загрузить квитанцию. Он показывает файл отчета о загрузке и внутреннее исключение как:

Системе не удается найти указанный файл.

В чем может быть проблема? Раньше это работало, но теперь это показывает проблему.

public static void loadBillReport(ReportDocument rd, CrystalReportViewer crv, Int32 status, Int32 orderID)
        {
            try
            {
                SqlCommand cmd = new SqlCommand("getOrderReport", MainClass.con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@orderID", orderID);
                cmd.Parameters.AddWithValue("@status", status);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                rd.Load(Application.StartupPath + "\\Reports\\billreports.rpt");
                rd.SetDataSource(dt);
                crv.ReportSource = rd;
                crv.RefreshReport();
            }
            catch (Exception ex)
            {
                if (rd != null)
                {
                    Console.WriteLine(ex.Message);
                    rd.Close();
                }
                MainClass.showMessage(ex.Message, "Error");
            }
        }

1 Ответ

0 голосов
/ 27 апреля 2020

Вероятно, файл здесь не найден:

rd.Load(Application.StartupPath + "\Reports\billreports.rpt"); 

Убедитесь, что файл существует, а пользователь, запускающий программу, имеет доступ к файлу через разрешения безопасности.

Также файл rpt является частью сборки? (bin \ release) или (bin \ debug)?

Возможно, скомпилированная версия не находит его.

Вы можете изменить относительный путь на абсолютный путь (D: \ your \ path \ Reports \ billreports.rpt) и проверить эту теорию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...