TRNG I HC M TP. HCM
KHOA CÔNG NGH THÔNG TIN
KHÓA LUN TT NGHIP
XÂY DNG H THNG QUN LÝ
BÁN HOA TRC TUYN
Ngành: Công Ngh Thông Tin
Hng chuyên ngành: Qun Tr Mng
Khóa: 2007 - 2011
Ging viên hng dn: TS. LÊ XUÂN TRNG
Sinh viên thc hin: PHM THÀNH TÀI
MSSV: 10701119
Lp : TH07B1
TP. H Chí Minh, tháng 9 nm 2011
LI CÁM N
hoàn thành khóa lun tt nghip này, em đã nhn đc s hng
dn, giúp đ và góp ý nhit tình ca quý thy cô trng i Hc M Thành ph
H Chí Minh, cùng vi s đng viên và giúp đ ca gia đình.
Trc tiên, em xin gi li cm n đn thy Lê Xuân Trng ngi đã tn
tình hng dn em trong sut thi gian qua đ có th hoàn thành khóa lun tt
nghip này.
Em xin chân thành cm n quý thy, cô trng i Hc M Thành ph
H Chí Minh đã tn tình dìu dt, ging dy và truyn đt nhng kin thc quý
báo trong sut thi gian chúng em hc ti trng.
Em xin cám n gia đình, bn bè nhng ngi luôn luôn đng viên và giúp
đ em trong sut thi gian qua.
Mc dù em đã c gng bng tt c s nhit tình và nng lc ca mình
nhng do trình đ còn hn ch và thi gian hn hp nên chc chn s còn nhiu
thiu sót. Rt mong nhn đc s đóng góp ý kin ca quý thy cô và ban lãnh
đo đ đ tài này hoàn chnh và mang tính thc tin hn.
Sinh viên
Phm Thành Tài
NHN XÉT CA GING VIÊN HNG DN
NHN XÉT CA GING VIÊN PHN BIN
MC LC
DANH MC CÁC BNG 1
DANH MC S VÀ HÌNH 2
DANH MC T VIT TT VÀ TING ANH 4
CHNG 1: TNG QUAN 5
1.1 Gii thiu 5
1.2 Mc đích đ tài 5
1.3 Phng pháp thc hin 6
1.4 Phm vi đ tài 7
1.5 B cc 8
CHNG 2: C S LÝ THUYT 9
2.1. Gii thiu ASP.NET 9
2.2. Gii thiu ADO.NET 15
2.2.1. Gii thiu chung 15
2.2.2. So sánh vi phiên bn ADO 15
2.2.3. Kin trúc ADO.NET 17
2.2.4. Ý ngha ca vic x lý d liu ngt kt ni trong ng dng Web 18
2.2.5. i tng Connection 18
2.2.6. i tng Command 20
2.3. Truy câ
p d
liê
u ADO.NET 23
2.4 Gii thiu v AJAX 25
2.4.1 Gii thiu 25
2.4.2 Quá trình hot đng ca AJAX 25
CHNG 3 : PHÂN TệCH H THNG 27
3.1 Phân tích yêu cu 27
3.1.1 Xác đnh yêu cu 27
3.1.2. Phân tích yêu cu: 28
3.2 Các s đ phân tích 30
3.2.1 Biu đ UseCase ca h thng 30
3.2.2 Thit k d liu 36
CHNG 4 : HIN THC CHNG TRÌNH 48
4.1 Giao din website phía ngi dùng 48
4.1.1 Trang ch 48
4.1.2 Trang đng ký khách hàng mi 49
4.1.3 Trang đng nhp ca khách hàng 50
4.1.4 Trang thay đi thông tin cá nhân và mt khu 51
4.1.5 Phn tìm kim sn phm 52
4.1.6 Thng kê s lng truy cp vào trang web 52
4.1.7 Trang gi hàng 53
4.1.8 Trang chi tit đn đt hàng 54
4.1.9 Thanh toán qua Paypal.com 55
4.1.10 Các trang thông tin v trang web bán hoa 59
4.2 Giao din phía ngi qun tr website 60
4.2.1 Trang đng nhp vào h thng 60
4.2.2 Trang ch 62
4.2.3 Trang qun lý nhà cung cp 62
4.2.4 Trang qun lý nhóm sn phm 63
4.2.5 Trang qun lý sn phm 64
4.2.6 Trang qun lý nhp hoa 65
4.2.7 Trang qun lý loi hoa 66
4.2.8 Trang qun lý khách hàng 67
4.2.9 Trang qun lý nhân viên 67
4.2.10 Trang qun lý đn hàng 69
4.2.11 Chc nng thng kê 70
CHNG 5: KT LUN 72
5.1. Chc nng đã làm đc 72
5.2. Hng phát trin 72
TÀI LIU THAM KHO 73
PH LC 74
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 1
DANH MC CÁC BNG
Bng 2.1 - Các tp tin cn bn trong ASP.NET 12
Bng 2.2 - Các s kin ca trang Web 13
Bng 2.3 - Các s kin ng dng 14
Bng 2.4 – So sánh ADO và ADO.NET 16
Bng 3.1 – Mô t chc nng chính ca ngi qun tr 32
Bng 3.2 – Mô t chc nng chính ca ngi dùng 34
Bng 3.3 – Các thuc tính ca nhà cung cp 41
Bng 3.4 – Các thuc tính ca hoa 41
Bng 3.5 – Các thuc tính ca phiu nhp 42
Bng 3.6 – Các thuc tính ca chi tit phiu nhp 42
Bng 3.7 – Các thuc tính ca nhóm sn phm 42
Bng 3.8 – Các thuc tính ca sn phm 43
Bng 3.9 – Chi tit sn phm 44
Bng 3.10 – Các thuc tính ca khách hàng 44
Bng 3.11 – Các thuc tính ca đn hàng 45
Bng 3.12 – Các thuc tính ca chi tit đn hàng 46
Bng 3.13 – Các thuc tính ca nhân viên 46
Bng 3.14 – Các thuc tính ca lt truy cp 47
Bng 3.14 - Danh sách các ngi dùng 61
Hình 4.35 – Thng kê hoa 71
Bng 3.15 – Chú thích các thành phn Usecase ca h thng 74
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 2
DANH MC S VÀ HÌNH
Hình 2.1 - Quá trình biên dch và thc thi trong ASP.NET 11
Hình 2.2 – Vòng đi ca trang ASP.NET 13
Hình 2.3 – Mô hình kin trúc ADO.NET 17
H̀nh 2.4 - Thc hin chng tr̀nh vi truy nhp d liu ADO.NET 25
Hình 2.5 - ng dng truyn thng ( trái) và ng dng Ajax (phi). 26
Hình 3.1 – Mô hình chc nng ngi qun tr 31
Hình 3.2 – Mô hình chc nng ca ngi dùng 34
Hình 3.3 - Mô hình quan h 36
Hình 3.4 - Thc th nhà cung cp 37
Hình 3.5 - Thc th hoa 37
Hình 3.6 - Thc th nhóm sn phm 37
Hình 3.7 - Thc th sn phm 38
Hình 3.8 - Thc th khách hàng 38
Hình 3.9 - Thc th hình thc thanh toán 38
Hình 3.10 - Thc th đn hàng 39
Hình 3.11 - Thc th nhân viên 39
Hình 3.12 - Thc th lt truy cp 40
Hình 4.1 – Giao din trang ch bán hoa 48
Hình 4.2 – ng ký làm thành viên 50
Hình 4.3 – ng nhp vào website 50
Hình 4.4 – Thay đi thông tin cá nhân 51
Hình 4.5 – Thay đi thông tin mt khu 52
Hình 4.6 – Tìm kim sn phm 52
Hình 4.7 – Tìm kim sn phm 52
Hình 4.8 – S lt truy cp vào trang web 53
Hình 4.9 – Chi tit gi hàng 53
Hình 4.10 – Chi tit đn đt hàng 54
Hình 4.11 – Hoàn tt đt hàng 55
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 3
Hình 4.11 – ng nhp vào tài khon ngi bán ti Paypal.com 56
Hình 4.12 – ng nhp vào tài khon ngi mua hàng 57
Hình 4.13 – Chi tit thanh toán ti paypal.com 58
Hình 4.14 – Thanh toán thành công 58
Hình 4.15 – Chi tit đn hàng đã giao dch thành công 59
Hình 4.16 – Gii thiu v công ty 60
Hình 4.17 – Hng dn đt hoa 60
Hình 4.18 – Giao din đng nhp vào trang qun tr 61
Hình 4.19 – Thay đi mt khu 61
Hình 4.20 – Giao din trang qun lý 62
Hình 4.21 – Giao din trang nhà cung cp 63
Hình 4.22 – Giao din trang nhóm sn phm 64
Hình 4.23 – Thông tin v sn phm 65
Hình 4.24 – Thêm sn phm mi 65
Hình 4.25 – Nhp hoa 66
Hình 4.26 – Qun lý loi hoa 66
Hình 4.27 – Thêm loi hoa 67
Hình 4.28 – Qun lý thông tin khách hàng 67
Hình 4.29 – Qun lý nhân viên 68
Hình 4.30 – Thêm nhân viên 69
Hình 4.31 – Qun lý đn hàng 69
Hình 4.32 – X lý đn hàng 70
Hình 4.33 – Thng kê 70
Hình 4.34 – Thng kê doanh thu 71
Hình 4.35 – Thng kê hoa 71
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 4
DANH MC T VIT TT VÀ TING ANH
CNTT Công ngh thông tin
Code Mã
Building Xây dng
Deloying Trin khai
Running Thc thi
CSDL C s d liu
Control iu khin
Database C s d liu
Download Ti v
Implement Thc thi
Intermediate Trung gian
Language Ngôn ng
Left Bên trái
List Danh sách
Logic Lp lun hp lý
Logo Biu tng, hình nh đi din
Main Chính
Model Kiu, mu, mô hình
Password Mt khu
Right Bên phi
Session Phiên làm vic
Server Máy phc v, máy ch
Submit Tr̀nh, đ tr̀nh
Template Khuôn mu
Username Tên ngi s dng
Web World Wide Web, th
ng đ
c go
i tt la
Web
Website Là tp hp nhiu trang web
Web form Giao din Website
ASP.NET Actice Server Page
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 5
CHNG 1: TNG QUAN
1.1 Gii thiu
Cùng vi s phát trin kinh t nhanh chóng nc ta hin nay theo đó nhu cu
tiêu dùng ca con ngi ngày càng tng cao , đi cùng vi đó là nhu cu v n ung,
mua sm, làm đp
Bên cnh đó, hin nay cùng vi s phát trin rt nhanh ca Internet vi nhng
công ngh mi v thông tin và truyn thông mang li cho rt nhiu thun li, ngi
tiêu dùng không ch dng li mc phi đn tn các ca hàng , công ty đ mua hàng
hóa mà mình cn, vi Internet, nó đã cung cp mt dch v nhanh hn và ti u hn
cho ngi tiêu dùng nh mua hàng trc tuyn, t vn trc tuyn và các hình thc
qung bá sn phm t doanh nghip nhm đáp ng đc nhu cu ngày càng cao ca
con ngi.
Do nm bt đc nhu cu ngày càng cao ca ngi tiêu dùng các công ty doanh
nghip đã phát trin nhiu hình thc qung cáo sn phm ca m̀nh đn khách hàng
trong đó vic xây dng các website bán hàng trc tuyn là mt hình thc rt ph bin
và thành công hin nay.
i vi ngi tiêu dùng, vi ch mt chic máy tính ni mng internet thì h có
th tip cn nhng công ngh mi, tin tc, nhng sn phm mi, chn la và so sánh
đc sn phm tt nht cn thit cho m̀nh và điu đc bit là có th tit kim đc rt
nhiu thi gian và chi phí cho vic đi li chn la sn phm mình mong mun.
Vi vic phát trin nhanh chóng nh hin nay, và nhu cu mua sm trc tuyn
ngày càng cao thì vic xây dng website qung bá Bán Hoa Trc Tuyn là mt phn
hoàn toàn cn thit và quan trng cho các công ty, ca hàng.
1.2 Mc đích đ tài
Vi ngun hoa di dào ti nc ta hin nay cùng vi s phát trin áp dng khoa
hc k thut đ to ra nhng chng loi hoa mi vi nhiu màu sc nét đp riêng. Các
vn hoa ni ting nh à Lt, Sa éc… vi rt nhiu loi hoa đp đáp ng cho hu
ht các công ty ca hàng trong c nc. Nhng nhng loi hoa sn phm đp vn cha
đc qung bá tt đn ngi tiêu dùng ti Vit Nam cng nh ngoài nc. Vì vy,
vic qung bá hoa thông qua hình thc trc tuyn là 1 cách tt đ giúp các công ty, ca
hàng gii thiu đc nhng loi hoa và sn phm mi ti ngi tiêu dùng.
Vi vic xây dng website qun lý và qung bá bán hoa trc tuyn s mang đn
cho công ty, ca hàng nhng thun li nht đnh nh : giúp gii thiu sn phm cng
nh h̀nh nh ca m̀nh đn khách hàng, qun lý đc sn phm, các loi hoa, nhp
hoa… thc hin mt cách nhanh hn và tránh lãng phí v thi gian cng nh nhân lc,
đng thi ngày càng nâng cao cht lng dch v ca công ty.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 6
Website vi chc nng cho phép ngi dùng đt hàng trc tuyn qua tài khon
ti Paypal.com giúp cho vic giao dch din ra mt cách nhanh chóng và tin li hn.
Ngoài ra, nó giúp cho ngi qun lý d dàng hn trong vic nm bt đc nhng đn
đt hàng cng nh vic x lý đn đt hàng. Thêm vào đó, ngi qun lý, nhân viên ti
công ty có th thng kê đc s lng sn phm còn li, doanh thu ca công ty trong
thi gian nht đnh.
1.3 Phng pháp thc hin
Tìm hiu c s lý thuyt v môi trng lp trình ASP.Net 3.5 , cách thc hot
đng cng nh vic s dng các control đ đa vào trang web. Thêm vào đó, tìm hiu
k các điu khin liên quan đn vic truy cp d liu gia trang web và phía c s d
liu cng nh cách thc hot đng ca mô hình 3 lp - xây dng ng dng theo mô
hình 3 lp đn gin và hiu qu. Ngoài ra, còn tìm hiu thêm các tính nng đc đim
ca ASP.Net AJAX. Thit k xây dng c s d liu s dng Microsoft SQL Server
2005, tìm hiu v các thành phn c bn ca mt c s d liu, cách thc truy cp d
liu bng Store Procedure.
Phân tích các vn đ liên quan và cn thit đ xây dng mt website v qun lý
và qung bá bán hoa trc tuyn. Ngoài ra, xây dng đc c s d liu cho website.
V phn qun lý:
o Thc hin các chc nng c bn nh vic thêm, sa, xóa mt đi tng c th.
o Qun lý đc các thông tin v khách hàng, nhóm sn phm, nhà cung cp…
o Qun lý đc vic nhp hoa khi cn thit.
o Qun lý sn phm : to mi sn phm, thay đi thông tin sn phm, s lng
sn phm.
o Qun lý đc thông tin nhân viên cng nh cách thc phân quyn cho tng
nhân viên vi công vic c th.
o Thc hin qun lý đn hàng mà khách hàng đã đt hàng, cho phép x lý tìm
kim đn hàng trong khong thi gian nht đnh, hay vic tìm kim đn hàng
theo tình trng ca đn hàng và 1 s tùy chn khác.
o Cho phép thc hin các thng kê v doanh thu trong ngày, theo tháng và thng
kê s lng hoa còn tn trong ngày đó.
V phn qung bá :
o Hin th thông tin sn phm theo tng nhóm sn phm c th.
o Cung cp chc nng cho khách hàng có th đt, mua hàng,xem gi hàng hin
ti. Ngoài ra, còn cung cp các chc nng thanh toán cho ngi dùng la chn
nh : thanh toán trc tuyn qua tài khon ti Paypal.com, thanh toán trc tip
cho nhân viên khi giao hàng.
o Cho phép ngi dùng đng ký tài khon đ thc hin chc nng mua hàng.
Thêm vào đó, ngi dùng có th thc hin thay đi thông tin cá nhân ca mình.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 7
o Ngoài ra, Website cung cp chc nng t̀m kim giúp ngi dùng có th tìm
kim mt cách nhanh chóng trong vic chn hàng.
1.4 Phm vi đ tài
tài nhm mc đích phc v công vic qun lý kinh doanh ti mt ca hàng
mua bán hoa, bao gm nhng chc nng sau :
Xây dng ng dng qun lý bán hàng:
Tham kho mô hình lp trình 3 lp và ng dng các hàm kt ni, x lý d liu
SQL Server đ xây dng ng dng chy trên nn Web form cho phép thc hin các
chc nng:
o Phân quyn cho phép nhân viên truy cp vào h thng vi các quyn đc cho
phép.
o Xây dng h thng danh mc giúp cho ngi dùng có th chn la nhanh
chóng.
o Qun lý thêm, xóa, sa và theo dõi các danh mc: nhân viên, nhóm sn phm,
sn phm, khách hàng, loi hoa, nhà cung cp …
o Chc nng cho phép nhp hoa theo ngày.
o Thc hin vic tng hp và x lý đn hàng cho tng hóa đn.
o Thng kê đc doanh thu ca sn phm bán đc theo ngày hoc theo tháng …
o Thng kê s lng sn phm ca tng loi sn phm.
o Thng kê s lng hoa còn tn.
Xây dng ng dng qung bá hoa:
Thc hin công vic gii thiu, qung bá, mua bán sn phm qua mng. Nhm
h tr, m rng phm vi kinh doanh .Gm các thành phn và yêu cu chính:
o Gii thiu Công ty: Trình bày thông tin gii thiu v Công ty, lnh vc hot
đng…
o Gii thiu v sn phm, dch v: Cung cp cho khách hàng nhng thông tin cn
thit v các sn phm, dch v. Chúng đc chia theo danh mc, mi danh mc
có nhiu sn phm đc tr̀nh bày di dng danh sách các thành phn bao gm
hình nh, mô t và giá thành.
o Phn đt hàng, gi hàng: Bao gm các chc nng ca gi hàng, đn hàng…,
giúp cho khách hàng có th chn hàng và đng ký đt mua hàng mt cách d
dàng.
o Bên cnh vic thanh toán theo hình thc thanh toán trc tip vi nhân viên giao
hàng. Website còn cung cp chc nng Thanh toán trc tuyn- H tr thanh
toán trc tuyn qua tài khon ti Paypal.com , to thun li trong quá trình mua
bán qua mng internet.
o Tìm kim: Cho phép tìm các sn phm trên website bng các t khóa có liên
quan.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 8
1.5 B cc
Chng 1 – Tng quan.
Chng 2 – C s lý thuyt.
Chng 3 – Phân tích h thng.
Chng 4 – Hin thc chng tr̀nh.
Chng 5 – Kt lun.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 9
CHNG 2: C S LÝ THUYT
2.1. Gii thiu ASP.NET
ASP.NET là công ngh mi ca Microsoft, tên đy đ ca ASP.NET là Active
Server Pages .NET (.NET đây là .NET framework). ASP NET là th h tip theo
ca ASP nhng nó không phi là phiên bn cp nht t ASP.
ASP.NET là mt công ngh có tính cách mng, dùng đ phát trin các ng dng
v mng hin nay cng nh trong tng lai. Nó cung cp mt cách thng nht cho mô
hình phát trin ng dng Web. ASP.NET bao gm nhng dch v cn thit cho ngi
lp tr̀nh đ xây dng lp cho ng dng Web. Ngoài ra , nó cng cung cp nhng mô
hình và cu trúc giúp vng chc và to nên s bo mt hn cho ng dng.
ASP.NET là mt phng pháp t chc hay khung t chc (framework) đ thit
lp các ng dng ht sc hùng mnh cho mng da trên CLR (Common Language
Runtime).
ASP.NET tích hp vi .NET Framework
.NET Framework là mt thành phn không th thiu ca Windows, nó cho phép
xây dng (building), trin khai (deploying) và thc thi (running) ng dng và dch v
Web. Nó đc phát trin nhm gii quyt nhng vn đ sau :
o Làm cho vic lp trình d dàng và nhanh hn.
o Gim thiu s lng mã (code).
o Có th t to ra mô hình lp trình.
o Tng thêm tính th bc ca các điu khin.
o To ra nhiu lp th vin hn.
o Vic h tr tt hn ca các công c lp trình.
.NET Framework có hay thành phn ch yu là : b thc thi ngôn ng chung
(Common Language Runtime) và các th vin lp ( class) .NET Framework.
o Common Language Runtime đc xây dng da trên các dch v ca h điu
hành. Nó chu trách nhim thc hin các ng dng và đm bo cho các thành
phn liên quan đu có th đáp ng đc.
o Th vin các lp c s .NET Framework cung cp mt danh sách các lp
hng đi tng, có th bc, có th m rng và đc s dng cho bt k ngôn
ng lp trình nào.
.NET Framework đc chia thành b các tác v cho tng chc nng gm các lp
(class), các cu trúc (structures), các giao din (interfaces) và các lõi (core) thành phn
chng tr̀nh. Trc khi s dng thành phn nào ta phi hiu c bn v chc nng, các
t chc ca nó. Mi mt trong hàng ngàn các tng lp đc nhóm theo trình t logic,
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 10
th bc đc gi là mt không gian tên (namespace). Mi namespace cung cp mt
tính nng.
ASP.NET lƠ đa ngôn ng
ASP.NET đc biên dch và thc thi da trên môi trng .NET, ngi lp trình
có th to ng dng vi nhiu ngôn ng lp trình trong môi trng .NET. Chúng bao
gm nh : Visual Basic .NET, C# và Jscript.NET. Thêm vào đó, mô h̀nh .NET
Framework thì luôn có trong bt k ng dng ASP.NET nào. Ngi lp trình có th d
dàng s dng nhng tin ích ca các công ngh này, bao gm chy trên môi trng
thi gian thc ca CLR, đánh máy nhanh hn, có tính tha k …
iu quan trng là các ngôn ng chúng ta chn mã ca nó dch đc ra mã ngôn
ng trung gian IL (Intermediate Language). iu đó có ngha là IL là ngôn ng ca
.NET và ch có CLR nhn bit đc IL.
ASP.NET lƠ hng đi tng (Object-Oriented)
ASP.NET là ngôn ng lp tr̀nh hng đi tng s dng các ngôn ng .NET. Nó
cung cp b các đi tng nh và thc s là mt tng làm vic trên nguyên lý ca
HTTP và HTML. Mã ngun ca chúng ta không đc truy cp toàn b các đi tng
trong .NET Framework nhng có th khai thác tt c các quy c ca mt môi trng
OOP (Object Oriented Programming). Chúng ta có to các lp, giao din, k tha các
lp… Chúng ta có th kim soát đc các đi tng trong chng tr̀nh nh hin th
d liu và các s kin ca đi tng.
ASP.NET đc biên dch
Mt ng dng ASP.NET luôn luôn đc biên dch, nó không chy bng mã ca
C# hoc Visual Basic mà không đc biên dch trc. Mt ng dng ASP.NET thc
s đc biên dch thông qua 2 giai đon:
o Giai đon đu tiên các mã (code) ta vit (C#, Visual Basic hoc ngôn ng .NET
khác) đc dch bi Microsoft Intermediate Language (MSIL). Giai đon dch
này đc dch t đng khi trang web đu tiên yêu cu. Chúng ta có th thc
hin dch trc. Các tp đc dch thành mã IL (Intermediate Language Code).
o Giai đon tip theo đc dch trc khi trang Web đc thc thi. Ti giai đon
này mã IL đc dch thành bn mã máy (Native Machine Code). Giai đon này
đc gi là Just-In-Time (JIT).
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 11
Hình 2.1 - Quá trình biên dch và thc thi trong ASP.NET
ASP.NET đc lu tr trên máy bi Common Language Runtime
Khía cnh quan trng nht ca công c ASP.NET là nó chy trong môi trng
thi gian thc (Runtime) ca CLR (Common Language Runtime). CLR là máy o
(virtual machine) trong Microsoft .NET, do có ngôn ng trung gian IL nên khi phát
trin ng dng trên .NET, chúng ta không b ph thuc vào thit b, có ngha là theo
Microsoft nói thì ng dng .NET có th chy trên bt k thit b nào có .NET
Framework. Tt c các namespace, các ng dng, các lp trong b .NET Framework
đc gi tt là b qun lý mã. CLR cng cung cp các dch v quan trng khác nh:
o Qun lý b nh
o Thu nht rác
o Qun lý các tuyn
o X lý ngoi l
o An toàn
ASP.NET d dàng trin khai và cu hình
Mi s cài đt .NET Framework đu cung cp các lp nh nhau. trin khai
ng dng ASP.NET chúng ta ch cn sao chép các tp tin vào th mc o trên máy ch
(server) và máy ch ch cn có .NET Framework.
Vic cu hình d dàng đn gin không ph thuc vào IIS (Internet Information
Services). Cu h̀nh trong ASP.NET đc đt trong tp web.config. Tp web.config
đc đ cùng vi th mc cha trang web ca chúng ta. Tp web.config không bao
gi b khóa, chúng ta có th truy cp bt k lúc nào, vic sa tp này hoàn toàn d
dng v̀ chúng đc lu di dng XML.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 12
Các s kin trong ASP.NET
1. Mt s tp c bn trong ASP.NET
Bng 2.1 - Các tp tin cn bn trong ASP.NET
TP
MIÊU T
*.aspx
Tp này cha toàn b giao din ngi dùng, các tùy chn, các
đon code ng dng.
*.cs
Tp này cha các mã ngun ca C#
web.config
Tp tin dng XML cha cu hình cho ng dng ASP.NET. Nó
bao gm các cu hình v an ninh, qun lý trng thái, qun lý b
nh…
global.asax
Tp tin này đ khai báo các bin toàn cc và phn ng vi các
s kin toàn cc.
2. Chu k sng ca trang web trong ASP.NET (ASP.NET Page Life Cycle)
o Chu k sng đc bt đu khi trình duyt yêu cu mt trang web gi là Session.
o Chu k sng vn tip tc nu:
Session đang hot đng.
Ngi s dng tng tác vi giao din web cho đn khi kích hot mt s
kin.
D liu ca trang (View State) wed đc gi v cho Server.
Server nhn đc View State và tr li yêu cu t View State.
o Chu k sng kt thúc khi:
Ngi dùng kt thúc trình duyt.
Session kt thúc (timeout).
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 13
3. Mt s các s kin ca trang web (ASP.NET Page Event)
Trình t các s kin xy ra khi thc thi mt trang web.
Hình 2.2 – Vòng đi ca trang ASP.NET
Bng 2.2 - Các s kin ca trang Web
S KIN
MIÊU T
Pre_Init
Kim tra thuc tính IsPostBack khi ln đu tiên trang web
đang đc x lý.
To mi hoc to mi li các Control đng (Dynamic
Control).
Thit lp trang ch (Master page), thuc tính Theme.
c và thit lp giá tr cho thuc tính Profile.
Page_PreInit()
Page_Init()
Page_InitComplete()
Page_PreLoad()
Page_Load()
Page_PreRender()
Page_Unload()
Nu có Postback thì phát sinh s kin ca điu khin
nh s kin Click ca Button
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 14
Init
Làm ni (Raised) sau khi các Control đã đc khi đng và
các Skin đã đc ng dng. S dng s kin này đ đc
hoc khi to các thuc tính ca Control.
PreLoad
a tt c các trng thái ca điu khin, và sau đó nó x lý
đa d liu lên bao gm thuc tính khi to (Instance).
Load
S dng s kin này đ thit lp thuc tính cho Control,
thit lp các kt ni vi C s d liu.
InitComplete
S dng s kin này đ x lý các tác v có yêu cu khi tt
c các khi to hoàn thành.
Unload
Trang đc gii phóng khi b nh
Error
Khi xy ra li trong trang.
DataBinding
Server Control trên trang đc gn vi ngun d liu.
4. S kin ng dng (Event Application)
Bng 2.3 - Các s kin ng dng
S KIN
MIÊU T
Application_Start
Ngi dùng đu tiên duyt trang web.
Application_End
Khi không còn ngi dùng nào duyt trang web.
Application_Error
Khi có li xy ra trong ng dng
Session_Start
Phng thc này đc gi mi khi mt session đc
gi, ngi lp trình có th dùng phng thc này đ
đm s ngi truy cp vào trang web.
Session_End
Khi ngi dùng đóng tr̀nh duyt hoc Session kt
thúc (time out)
Application_Disposed()
Phng thc này thnh thong đc gi sau khi ng
dng đã tt đi và gii phóng b nh.
Ví d v s kin Application_Start – đm s ngi truy cp vào trang Web
protected void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 15
Application[
"HomNay"] = 0;
Application["HomQua"] = 0;
Application["TuanNay"] = 0;
Application["TuanTruoc"] = 0;
Application["ThangNay"] = 0;
Application["ThangTruoc"] = 0;
Application["TatCa"] = 0;
Application["visitors_online"] = 0;
}
2.2. Gii thiu ADO.NET
2.2.1. Gii thiu chung
ADO.NET là mt phn ca .NET Framework, nó đc xem là “b th vin lp”
chu trách nhim x lý d liu trong ngôn ng MS.NET. ADO.NET đc thit k vi
dng d liu “ngt kt ni”, ngha là chúng ta có th ly c mt cu trúc phc tp ca
d liu t database, sau đó ngt kt ni vi database ri mi thc hin các thao tác cn
thit. ây là mt s tin b v mt thit k bi vì thit k ADO trc đây luôn cn duy
trì mt kt ni trong quá trình thao tác d liu.
Mc tiêu chính ca ADO.NET là:
o Cung cp các lp đ thao tác CSDL trong c hai môi trng là phi kt ni
(Disconected data) và kt ni (Connected data).
o Tích hp cht ch vi XML (Extensible Markup Language)
o Tng tác vi nhiu ngun d liu thông qua mô t d liu chung.
o Ti u truy cp ngun d liu (OLE DB & SQL server).
o Làm vic trên môi trng Internet (môi trng phi kt ni – Disconnected
eviroment).
2.2.2. So sánh vi phiên bn ADO
Trc ADO.NET, Microsoft đã có ADO là mt b th vin đ x lý các thao tác
liên quan đn d liu. ADO có tính linh hot, d s dng và đc tích hp trong các
ngôn ng nh Visual Basic, ASP 3.0
Có th coi ADO.NET là mt th h tip theo ca ADO. ADO.NET k tha tt c
nhng u đim ca ADO, đng thi vi ý tng thit k hoàn toàn mi ADO.NET có
mt din mo khác hn so vi tin thân ca nó. Mt vài đc đim ni bt ca
ADO.NET mà ADO không có nh sau:
o ADO.NET đc thit k hoàn toàn da vào XML v̀ XML là chun trao đi
d liu tin b và tt nht trên môi trng Internet hin nay.
o ADO.NET đc thit k hoàn toàn hng đi tng: đây là đc đim chi
phi toàn b các sn phm Microsoft .NET.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 16
2 đc đim trên là 2 đc đim c bn và ni tri ca ADO.NET mà ADO không
có. Sau đây là bng so sánh chi tit v tng khía cnh ca ADO và ADO.NET.
Bng 2.4 – So sánh ADO và ADO.NET
c đim
ADO
ADO.NET
D liu x lý đc
đa vào b nh di
dng
Recordset : tng đng 1
bng d liu trong database
Dataset : tng đng 1
database
Duyt d liu
Recordset ch cho phép
duyt tun t, tng dòng
mt.
Dataset : cho phép duyt
“t do, ngu nhiên”, truy
cp thng ti bng ,dòng
,ct mong mun.
D liu ngt kt ni
Recordset cng có th ngt
kt ni nhng t tng
thit k ban đu ca
Recordset là hng kt ni,
do đó vic ngt kt ni
cng không đc h tr tt
nht.
Dataset đc thit k vi
t tng ban đu là “ngt
kt ni” à h tr mnh m
“ngt kt ni”.
Kh nng vt tng
la
Khi trao đi d liu vi
ADO qua Internet, thng
s dng chun COM,
chun COM rt khó vt
qua đc tng la. Do
vy kh nng trao đi d
liu ADO qua Internet
thng có nhiu hn ch.
ADO.NET trao đi d
liu qua Internet rt d
dàng v̀ ADO.NET đc
thit k theo chun XML,
là chun d liu chính
đc s dng đ trao đi
trên Internet.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 17
2.2.3. Kin trúc ADO.NET
Hình 2.3 – Mô hình kin trúc ADO.NET
Kin trúc ADO.NET có 2 phn:
Phn kt ni:
Phn này s dng khi ta kt ni vi c s d liu và thao tác d liu, yêu cu phi
thc hin kt ni vi c s d liu khi đang thao tác. Các đi tng ca phn này là:
o Connection: i tng qun lý đóng hoc m kt ni ti Database. Có 2 dng
Connection tu theo ngun d liu là g̀ (OleDb hay SQL Server) đó là
OleDbConnection và SqlConnection.
o Command: i tng thc hin các câu lnh tng tác truy vn, rút trích d
liu t database khi đã thit lp kt ni ti d liu và tr v kt qu. Tng t
nh Connection, Command cng có 2 dng tu theo ngun d liu là gì (OleDb
hay SQL Server) đó là OleDbCommand và SqlCommand.
o DataReader: i tng x lý đc d liu, đc thit k phù hp cho các ng
dng web. Ch X lý 1 dòng d liu ti mt thi đim. Phù hp vi ng dng
web vì x lý nhanh, nh không chim b nh. Cng có 2 dng tùy theo d liu
ngun : OleDbDataReader và SqlDataReader. D liu ca đi tng đc to
ra khi đi tng Command thc hin câu lnh ExecuteReader().
o DataAdapter: ây là đi tng rt quan trng ca ADO.NET, nó là cu ni
ca database và dataset (dataset là đi tng ngt kt ni), bi v̀ đi tng
“ngt kt ni” dataset không th liên lc trc tip vi database nên nó cn mt
đi tng trung gian ly d liu t database cho nó. Và đó chính là
DataAdapter. Vì DataAdpater khi thao tác vi Database vn phi duy trì kt ni
nên nó đc lit kê vào dng “kt ni”, nhng bn cht là phc v cho vic
“ngt kt ni”.
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 18
Phn ắngt kt ni”:
Ch có mt đi tng chu trách nhim ngt kt ni đó chính là DataSet. DataSet
không cn bit gì v Database thuc kiu gì, kt ni ra sao. Nhim v ca DataSet là
nhn d liu v t DataAdapter và x lý nó. DataSet có th đc xem nh 1 Database
trong b nh gm tt c các bng ,quan h …DataSet có nhiu đi tng đc xem là
“con” tc là cp thp hn đi kèm vi nó nh: DataTable ( tng đng vi 1 bng
trong database) , cp thp hn ca DataTable có các đi tng DataRow (tng đng
vi 1 dòng), DataColumn( tng đng vi 1 ct), DataRelation (tng đng vi các
quan h). Ngoài ra còn có các đi tng nhóm: ví d nh DataTableCollection,
DataRowCollection, DataColumnCollection. Vic s dng DataSet là mt tin b ln
ca kin trúc ADO.NET tuy nhiên vi các ng dng Web, vic s dng DataSet không
đc khuyn khích v̀ đi tng DataSet đc xem là quá ln, nng n khó thích hp
cho đng truyn trên web vn rt hn ch.
2.2.4. ụ ngha ca vic x lỦ d liu ngt kt ni trong ng dng Web
ng dng web là nhng ng dng có rt nhiu ngi dùng. Ti mt thi đim có
th có hàng vn ngi dùng truy cp vào web. Chính vì vy, rt d xy ra tình trng
quá ti, d làm cho server b tn hi. Vic x lý ngt kt ni có ý ngha gim thiu s
ngi dùng truy cp 1 lt vào Web. Ngha là khi 1 ngi truy cp vào Website, các
d liu mà anh ta cn s đc ly xung sau đó không kt ni vào Database Server
na sau đó thc hin các thao tác d liu.
Tuy nhiên mt trái ca vic này cng có là Web Server cng s phi x lý mt
lng d liu khá ln trong b nh. Nh vy, ta có th gim thiu vic truy cp vào
database nhng Web Server li phi x lý nhiu hn.
Chính v̀ lý do đc/mt nh trên mà x lý ngt kt ni phi vô cùng khéo léo
trong ng dng web. Ta ch nên x lý ngt kt ni cho nhng d liu chung thng
dùng, ít thay đi mà thôi. Không nên quá lm dng vì tt c nhng vn đ đu có mt
trái ca nó.
2.2.5. i tng Connection
i tng Connection là đi tng chu trách nhim qun lý kt ni ti ngun d
liu (DataSource). Có 2 dng Connection tng ng vi 2 kiu d liu SQL Server và
OLEDB đó là: SqlConnection và OleDbConnection. C 2 đi tng này đu
implement t interface IDbConnection. Bng cách s dng Interface IDbConnection,
các nhà cung cp dch v Database khác nhau có th to ra các cài đt phù hp cho
Database riêng ca h.
i tng Connection ca ADO.NET ch nhn mt tham s đu vào là chui kt
ni (connection string). Trong chui kt ni, các thông s đc cách nhau bng du
“;”, connection string có các thông s sau:
Tài - Xây Dng H Thng Qun Lý Bán Hoa Trc Tuyn
Trang 19
o Provider: Tên nhà cung cp Database, đi vi OLEDB cn khai báo là
SQLOLEDB. i vi SQL Server thì không thuc tính này.
o DataSource (hoc Server) : tên/đa ch database server cn kt ni ti.
o Initial catalog (hoc Database) : tên ca Database cn truy xut.
o Uid : username đ đng nhp vào Database Server.
o Pwd : password đ đng nhp vào Database Server.
Sau đây là ví d v 1 chui kt ni đi vi Database dng OLE DB:
Provider=SQLOLEDB ;Data Source=MySQL; Initial
Catalog=NorthWind; uid=sa; pwd=sa;
Còn đây là ví d v 1 chui kt ni đi vi Database dng SQL Server:
Server=ThanhTai-PC;Integrated
Security=SSPI;Database=KhoaLuan
Sau đây là các thuc tính, phng thc, s kin thông dng ca c SqlConnection
và OleDbConnection:
Thuc tính
o ConnectionString: thuc tính thit lp/ ly chui kt ni.
o ConnectionTimeout: thuc tính thit lp/ ly thi gian ch trong khi truy
xut vào database. Khi truy xut vào Database, chng tr̀nh s ch đúng
khong thi gian này nu ch qua khong thi gian này mà vn không kt
ni đc vào database th̀ chng tr̀nh s báo li.
o Database: thuc tính thit lp/ ly tên database ca đi tng connection
hin thi.
o DataSource: thuc tính thit lp/ly tên ca database server ca đi tng
connection hin thi.
o State: Ly trng thái hin thi ca Connection có các trng thái sau:
Connecting, Broken, Open, Closed, Executing, Fetching.
Phng thc
o BeginTransaction: s dng cho trng hp x lý giao tác ca ng dng.
Vic x lý giao tác rt có li trong khi x lý d liu t database vì có lúc
trong khi x lý d liu gp li thì có th thc hin câu lnh nh Rollback
hay trong lúc thao tác cng có th thc hin đc các giao tác chính nh
trên SQL Server nh Commit…
o Close: đóng 1 connection.