Динамическая загрузка.rpt в C#
try
{
string spath = AppDomain.CurrentDomain.BaseDirectory;
spath += "myReportFileName.rpt";
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(spath);
cryRpt.DataSourceConnections[0].SetConnection("Server Name", "DB Name", true);
cryRpt.DataSourceConnections[0].IntegratedSecurity = true;
cryRpt.SetParameterValue("Field Name", "Value");
cryRpt.RecordSelectionFormula = "Correct Formula";
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
catch (System.Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
В моей системе этот код в порядке. Но в другой системе есть ошибка. Я установил во всех других системах Crystal Report правильно.
Этот код выполнялся с ошибкой:
crystaldecisions.crystalreports.engine.reportdocument 'вызвала исключение
Затем я выполнил CRRuntime_32bit_13_0_3.msi в клиентской системе. Эта ошибка решена, но другая проблема:
После запуска кода появляется диалоговое окно "Вход в базу данных", и я не подключаюсь к базе данных автоматически и не просматриваю файл отчета!!!
Пожалуйста, помогите мне, что мне делать?
1 ответ
Я решил свою проблему.:) когда я создавал проект, в моей системе была установлена версия crystalReport 10. для этого я выбрал "crystalReportViewer version 10" из Toolbox Item. Я удалил версию 10 отчета Crystal и установил версию 11. На следующем шаге я удалил crystalReportViewer из набора инструментов Visual Studio, а затем снова выбрал "CrystalReportViewer version 11" из элемента Toolbox.
Теперь мой проект и созданный exe-файл выполняются корректно во всех системах, которые имеют Crystal Report версии 10 позже.
благодарю вас! @rene:)