易截截图软件、单文件、免安装、纯绿色、仅160KB

在ASP.NET中使用水晶报表

      首先描述一下问题:因为客户的需要,把所有对于数据库的操作做成了存储过程,同时也存在带有输入参数的存储过程.客户要求将所有的信息都可以用水晶报表显示.我们都知道,要使用水晶报表我们就要使用数据源的.在这里,我们使用的数据源自然而然也就是存储过程了.当然,我们也是知道的,在ADO.NET的连接模式下,要给水晶报表设置数据源我们需要用到数据集文件,同时,也免去了我们设计水晶报表的时间.在使用数据集文件作为水晶报表的数据源时存在了这样一种情况,我们使用没有带输入参数的存储过程是很简单的,可是一旦我们要往存储过程里面传入参数,就出现了问题,我们不能像在winform当中那样给水晶报表实例化,原因是在ASP.NET 2005中水晶报表是一个文件,它没有附带的.cs文件.那么,我们如何解决这个问题呢?
     解析:参照以前在winform里面设计的模式,我们可以想到,在winform中水晶报表可以实例化,数据集文件也是可以实例化的,可是在上述问题中是不能实现的,也就不能按照winform中的写法去写这些代码了.我们可以回想一下在ASP.NET下所用到的东西:aspx文件,aspx.cs文件,水晶报表,报表阅读器,报表源,数据集文件,存储过程.可见,报表源这个控件是在winform写法中没有的东西,所以我们可以利用它来实现我们的功能.
     解决问题:首先,我们创建数据集文件,在创建时会出现创建向导,我们要选择"已存在的存储过程",然后选择我们要使用到的存储过程,完成数据集文件的创建.第二,创建水晶报表,按照向导指示,选择新建ADO.NET连接,浏览到我们刚刚创建好的数据集文件,根据需要文成水晶报表的设计.第三,创建页面文件,添加报表阅览器控件,这时软件会给出提示,没有设置报表源,我们不用管它,而是自己添加一个报表源控件.接下来的操作就是在页面文件中通过报表源控件给存储过程传入数值了.见代码:
        string strsql1 = "exec USP_REP_Customer_Normal_By_Organization '" + Session["msg"].ToString() + "'";
        DataSet dt=DBHelper.getDataSet(strsql1,"4sShopRegisterList");
        //添加报表
        CrystalReportSource1.ReportDocument.Load(Server.MapPath("../rtp/4SShopRegisterList.rpt"));
     &


相关文档:

详解VS2010中ASP.NET @Page指令属性

@Page指令位于每个ASP.NET页面的顶部,告诉ASP.NET这个具体页面使用什么属性,以及该页面继承的用户控件。ASP.NET页面
@Page指令属性有:AspCompat、Async、AsyncTimeout、AutoEventWireup、Buffer、
ClassName、ClientIDMode、CodeBehind、
CodeFile、CodeFileBaseClass、CodePage、CompilationMode 、ContentType、 ......

发布asp.net应用程序

对于开发者自身的机器来讲,可能程序运行不会有任何问题,但关键是,程序往往要发布到用户的机器上,如果用户有专门的服务器,那另当别论,但如果用户只是想用一台普通不能在普通的办公机器当服务器的话,发布程序,可能就要做的事情多一些:
1、首先检查系统有没有安装iis,如果没有,要上网下载iis的安装包,通过“ ......

ASP.NET编程模型之ASP.NET页面生命周期图解

ASP.NET编程模型之ASP.NET页面生命周期图解
ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧:
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和 ......

ASP.NET页面之间传递值的几种方式

ASP.NET页面之间传递值的几种方式?
一般来讲有以下几种:QueryString,session,cookies,application,server.Transfer
1. 使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号