我使用了vs2005,在工程的一个文件夹上  右键添加新项  增加了一个水晶报表CrystalReport1.rpt 
(只生成了一个RPT文件,没有对应的CS文件) 我在页面上拖了  一个  CrystalReportViewer,然后在page_load里面添加下面代码           CrystalReport1  cr  =  new  CrystalReport1();(在vs2003中是可以的) 
                DataSet  ds  =  new  DataSet(); 
               SqlDataAdapter ada = new SqlDataAdapter(cmd); 
             ada.Fill(ds.Tables["DataTable1"]); 
                  cr.SetDataSource(ds); 
                CrystalReportViewer1.ReportSource  =  cr; 编译时候出这个错,  CrystalReport1  cr  =  new  CrystalReport1(); 
错误1找不到类型或命名空间名称“CrystalReport1”(是否缺少  using  指令或程序集引用?) 在vs2005中默认情况下新建的CrystalReport1.rpt文件没有CrystalReport1.cs文件,应该怎么添加阿?? 
请高人指教!! 万分感谢! 问题解决 马上结贴 分不够可以再加! 
并且我也用过: 
string reportPath = Server.MapPath(Request.ApplicationPath) + "\\CrystalReport1.rpt"; 
customerReport.Load(reportPath); 
但是在本机一切正常可当程序上传到服务器时总是找不到正确的报表路径(我用过很多“Server.MapPath()”方法可是都找不到报表路径) 

解决方案 »

  1.   

    我用到了
    customerReport.SetDataSource(dataset.Tables["DataTable1"]);
    CrystalReportViewer1.ReportSource = customerReport;
    可是:
    string reportPath = Server.MapPath(Request.ApplicationPath) + "\\CrystalReport1.rpt"; 
    customerReport.Load(reportPath);
    还是上传到服务器时找不到报表路径
      

  2.   

    我改过之后 现在在服务器上运行时提示错误:
    System.Runtime.InteropServices.COMException: 类文字列无效
    可是在本机运行时没错误  这是怎么回事啊??
    请高人指点  非常感谢  问题解决 马上结贴!
      

  3.   

    在服务器端你需要部署水晶报表,在你本机上是因为你装了Vs2005及水晶报表配套的东西。建一个安装项目,添加合并模块,把水晶报表对应于VS2005的发布文件加进去,在服务器端运行一下你的安装程序就OK了合并模板在安装盘里面Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages,2005需要的合并模块式CrystalReportsRedist2005_X86.msm
      

  4.   


    private void ShowReport()
            {
                using (SqlConnection cn = new SqlConnection("server=........."))
                {
                    SqlCommand cmd = cn.CreateCommand();
                    cmd.CommandText = "存储过程名";
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter para = new SqlParameter("@FDate", "2008-03-01");
                    cmd.Parameters.Add(para);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    ReportDocument rDoc = new ReportDocument();
                    string path = Server.MapPath("Reports") + "\\报表名" ;
                    try
                    {
                        
                        rDoc.Load(path);
                        rDoc.SetDataSource(dt);
                        dt.Dispose();
                        crViewer.ReportSource = rDoc;                }
                    catch (Exception ex)
                    {
                        MessageBox.Show("加载报表错误" + ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
      

  5.   


    private void ShowReport()
            {
                using (SqlConnection cn = new SqlConnection("server=........."))
                {
                    SqlCommand cmd = cn.CreateCommand();
                    cmd.CommandText = "存储过程名";
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter para = new SqlParameter("@FDate", "2008-03-01");
                    cmd.Parameters.Add(para);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    ReportDocument rDoc = new ReportDocument();
                    string path = Server.MapPath("Reports") + "\\报表名" ;
                    try
                    {
                        
                        rDoc.Load(path);
                        rDoc.SetDataSource(dt);
                        dt.Dispose();
                        crViewer.ReportSource = rDoc;                }
                    catch (Exception ex)
                    {
                        string str = ex.message;
                    }
                }
            }
      

  6.   

    建一个安装项目,添加合并模块,把水晶报表对应于VS2005的发布文件加进去,在服务器端运行一下你的安装程序就OK了 合并模板在安装盘里面Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages,2005需要的合并模块式CrystalReportsRedist2005_X86.msm你编译生成安装包,在服务器端运行就OK了
      

  7.   

    string sql = "Select T1, T2, T3 FROM T where T1=''a''";
            string DBConfig_sql =@"Data Source=SYWZSWL\SQLEXPRESS;Initial Catalog=Test;User ID=sa;Password=123456";
            DataSet ds = new DataSet();
                SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
                SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
                SqlDataAdapter sqlAd = new SqlDataAdapter();
                sqlAd.SelectCommand = sqlCmd;
                sqlAd.Fill(ds, "sql");
            CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));