日期:2014-05-20  浏览次数:20776 次

关于水晶报表,请各位大哥帮忙!
我用的是ASP.NET2003自带水晶报表,b/s模式,我在数据库里面建了一个视图CT_CZP。代码是“select   *   from   czp,dwadmin,czp_xm   where   czp.deptid   =   dwadmin.zbdm   and   czp.czpid   =   czp_xm.czpph”这三长表(czp,dwadmin,czp_xm)的关系是一对一对多。我把这个视图放入数据集(DSZXCZP.xsd)中,在CRCZP.rpt(CrystalReport,我使用的是空白报表)的数据库字段的添加删除数据库中添加了CT_CZP视图,然后把要显示的字段拖到CRCZP.rpt,最后在一个窗台的Page_Load中写了如下代码
protected   CrystalDecisions.Web.CrystalReportViewer   CRV;
CRCZP   CZP   =   new   CRCZP();

private   void   Page_Load(object   sender,   System.EventArgs   e)
{
        OracleConnection   Conn   =   new   OracleConnection(   ConfigurationSettings.AppSettings.Get( "OracleConn ")   );
        Conn.Open();
        string   strSql   =   "select   *   from   czp,dwadmin,czp_xm   where   czp.deptid   =   dwadmin.zbdm   and   czp.czpid   =   czp_xm.czpph ";
        OracleDataAdapter   MyAdapter   =   new   OracleDataAdapter(   strSql,   Conn   );
        DataSet   ds   =   new   DataSet();
        MyAdapter.Fill(   ds, "ct_czp "   );
        CZP.SetDataSource(   ds   );
        CRV.ReportSource   =   CZP;
        CRV.DataBind();
}
但是报表页面上显示时只出现了一条记录,我把SQL语句放入oracle中显示记录有很多条,我想问一下,为什么只出现一条记录????
我原来做的时候没有用视图,我就将三个表拖到数据集(DSZXCZP.xsd)中,不建关系,这种多数据源的做法,我不知道该怎么做,我将三个表分别拖一个字段出来显示,但是代码应该写就不知道了,再用上面的写法一张表一张传sql语句肯定是不行的。麻烦请教一下应该怎么搞????
我可能写的有点多,请各位帮帮忙,真的是很急,我就省这么多分了,希望不要介意。我主要问第一个问题,要是第二个能解决那就谢谢各位抬爱了。我在线等,请各位帮帮忙。

------解决方案--------------------
把3个标的字段放到数据集的一个表里

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html