首页 > 解决方案 > vs 2010 的项目水晶报告在任何 7 32 位或 64 位的 Windows 中都不起作用

问题描述

我的 vs 2010 项目水晶报告在 windows xp 中运行良好,但是当我在 windows 7 或 10 中设置它时,它不适用于任何 32 或 64 位窗口。我在水晶报表中使用了数据表。我与许多大程序员讨论过,他们建议我在项目中添加一些 dll 或使用数据集。但它也不起作用。同样的问题。

在使用数据集或数据表加载水晶报表时。在本节tyu.SetDataSource(ds);中不加载数据。或 .rpt 错误 17

我在数据库和 c# windows 应用程序中使用 SQL Server。

我试过的:

private void PrintRep()
{

     //DataSet ds = new DataSet();
     //string connStr = ConfigurationManager.ConnectionStrings["conn_str"].ConnectionString;
     SqlDataAdapter dadapter = new SqlDataAdapter("SELECT * FROM  dbo.T_ATTR  Order by dbo.T_ATTR.IndRegID ", "Data Source=DESKTOP-IRFOPKM\\SHUVO;Initial Catalog=ServiceOneEasyClock;User ID=sa;Password=S123456_");
     DataSet dset = new DataSet();
     dadapter.Fill(dset, "dbo.T_ATTR");
     int op = 0;
     op= 1;
     frmReportsViewer rptviewer = new frmReportsViewer(op, dset);
     rptviewer.Show();
}

private void frmReportsViewer_Load(object sender, EventArgs e)
{
      if (option == 1)
      {
          try
          {   //ParameterFields pfs = new ParameterFields();
              //pfs = GetCompanyInformation();
              //crystalReportViewer1.ParameterFieldInfo = pfs;
              string username = "sa"; // database user name
              string password = "S123456_"; //database password



              ds.AcceptChanges();
              tyu.Refresh();
              ////tyu.Refresh();
              //tyu.Refresh();
              try
              {
                  tyu.SetDataSource(ds);
              }

              catch(Exception ex)

              {
                  MessageBox.Show(ex.ToString());
              }
              crystalReportViewer.ReportSource = tyu;
              crystalReportViewer.RefreshReport();
              crystalReportViewer.Show();

          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message.ToString());
          }
      }

      if (option == 2)
      {
          try
          {   //ParameterFields pfs = new ParameterFields();
              //pfs = GetCompanyInformation();
              //crystalReportViewer1.ParameterFieldInfo = pfs;
              oRpt2.SetDataSource(dtr);
              crystalReportViewer.ReportSource = oRpt2;
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message.ToString());
          }
      }
  }

标签: crystal-reportscrystal-reports-2010

解决方案


您是否在 Windows 7 机器上安装了 Crystal Reports Runtime for VS 2010?

为 Visual Studio 2010 运行时部署 Crystal Reports

在将我的项目从我的开发机器转移到生产机器时,我不得不这样做。


推荐阅读