string sqlstr = " SELECT   A.XMBH,A.XMMC,A.JSGM,A.ZTZGSR,A.SBSJ,B.SPSJ,B.SPJG,A.PZTZGSR,B.SPR FROM  LXSBB A  ";-------------
SQL語句是正確的嗎?你的B是哪個表?沒有B表,“B.SPSJ,B.SPJG”這個從哪裡來?

解决方案 »

  1.   

    你如果是用推模式的,你可以动态的更新数据源,如果是报表直连数据库的,那只能通过参数过滤显示结果给最后加上一句
    cr.Refresh();
    试试
      

  2.   

    string sqlstr = " SELECT   A.XMBH,A.XMMC,A.JSGM,A.ZTZGSR,A.SBSJ,B.SPSJ,B.SPJG,A.PZTZGSR,B.SPR FROM  LXSBB A  ";-------------
    SQL語句是正確的嗎?你的B是哪個表?沒有B表,“B.SPSJ,B.SPJG”這個從哪裡來?
    -------------------------------------------------------------------
    请不要去讨论我的SQL语句。 是我删除了一些再发上来的, 我可以确保我的SQL语句是正确的。在这个 情况下如何实现 动态 建报表?cr.Refresh();
    -------------
    我加了不行呢。
    建数据集!!!
    --------------------------- 如何建, 要注意些什么,   请给出步骤。  而且我是三个表一起组成的SQL 语句。
      

  3.   

    我发现了一个问题, 就是我要是只建一个表,  就这样动态创建网页ASPX  是可以的。但是多个表的时候就无法动态实现水晶报表显示。在RPT水晶报表 数据库设置中,有一项 《联接》
    系统是按关键字建的, 我现在不想要关键字建立两个表的链接, 如何能手动 让我选择字段来建立两个表的联接? 
     
    我想可能是这个问题, 因为我的几个表不是按关键字段来相互关联的
      

  4.   

    创建一个.xsd文件,结构与数据库中表的结构一样
    然后从报表中添加其作为数据源
    动态填充数据集
      

  5.   

    我建一个表, 然后在ASPX文件中加WHERE 条件是可以动态生成查询水晶报表的。但建几个数据库表的水晶报表, 就无法成功的动态ASPX 条件查询。不知道为什么,   
    在RPT水晶报表 数据库设置中《联接》也设置成了多个表的相关联
      

  6.   

    了解  看来不用数据集很难实现
    因为你sql语句得出的结果存到了一张虚拟表中
    这和你给报表绑定数据源时候的表的结构是不一样的
    所以会出错
    建议新建数据集,结构和你select后表的结构一致
      

  7.   

    发现一个大问题。先看代码
    ------------------------------------------------
        where = "WHERE (YEAR(B.SPSJ)={0})AND(MONTH(B.SPSJ)={1})AND(A.XMBH_1=B.XMBH_1)AND(B.SPR=C.YHM)AND(C.JS='计划项目负责人')";
                where = string.Format(where, y1, m1);
                string sqlstr = " SELECT   A.XMBH,A.XMMC,A.JSGM,A.PZTZGSR,A.SBSJ,B.SPSJ,B.SPJG,B.SPR FROM  LXSBB A ,  LXSPB B ,YHGLB C ";
                if (where != "")
                    sqlstr += where;
                dwDap = new SqlDataAdapter(sqlstr, Conn1);
                dwDap.Fill(dwcustDs);              
                cr.Load(path_rpt);
                cr.SetDataSource(dwcustDs);               CrystalDecisions.CrystalReports.Engine.TextObject objTitle = cr.ReportDefinition.ReportObjects["Title"] as CrystalDecisions.CrystalReports.Engine.TextObject;            
                objTitle.Text = "项目审批情况表 (" + TextBox1.Text + ")";            Label1.Text = objTitle.Text;
                CrystalReportViewer1.ReportSource = cr;
                CrystalReportViewer1.DataBind();
                CrystalReportViewer1.RefreshReport();
    }
    在这个情况下是无法实现多表的动态创建水晶报表的。但我变了  帮定            dwDap.Fill(dwcustDs,“LXSBB”);LXSBB该表我有条件最该表的日期字段年月,  所以在运行时候是可以出现正确的年月在水晶报表上显示的。但唯一可惜的是     我的其它两个表的条件没能设置  所以无法得到 除年月正确外的结果。
    如何办/??              
      

  8.   

    我想 问题可能在建立的RPT文件-水晶报表 的哪个地方设置问题吧。  请大家再帮帮忙, 提醒一下 水晶报表文件 rpt 里边 对于 关联表 还要设置些什么 注意些什么???