Member 11133908 Ответов: 2

Как изменить строку подключения отчета stimulsoft во время выполнения


всем привет. Я создал отчет в stimulsoft. Я создал источник данных и добавил к нему выходящую хранимую процедуру. затем я назначил столбец этот источник данных своему отчету.
после этого из формы windows я выполнил этот отчет, и это сработало хорошо.

StiReport report = new StiReport();
string file = Environment.CurrentDirectory + "\\Report\\PaySlipList.mrt";
report.Load(file);
report.ReportName = "name";
report.Dictionary.Variables["_year"].Value = GlobalVar.AppDate_Year.ToString();
report.Dictionary.Variables["_month"].Value = GlobalVar.AppDate_Month.ToString();
report.Dictionary.Variables["_company"].Value = GlobalVar.Company.ToString();
report.Show();

теперь мой вопрос заключается в том, как я могу изменить строку подключения моего источника данных во время выполнения?

Praveen Kumar Upadhyay

где вы храните свою строку подключения? Вы храните его в файле App. config??

Member 11133908

да в App. config. и я хочу назначить это для отчета во время выполнения. и я хочу, чтобы эта строка подключения была заменена на ту, которую я установил в stimulreport design статически.

2 Ответов

Рейтинг:
2

Praveen Kumar Upadhyay

Ознакомьтесь со статьей ниже. Это поможет вам выполнить свою работу.

http://yizeng.me/2013/08/31/update-appsettings-and-custom-configuration-sections-in-appconfig-at-runtime/[^]

Вы можете обновить разделы конфигурации во время выполнения.

См. приведенный ниже код для конкретной вашей проблемы.

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["GKon"].ConnectionString = newConnectionString; //CONCATINATE YOUR FIELDS TOGETHER HERE
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");


Praveen Kumar Upadhyay

Пожалуйста, не забудьте принять решение, если оно решает вашу проблему.

Member 11133908

Я знаю, как использовать строку connectiontion в app.config.
отчет.Словарь.База данных.Добавить(новый Стимулсофт.Отчет.Словарь.StiSqlDatabase("связь", новое sqlconnection(диспетчер конфигураций.ConnectionStrings["GKcon"].Параметр connectionString).Метод toString()));

Я хочу знать, как заменить эту новую строку соединения вместо той, которую я назначил своему отчету в режиме deign в stimulreport

Praveen Kumar Upadhyay

проверьте решение прямо сейчас. это очень специфично для вашей проблемы

Рейтинг:
0

Member 12553185

StiReport report = new StiReport();
report.Load("MyReport.mrt");
report.Dictionary.Databases.Clear();
report.Dictionary.Databases.Add(new StiSqlDatabase("MyDatabase", "new connection string"));



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