- 爱易网页
 
                        - 
                            C#教程
 
                        - 急创建动态水晶报表成功,但显示的记录重复 怎么解决?什么回事 
 
                         
                    
                    
                    日期:2014-05-19  浏览次数:20987 次 
                    
                        
                         急急急-创建动态水晶报表成功,但显示的记录重复 如何解决?什么回事?
一,   我建一个RPT      水晶报表,   里边就连了要连的数据库表,及字段都放到了水晶报表中,也打好了表格   排好了板。 
  
 二,   我建了一个ASPX   里边建了一个动态的数据库联接(数据库与RPT一样的表) 
  
 我就想通过ASPX调用该RPT水晶报表,这样一来我可以输入些条件   动态显示数据信息。      但是运行的结果是出现记录重复,如得到的结果应该是5条记录,水晶报表会显示   5X5=25条记录            (显示的记录是对的)      请问是什么一回事? 
  
 同时建了一个   GridView1   一起帮定数据库显示,   它的显示结果是正确的(记录条数)。 
  
  
 代码如下 
 --------------------------------------    
    protected   void   Page_Load(object   sender,   EventArgs   e) 
             { 
                         title   =   myclass.setwebtitle(); 
                         Conn1   =   new   SqlConnection(myclass.setconn());                   
                            if   (!IsPostBack)    
                         { 
                                     bind(); 
                         }                         
             } 
  
  
    protected   void   bind() 
             { 
                         string   where   =    " ",path_rpt=myclass.rpt_file()+ "JH_SPQKB.RPT ";                         
                         if   (TextBox1.Text   !=    " ") 
                         { 
                                     string   y1,   m1; 
                                     y1   =   TextBox1.Text.Substring(0,   4); 
                                     m1   =   TextBox1.Text.Substring(5,   2); 
                                     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; 
  
                                     CrystalDecisions.CrystalReports.Engine.ReportDocument   cr   =   new   CrystalDecisions.CrystalReports.Engine.ReportDocument(); 
                                     if   (!cr.IsLoaded)