Я новичок в кристаллическом докладе мне нужна помощь: я установить базу данных отчетов Logon двух способов следующим образом:кристалл доклад не получить данные
1-й: rpt.SetDatabaseLogon (USERID, Парольпользователь) ;
2nd: DatabaseLogOn (fullserverName, dBName, dBUser, userPassword);
первый способ работает хорошо, но мне нужно, чтобы изменить его на второй по ряду причин, но К сожалению, это не работает, и я не знаю причину:
public void DatabaseLogOn(string serverstring, string databasestring, string useridstring, string passwordstring)
{
var crConnectionInfo = new ConnectionInfo();
crConnectionInfo.ServerName = serverstring;
crConnectionInfo.DatabaseName = databasestring ;
crConnectionInfo.UserID = useridstring ;
crConnectionInfo.Password = passwordstring ;
crConnectionInfo.IntegratedSecurity = true;
var crTableLogonInfo = new TableLogOnInfo();
Tables CrTables;
CrTables = rpt.Database.Tables;
foreach (Table crTable in CrTables)
{
crTableLogonInfo = crTable.LogOnInfo;
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogonInfo);
}
Sections CrSections = rpt.ReportDefinition.Sections;
// loop through all the sections to find all the report objects
foreach (Section CrSection in CrSections)
{
ReportObjects CrReportObjects = CrSection.ReportObjects;
//loop through all the report objects in there to find all subreports
foreach (ReportObject CrReportObject in CrReportObjects)
{
if (CrReportObject.Kind == ReportObjectKind.SubreportObject)
{
SubreportObject CrSubreportObject = (SubreportObject)CrReportObject;
//open the subreport object and logon as for the general report
ReportDocument CrSubreportDocument = CrSubreportObject.OpenSubreport(CrSubreportObject.SubreportName);
CrTables = CrSubreportDocument.Database.Tables;
foreach (Table aTable in CrTables)
{
crTableLogonInfo = aTable.LogOnInfo;
crTableLogonInfo.ConnectionInfo = crConnectionInfo;
aTable.ApplyLogOnInfo(crTableLogonInfo);
}
}
}
}
}
может любой один Помощь
Спасибо campagnolo_1, , но если вы заметили, что я использую то же самое, что вы упомянули в сообщении в моем методе, но отчет отображается пустым в течение времени выполнения, хотя он возвращает данные в предварительном просмотре отчета и с первого раза. – ahmedeid
Можете ли вы опубликовать код для рабочего кода? –
rpt.SetDatabaseLogon (userId, userPassword); но мне нужно изменить dbconnection во время выполнения, второй способ работает с некоторыми отчетами, которые мы имеем в проекте ... Единственное уважение между ними - это подзаголовок в нерабочем отчете, но хотя он не работает после удаления подзаголовка – ahmedeid