你的位置:睿鑫网络 >> 编程 >> web开发 >> ASP.NET >> 详细内容 在线投稿

ASP.NET中利用水晶报表创建图表

排行榜 收藏 打印 发给朋友 举报 来源: 网络   发布者:未知
热度18票  浏览25次 时间:2010年1月15日 10:55

#?? D3qi"h0在很多的应用程序中,报表是不可缺少的,一张好的报表能直观地让人把握数据的情况,方便决策。在这篇文章中,我们将以一个三层结构的asp.net程序为例,介绍如何使用crystal report ,来制作一份报表,其中介绍了不少asp.net和水晶报表的技巧。睿鑫网络t,Kzw F:w"d

;aXF-Z6wRi5e0在这个例子中,我们设想的应用要为一个销售部门制作一份报表,管理者可以查看某段时间之内的销售情况,以列表或者折线图的形式反映出销售的趋势。我们将使用SQL Server 2000做为数据库,使用VB.NET编写中间层逻辑层,而前端的表示层使用C#。我们先来看下数据库的结构。睿鑫网络ugM iZ:l9Q ~8f ~

:vOp@AQ!q:c_0睿鑫网络-U;`+]2r:M

L+KfV5Iw!C8t0其中,tbitem表中存放的是每张订单中所订购的货品,tbsales存放的是每张订单,tblsalesperson是销售员表,存放该出版社的每位销售员。

K9Wue;BO0 睿鑫网络P OA d%['S1U

接下来,使用SQL Server 2000来创建这些表。表的结构如下所示:

P4R(N.]E8Y0

)N+fI+k#z0CREATE TABLE [dbo].[tblItem] (

l\9\0T8WJ;x~0 睿鑫网络"O n/x k)C

[ItemId] [int] NOT NULL ,睿鑫网络$q} f.AR

_ w3^#V.^ ^ Z0[Description] [varchar] (50) NOT NULL睿鑫网络'q6FIzSmw2U

睿鑫网络xFO&c#},pB

) ON [PRIMARY]睿鑫网络jh$A Qj;U*Z+es

睿鑫网络DN-h!W~a*U ^

CREATE TABLE [dbo].[tblSalesPerson] (睿鑫网络ww~)m1um []%fa`

睿鑫网络!m3Kx2kY/Rz

[SalesPersonId] [int] NOT NULL ,

8vHh:F"``-Y0 睿鑫网络1e5j.v?K r

[UserName] [varchar] (50) NOT NULL ,

Z@vo5ytt0

+RIb3S8ze(n:Jl0[Password] [varchar] (30) NOT NULL睿鑫网络p#t k4kC!F

睿鑫网络 XG:tkmNH%} W

) ON [PRIMARY]睿鑫网络4| }p|{

睿鑫网络k@4[#[N5O8AGk

CREATE TABLE [dbo].[tblSales] (

2LZt]7@g }0 睿鑫网络T/a;d1?LL1N

[SaleId] [int] IDENTITY (1, 1) NOT NULL ,

fuU? ?0

k0TI7N Lq }\0[SalesPersonId] [int] NOT NULL ,睿鑫网络x2djO$@O-p"r

睿鑫网络P\c6rh/e[E.o

[ItemId] [int] NOT NULL ,

`%T]Q t0

[ Z@8B;Yd0[SaleDate] [datetime] NOT NULL ,睿鑫网络3f c7yZ'n(?9c$Q

睿鑫网络ff |Vl%S1R

[Amount] [int] NOT NULL

K5i G1w q]]6l'SS0 睿鑫网络-\;eDkCy

) ON [PRIMARY]

4iX6E3sD-Rxj)OG0 睿鑫网络.H(}/~ [i$^G

并且用以下的代码创建表之间的约束关系。

9skf9@2Uz0

0x`0p8NIE7YT0ALTER TABLE tblItem

[0D m \3e \a$`0q`H0

BZ\8GN0ADD CONSTRAINT PK_ItemId睿鑫网络D]:Ak6n6U

睿鑫网络c]$]"CU-N

PRIMARY KEY (ItemId)睿鑫网络#S7P?}N*Vv:c

e^ nHRH@(}CJ0GO

*| Ti9yp/pL*i'_&b!F0 睿鑫网络Zty2~'F@4yw'm(j

ALTER TABLE tblSalesPerson睿鑫网络 WO4?1^w%V

睿鑫网络 v0CAHg.? x _

ADD CONSTRAINT PK_SalesPersonId睿鑫网络 xO0AJ~)u%tU

Pu kt }0PRIMARY KEY (SalesPersonId)

)~{9ceW,iJ0

e/O? j[MS0GO睿鑫网络6[{Ly.a[

Y i!MB,sMK0ALTER TABLE tblSales

7W5X$mTv"^"NY0 睿鑫网络V;I_ c y

ADD CONSTRAINT FK_ItemId睿鑫网络8a(ATN4E-N q1f}

$X4m omAU"G)Bz/O0FOREIGN KEY (ItemId) REFERENCES tblItem(ItemId)

^7Y+e ~B3Q i|{|0 睿鑫网络 b7?(cfW)[-S

GO

8V'gf6? p ~!E,B0 睿鑫网络0\U \1un#[%v#Qa

ALTER TABLE tblSales

T|(^{2@$vJ0

-~Dbnp@aI p0ADD CONSTRAINT FK_SalesPersonId

bc?.J"~C0 睿鑫网络+dD d%U r2t2Xqk

FOREIGN KEY (SalesPersonId) REFERENCES tblSalesPerson(SalesPersonId)

,L*a'{5e:Z{8BPyq0

oG-Y l9~ S%k0GO

[*}%_@L:Yo0 睿鑫网络/j?(C&`,a&tK6Wm

创建中间逻辑层睿鑫网络ysf?C A

睿鑫网络H6v0k#RC Fn

在中间逻辑层组件中,我们为每一张表都创建两个类。比如,对于tblItems表,创建item 和items类。Item类中记录每件销售的货品的详细情况,而items表则记录所有销售的货品并且有增加货品的方法。这样,就存在下面的六个类:

8cqV5{8kAS0

#Fk6tYG:o0Item and Items睿鑫网络4k\vqB};q

2BW_hc/B,d8P0SalesPerson and SalesPersons

|3Gs+m+@0 睿鑫网络&q2YF2b k,f@ @

Sale and Sales

/i#mgdb2N0Z0 睿鑫网络%q7H{$J*rm'a(r

接下来,看一下每个类中的属性:

fy!r7lKQe2ID'x0 睿鑫网络;n6p6_4c6Xr7C K

Item类

+_ B S0Y/e0 睿鑫网络SF G+MM_2zm-sg_@

包括如下属性睿鑫网络6r]WqEs|

睿鑫网络1Q5H:f)mPB%h

ItemId (货品id编号)睿鑫网络b"xa/l;|0nd K:H~T

azBuIMo$^^rb0Description (货品的描述)睿鑫网络8kc?\g

睿鑫网络(k&u(cE KB*Trsan

Items睿鑫网络 j3n+p?7@sGE1E S6w

c`Z }0p|5U0有一个方法,将根据item的编号返回一个item对象睿鑫网络l#zp o2O U3q

dk X&_ Ic'C,}3z0Public Function GetAllItems () As Collections.ArrayList睿鑫网络1M2~"P]oY2l#mA

睿鑫网络7e0B J7aR,\F,C1O'{

SalesPerson睿鑫网络N6G8IYZ

睿鑫网络\$KEl'R:m

该类有以下三个属性:

,Y C1F)KR&E:D0 睿鑫网络 |8ft([,P"bt-P

SalesPersonId (销售员编号)睿鑫网络q8[ART#p/H#}pY

"ov'V%k$EC0Name (姓名)

asbKjTMBY0

3v)Za3}l K/_1G0Password (密码)

;e9_b$z|NpG0 睿鑫网络R_,{;JB*c H

SalesPersons

*dHyy3z3Y.c6j0

&WB5zSZ|-n1{{0有一个方法,根据销售员登陆时输入的用户名和密码,在数据库中,验证销售员的登陆是否正确,如果正确,则返回零。睿鑫网络/BZ$S`(?3wz

睿鑫网络-{+{:~j\&m;h

Public Function ValidateUser (strUserName as String, strPassword as String) As Integer

z9_RvT#ZP0 睿鑫网络(G}1o!ufWr {

Sale

)JN7o9`D Y:r;|0

r*Ugl;P C%K;|0有如下5个属性睿鑫网络\zc\4s)Wb0~

li-hb5n0· SaleId

O^4}'Ri*T0 睿鑫网络 Ev5W$nd}-v7`

· SalesPersonId

8w9^;U&?L"O^L0 睿鑫网络#o&u ]%} pU

· ItemId睿鑫网络@ Wc@ Y(mD'f

!E-^X!d3C6c0· SaleDate睿鑫网络L;M\6gg

Fp l*m2B#L:C~0· Amount睿鑫网络Ql p-{1D![kT%N Y'[

睿鑫网络x d-U-U+w%y

Sales睿鑫网络[X\8V(q6cwZsT

顶:1 踩:2
对本文中的事件或人物打分:
当前平均分:1.2 (10次打分)
对本篇资讯内容的质量打分:
当前平均分:4 (2次打分)
上一篇 下一篇

网络资源