C# windows应用程序中的crystalReportViewer

C# windows应用程序中的crystalReportViewer,c#,windows,crystal-reports,C#,Windows,Crystal Reports,我正在使用代码将ConnectionInfo发送到crystalReportViewer private void button1_Click(object sender, EventArgs e) { ConnectionInfo myConnectionInfo = new ConnectionInfo(); myConnectionInfo.ServerName = "192.168.3.58"; myConnec

我正在使用代码将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;
        }
    }
我在web应用程序中使用此代码,它工作正常。但在windows应用程序中,它显示了该错误


我收到一个错误

您需要创建一个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);

您需要创建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);

我使用另一种方式Val objReport=new Val()完成了它;SetDatabaseLogon(“sa”、“Pass”、“192.168.3.58”、“SHRK流量”);crystalReportViewer1.ReportSource=objReport;其中“val”是报告名,我使用另一种方式val objReport=new val()完成;SetDatabaseLogon(“sa”、“Pass”、“192.168.3.58”、“SHRK流量”);crystalReportViewer1.ReportSource=objReport;其中“val”是报告名称