读者你好:
关于拉模式和推模式的介绍如下:
1、在拉模式中,数据库驱动程序连接到数据库,并根据用户预先设定好的查询语句,将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的SQL命令都同时由水晶报表本身处理。比如在选取数据源的时候选的Access/Excel、ODBC、OLEDB、数据库文件。在拉模式下,只要按照报表专家的向导来操作,水晶报表直接根据指定的驱动连接数据库然后组装这些数据,不需要开发人员编写代码。拉模式适用于不需要对数据库(或数据文件)中的数据进行额外的处理(如数值计算等)的情况,其优点是设计时非常方便,可以随时对设计的情况进行预览,但在应用程序部署时则比较繁琐(如需要设定数据库连接的数据源及驱动)。
2、使用推模式向水晶报表传递数据,其思路是:先设计一个能存放数据的数据集(在VS.NET中一般是强类型的DataSet),以此数据集作为水晶报表的数据源。报表的显示格式还是像拉模式那样,然后通过程序填充数据集,最后将生成的数据集绑定到水晶报表的数据源上。举例如下:用水晶报表生成一份试卷,试题是加密的,存放于数据库中,由于不能采用拉模式的方式传递数据,采用推模式最合适。