当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET中利用Crystal Report创建图表(1)

 ASP.NET中利用Crystal Report创建图表(1)

点击次数:21 次 发布日期:2008-11-26 14:15:17 作者:源代码网
源代码网推荐      在很多的应用程序中,报表是不可缺少的,一张好的报表能直观地让人把握数据的情况,方便决策。在这篇文章中,我们将以一个三层结构的asp.net程序为例,介绍如何使用crystal report ,来制作一份报表,其中介绍了不少asp.net和水晶报表的技巧。
源代码网推荐  
源代码网推荐    在这个例子中,我们设想的应用要为一个销售部门制作一份报表,管理者可以查看某段时间之内的销售情况,以列表或者折线图的形式反映出销售的趋势。我们将使用SQL Server 2000做为数据库,使用VB.NET编写中间层逻辑层,而前端的表示层使用C#。我们先来看下数据库的结构。
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐    其中,tbitem表中存放的是每张订单中所订购的货品,tbsales存放的是每张订单,tblsalesperson是销售员表,存放该出版社的每位销售员。
源代码网推荐  
源代码网推荐    接下来,使用SQL Server 2000来创建这些表。表的结构如下所示:
源代码网推荐  
源代码网推荐  CREATE TABLE [dbo].[tblItem] (
源代码网推荐  [ItemId] [int] NOT NULL ,
源代码网推荐  [Description] [varchar] (50) NOT NULL
源代码网推荐  ) ON [PRIMARY]
源代码网推荐  CREATE TABLE [dbo].[tblSalesPerson] (
源代码网推荐  [SalesPersonId] [int] NOT NULL ,
源代码网推荐  [UserName] [varchar] (50) NOT NULL ,
源代码网推荐  [Password] [varchar] (30) NOT NULL
源代码网推荐  ) ON [PRIMARY]
源代码网推荐  CREATE TABLE [dbo].[tblSales] (
源代码网推荐  [SaleId] [int] IDENTITY (1, 1) NOT NULL ,
源代码网推荐  [SalesPersonId] [int] NOT NULL ,
源代码网推荐  [ItemId] [int] NOT NULL ,
源代码网推荐  [SaleDate] [datetime] NOT NULL ,
源代码网推荐  [Amount] [int] NOT NULL
源代码网推荐  ) ON [PRIMARY]
源代码网推荐  
源代码网推荐    并且用以下的代码创建表之间的约束关系。
源代码网推荐  
源代码网推荐  ALTER TABLE tblItem
源代码网推荐  ADD CONSTRAINT PK_ItemId
源代码网推荐  PRIMARY KEY (ItemId)
源代码网推荐  GO
源代码网推荐  ALTER TABLE tblSalesPerson
源代码网推荐  ADD CONSTRAINT PK_SalesPersonId
源代码网推荐  PRIMARY KEY (SalesPersonId)
源代码网推荐  GO
源代码网推荐  ALTER TABLE tblSales
源代码网推荐  ADD CONSTRAINT FK_ItemId
源代码网推荐  FOREIGN KEY (ItemId) REFERENCES tblItem(ItemId)
源代码网推荐  GO
源代码网推荐  ALTER TABLE tblSales
源代码网推荐  ADD CONSTRAINT FK_SalesPersonId
源代码网推荐  FOREIGN KEY (SalesPersonId) REFERENCES tblSalesPerson(SalesPersonId)
源代码网推荐  GO
源代码网推荐  
源代码网推荐  
源代码网推荐    创建中间逻辑层
源代码网推荐  
源代码网推荐    在中间逻辑层组件中,我们为每一张表都创建两个类。比如,对于tblItems表,创建item 和items类。Item类中记录每件销售的货品的详细情况,而items表则记录所有销售的货品并且有增加货品的方法。这样,就存在下面的六个类:
源代码网推荐  
源代码网推荐    Item and Items
源代码网推荐    SalesPerson and SalesPersons
源代码网推荐    Sale and Sales
源代码网推荐  
源代码网推荐    接下来,看一下每个类中的属性:
源代码网推荐  
源代码网推荐    Item类
源代码网推荐  
源代码网推荐     包括如下属性
源代码网推荐      ItemId (货品id编号)
源代码网推荐      Description (货品的描述)
源代码网推荐      Items
源代码网推荐  
源代码网推荐    有一个方法,将根据item的编号返回一个item对象
源代码网推荐  
源代码网推荐  
源代码网推荐  Public Function GetAllItems () As Collections.ArrayList
源代码网推荐  
源代码网推荐  
源代码网推荐    SalesPerson
源代码网推荐  
源代码网推荐    该类有以下三个属性:
源代码网推荐  
源代码网推荐     SalesPersonId (销售员编号)
源代码网推荐     Name (姓名)
源代码网推荐     Password (密码)
源代码网推荐  
源代码网推荐    SalesPersons
源代码网推荐  
源代码网推荐    有一个方法,根据销售员登陆时输入的用户名和密码,在数据库中,验证销售员的登陆是否正确,如果正确,则返回零。
源代码网推荐  
源代码网推荐  
源代码网推荐  Public Function ValidateUser (strUserName as String, strPassword as String) As Integer
源代码网推荐  
源代码网推荐  
源代码网推荐    Sale
源代码网推荐  
源代码网推荐    有如下5个属性
源代码网推荐  
源代码网推荐    · SaleId
源代码网推荐    · SalesPersonId
源代码网推荐    · ItemId
源代码网推荐    · SaleDate
源代码网推荐    · Amount
源代码网推荐  
源代码网推荐    Sales
源代码网推荐  
源代码网推荐    有两个方法,其中getsales根据输入的参数返回sales对象的集合
源代码网推荐  
源代码网推荐  
源代码网推荐  Public Function GetSales (Optional nSaleId As Integer = 0, Optional nSalesPersonId As Integer = 0,Optional nItemId As Integer = 0) As Collections.ArrayList
源代码网推荐  
源代码网推荐  
源代码网推荐    还有一个addsales方法,用于增加一张订单
源代码网推荐  
源代码网推荐  
源代码网推荐  Public Function AddSale (objSale As Sale)
源代码网推荐  
源代码网推荐    创建表现层页面
源代码网推荐  
源代码网推荐    接下来,开始创建表现层页面。首先,要创建一个可以给销售员登陆的页面,如下图所示。
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐  在销售员成功登陆后,可以给销售员输入某样货品销售的数量,如下图:
源代码网推荐  
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华