#c# #windows #crystal-reports
#c# #Windows #crystal-отчеты
Вопрос:
я использую код для отправки ConnectionInfo в CrystalReportViewer
private void button1_Click(object sender, EventArgs e)
{
ConnectionInfo myConnectionInfo = new ConnectionInfo();
myConnectionInfo.ServerName = "192.168.3.58";
myConnectionInfo.DatabaseName = "SHRK-Traffic";
myConnectionInfo.UserID = "sa";
myConnectionInfo.Password = "pass";
setDBLOGONforREPORT(myConnectionInfo);
crystalReportViewer1.Visible = true;
}
private void setDBLOGONforREPORT(ConnectionInfo myconnectioninfo)
{
TableLogOnInfos mytableloginfos = new TableLogOnInfos();
mytableloginfos = crystalReportViewer1.LogOnInfo;
foreach (TableLogOnInfo myTableLogOnInfo in mytableloginfos)
{
myTableLogOnInfo.ConnectionInfo = myconnectioninfo;
}
}
я работаю с этим кодом в веб-приложении, и он работает нормально .. но в приложении Windows он показывает эту ошибку
я получаю сообщение об ошибке
Комментарии:
1. я сделал это другим способом Val objReport=new Val(); objReport.SetDatabaseLogon(«sa», «Pass», «192.168.3.58», «SHRK-Traffic»); crystalReportViewer1.ReportSource = objReport; где «val» — это имя отчета
Ответ №1:
Вам нужно создать объект TableLogOnInfo, затем присвоить его объекту ConnectionInfo правильную информацию, т.е.:
TableLogOnInfo loginDetails = new TableLogOnInfo();
loginDetails.ConnectionInfo.ServerName = "ALFA1\ACMSDB";
loginDetails.ConnectionInfo.UserID = "***";
loginDetails.ConnectionInfo.Password = "***";
loginDetails.ConnectionInfo.DatabaseName = "database";
loginDetails.ConnectionInfo.IntegratedSecurity = false;
Затем продолжайте и добавьте этот настроенный объект TableLogOnInfo в свою коллекцию LogOnInfo:
crystalReportViewer1.LogOnInfo.Add(loginDetails);