Giáo trình Lập trình cơ sở dữ liệu với C# - Mô hình nhiều tầng: Phần 1 cũng cấp cho học viên các kiến thức tổng quan ứng dụng, các yêu cầu khi xây dựng ứng dụng; phân tích thiết kế cơ sở dữ liệu ứng dụng, phân tích chức năng của ứng dụng, mô hình quan hệ dữ liệu trên SQL Server; tầng 1: viết lớp truy xuất dữ liệu -DAL,... Mời các bạn cùng tham khảo chi tiết nội dung giáo trình!
Trang 1
Lup reinn cast oa ua
Trang 4a 5 ®
GIỚI THIỆU 3 (Al
GIGI THIEU
Chào mừng bạn đến với giáo trình “Lập trình cơ sở dữ liệu với
C# - Mơ hình nhiều tầng” Giáo trình này được xây dựng từ ứng dụng thực tế dựa trên mơ hình nhiều tầng (N-Tier), chúng tơi trình bày theo các phân đoạn của quy trình phân tích thiết kế dự án với Mơ hình nhiều
tang dạng WebForm Bạn hồn tồn cĩ thể áp dụng giải pháp này vào loại ứng dụng Windows Form hoặc trên các ứng dụng thiết bị di động
Từ chương một cho đến chương hồn thiện ứng dụng, chúng tơi
trình bày chi tiết cách thức xây dựng project từ tầng thiết kế dữ liệu, tang
viết mã xử lý cho đến tầng giao diện người dùng Chúng tơi xây dựng ứng dụng “Website doanh nghiệp” với cách trình bày rất đơn giản, minh họa
rõ ràng, xử lý từng tầng riêng biệt Bạn cĩ thể tự phát triển, mở rộng, áp
dụng xây dựng thành những ứng dụng chuyên nghiệp hơn và cĩ khả năng tái sử dụng
Đây là giáo trình mà bạn cĩ thể:
e Ung dung dé triển khai trong doanh nghiệp
e Lam co sé, nền tảng để xây dựng những ứng dụng lớn, đảm bảo tính rõ ràng, dễ dàng nâng cấp, bảo trì cũng như phù hợp với đội ngũ phát triển ứng dụng e Hiéu rõ khuơn mẫu của mơ hình đa tầng khi phát triển những dự án lớn và phức tạp se - Mở rộng, bổ sung theo phong cách hay “style” của bạn một cách hợp lý nhất
e Kham phá tổng thể giữa các tầng — N Tier vào một ứng dụng thực tế se _ Khám phá một phần của mơ hình nhiều tầng vào ứng dụng thực tế se - Và nhiều thứ khác mà ban sẽ khám phá
Tập này gồm nội dung sau: Chương 1: Tổng quan
Giới thiệu tổng quan giáo trình như các yêu cầu khi sử dụng, cài đặt phần mềm cần thiết về mơ hình nhiêu tầng và các yêu cầu cần thiết để sử
dụng giáo trình hiệu quả Bên cạnh đĩ bạn “tập dợt” qua mơ hình nhiều
Trang 54 GIGI THIEU
Chương 9: Phân tích thiết kế cơ sở dữ liệu ứng dụng
Giáo trình này chúng tơi sử dụng mơ hình nhiều tầng để xây dựng
ứng dụng Website doanh nghiệp Ứng dụng được phân tích, thiết kế dựa trên hệ quản trị SQL Server 2005
Chương này minh họa chi tiết cách tạo các bảng lưu trữ thơng tin,
các quan hệ, cũng như một số lược đổ quan hệ, sơ dé usecase, so dé tồn
bộ các lớp của ứng dụng Bên cạnh đĩ bạn cũng học cách viết tồn bộ những thủ tục chính của ứng dụng
Chương 3: Tơng 1 - Viết lớp truy xuất dữ liệu
Bạn đã thiết kế quan hệ dữ liệu ở tầng 1, chương này chúng ta sẽ học cách viết mã xử lý tương tác giữa dữ liệu ở tầng 1 và tầng giao diện người dùng, chúng tơi trình bày chi tiết các lớp và cách viết, sử dụng
chúng trong ứng dụng Bên cạnh đĩ, bạn cũng sẽ học cách biên dịch lớp dùng chung ra file dll và cách sử dụng vào ứng dụng khác
Chương 4: Tầng 2 - Viết các lớp xử lý nghiệp uụ
Chương này từng bước hướng dẫn cách viết các lớp xử lý nghiệp vụ như lấy thơng tin, cập nhật, xĩa, sửa Bên cạnh đĩ, bạn học cách sử dụng DataSet cĩ kiểu để viết câu lệnh SQL trực quan cũng như kết hợp viết mã
xử lý trên DataSet Ngồi ra bạn được khám phá cách tạo nhiều Project
vào một Solution
Chương 5: Tầng 3 - Xây dựng giao diện
Sau khi đã hồn tất 2 tầng, bạn cần xây dựng các giao diện ở phía người dùng và quản trị của ứng dụng Chương này bạn sẽ học tạo các
thành phần giao diện người dùng, quản trị, cách viết mã (code — behind) và cách khai báo, gọi các lớp đã viết ở tầng 2
Bạn sẽ thấy được sự tương tác tồn bộ của các tầng trong mơ hình
N-Tier tir cach phan chia xử lý, sử dụng lại và dễ dàng nâng cấp
Chương 6: Hồn thiện ứng dụng
Các chương trước chúng tơi hướng dẫn từng bước xây dựng ứng
dụng Chương này cần kết nối chúng lại và hồn thiện ứng dụng Đây là
chương rà bạn sẽ cĩ một sản phẩm để phát triển, mở rộng hoặc triển
khai Bên cạnh đĩ bạn cũng sẽ học cách thiết lập và phân quyền người
Trang 6Z oe ®
GIỚI THIỆU 5 PA
Tổng kết tập 1
Tổng kết đánh giá mà chúng ta đã học được ở giáo trình cũng như hướng mở rộng phát triển của giáo trình sau này Chúng tơi để cập những
vấn đề liên quan của mơ hình nhiều tầng vào ứng dụng thực tế - “Xây
dựng Website doanh nghiệp”, những tập tiếp theo bạn sẽ khám phá các chủ để khác như ADO.NET, LINQ, MVC, CSLA (Component-based Scalable Logical Architecture), Enterprise Library, Design Parttern
Mặc dù chúng tơi cố gắng trong biên soạn, lựa chọn ứng dụng để
xây dựng sao cho bạn đọc cĩ thể hiểu và áp dụng vào ứng dụng một cách đơn giản và hiệu quả nhưng khơng tránh khỏi những thiếu sĩt, mong bạn
đọc gần xa gĩp ý để giáo trình được hồn thiện hơn
Trang 76 THU NGO
THU NGO
Kinh thua qus Ban doc gan xa!
Trước hết, Ban xuất bản xin bày tỏ lịng biết ơn và niềm vinh hạnh được đơng đảo Bạn đọc nhiệt tình ủng hộ tủ sách MK.PUB
Trong thời gian qua chúng tơi rất vui và cảm ơn các Bạn đã gửi e-mail đĩng gĩp nhiều ý kiến quý báu cho tủ sách
Mục tiêu và phương châm phục vụ của chúng tơi là: e - Lao động khoa học nghiêm túc
e - Chất lượng và ngày càng chất lượng hơn e _ Tất cả vì Bạn đọc
Một lân nữa, Ban xuất bản MK.PUB xin bính mời quý Bạn đọc
tiếp tục tham gia cùng chúng tơi để nâng cao chất lượng sách Cụ
thể:
Trong quá trình sử dụng sách, nếu quý Bạn phát hiện thấy bất kỳ sai sĩt nào (dờ nở) xin đánh dấu, ghi chú nhận xét ý kiến của Bạn ra bên cạnh rồi gửi cuốn sách này cho chúng tơi theo địa chỉ:
Nhà sách Minh Khai
249 Nguyễn Thị Minh Khai, Q.1, Tp Hồ Chí Minh
E-mail: mk.book@minhkhai.com.vn hoaic mk.pub@minhkhai.com.vn Chúng tơi xin hồn lại cước phí bưu điện và gửi trả lại Bạn cuốn sách cùng tên Ngồi ra, chúng tơi cịn gửi tặng Bạn một cuốn sách khác trong tủ sách MK.PUB Bạn cĩ thể chọn cuốn sách này theo danh mục
thích hợp sẽ gửi tới Bạn ;
Với mục đích ngày càng nâng cao chất lượng tủ sách MEK.PUB, chúng tơi rất mong nhận được sự hợp tác nhiệt tình của quý Bạn đọc gần xa
“MK.PUB cing Ban doc đơng hành” để nâng cao chất lượng sách
Một lần nữa chúng tơi xin chân thành cảm ơn
Trang 8® MỤC LỤC zM MỤC LỤC GIỚI THIỆU fe “8 TT TC so lneslenliagsisuiiolgtouisosiieoshe¿CE.EEcass.tiEE vi) 6 MỤC LỤC ` 7
Chương 1: TONG QUAN Hi 11
1 I1ỚE CHIẾU, E QUNĐ 22a NO c5 021102046\ 186/1, 1546 Oe eg etree 11
1.1 Thực tế uị ứng dụng CNTT ở các cơng Éy - 11
1.2 Các loại ứng dụng được úp dỤng - -«-<<<<<<+ 12 1.3 Hiệu quả từ Website cho doanh nghiỆp - 18 1.4 Phân tích chức năng của Webstfe - «+<<<<<*+ 13
3.6 Cũc chức năng cần xây GUN (.ecc.-se.esc-b 351218608500 esees 18
1.6 Xây dựng Website doanh nghiệp uới Mơ hình nhiêu tâng 19 J?ổ: TỐC TrguEm: củ gi(Ng dUIN cecscssasseesaesslCs4Gea.SNGRING Xã IS eee 19 2 Các yêu cầu khi xây dựng ứng dụng . -©-+5-c+++cs<xse+ 20 2.1 Cài đặt hệ quản trị cơ sở dữ liệu SQLÙ Seruer 20 3.2 Thêm CSDL của ứng dụng uào SQLÙ Seruer - 20 3 3 Mơi trường phĩt triển Visual Studio 28 DA’ COG NOURCEIL ERDGossasesiiibsesssoaslassssaoikiiKEIS Ra hsseosiGEsusäo 25
3 Sử dụng mơ hình nhiều tầng để xây dựng ứng dụng 25 4 Phân tích trang đăng nhập theo mơ hình nhiều tâng 30
BETS PH Git: TIC ci cca eae tesa nea <a sank tens Moses Re sa medc 30
49 Thidt RE bang ACCOUNE fic Ac cecctesncesiaten vecenssestetelan NO Bes stare 32
4.3 Viết mã xử lý
44 Tao pido dién ddng Nhap RA c1: 1656154 8o kacla ác 3A IÂG ẤN giee«s 37
Reet ee a Reha icone aerated! 40
Trang 9(UEF) 8
MUC LUC
3 Phân tích chức năng của ứng dụng 438
BL, INZUSL CDNB ccsveeciooncostetessnseivacevsestunsiedes onivvont Waasascaesies bean kénnnn 43 l0, QuốnH ENDs KssesDNasessienssolliisssohesessittkubnaosSteaSidese« 49
0.8: Hội CHIẾN -ineiieetnauiigsaaibisriesOdldsoekeTTasaseb 44
4 Sơ đồ.dồng it MA is, co csd csewccczss avcetevassvceesstesetisesilitngdectlancietecessoecces 44 AM Số: d10:)0I80Ä/q6Buseranslibmaienadgennddbdgearoidiiesaal „4 44 5 Mơ hình thực thể quan hệ th E1 1T rrrerrrea 47 5.1 Các thục thể chính 5.2 Sơ đồ các lớp trong ứng dụng .48
6 Xây dung các bảng lưu trữ dữ liệu -.- 5 cv set se se csessces 50 6.1 Bảng giới thiệu doanh nghiệp cv ccc se tssecsssei 50 QA BROT TIT esc vou! set se Re aC BS NI 50
GTA FE G0001 1x10 Dae Lời 51
6.4 Bằng danh Muc sGn PRAM orccccceccccccssssscstececsscciseeaceseciecscecacses 53
6.5 Bảng giới thiệu sản phẩm của doanh nghiệp 53
G6) BONE DOUG oss descsecsexnsiibecs textiesdeieoeee
6.7 Bảng khách hàng sẽ
G8 BARS HONGO pis Mili Dale Bik te (v6 ca tu (212/572)21/72311121021215018 0008530111111 G)1 fSh RN ES cases et 57 G LOMBGIEE CECI UU: sale blLá ai ME SG ác lá ba Me kote Bol whe cossivatecs 58 Đi Ti: MO NO DANH) sacassedeeonsaldeea Lo SỆMAGIAD ESU LỄ 0g TL VÀ hi, 58 7 Mơ hinh quan hé dif liéu trén SQL Server cceeccccccccssescesceseseeeeee 60
8 Viết thủ tục cho ứng dụng 8.1 Truy xuốt đữ liệu uới SELECT,
8.2
8.ở Chèn mới dữ liệu uới INSERT
Cập nhật dữ liệu uới UPDATE
3 Dẫn dắt từng bước truy xuất dữ liệu
Trang 10MUC LUC ›M)? fury
3.2 Lấy dữ liệu uới DatfœTable cc se
ở.ở Lấy dữ liệu uới DataReader
3.4 Chèn dữ liệu uới tham số trong câu lệnh
3.õ Truy xuất dữ liệu uới thi SỐ St c co St c2 srerreeei 82
BOs SGU BLAS sou Serr aa loc Bdaedide hers UR ee aN bad 82
3.7 Si dung DataSet khơng kiểu 3.8 Su dung DataTable 4 Data Access Layer — DAL
4.1 Xây dựng lớp dùng chung uới SQL Seruer ị- 94 4.2 Viết lớp uới các trình điều khiển khác áocnerei 96
4.3 Viết lớp truy xuất dữ liệu uới tham số là bảng 97
4:4 Tồn bộ lúp dŨng GÏLUN caccsiiceieiakietasboxa 99 Đu Tạo HH6 các nessisavieliiilisesace se cau Sẻ 044 lễ sát LỆ 109 ð.1 Tạo Pnaject xuất ra le ;dÍascsose.cikdOecavauáu 109
522 Cài đặt trổ NGUỖ ThuoocisEsAGksoA Da f n0 cẪ 1à 110
Dede SH GUNG PU! AW ssccsecsssesesvcvts cusctharsdtesetddevoassandhadegblegicowos 112 6 Két luan " Ốốố.ẻẽ
Chương 4: TẦNG 9: VIẾT CÁC LỚP XỬ LÝ NGHIỆP VỤ - BLL.117
1 Business Logic Layer - c1 S20 01c ng ng sec 117 DL AGOP' COLCBOT LES .cccunineansicsnonnschinndacosipusd ut Bride veh becoes 117 1.2 Lĩp Produets uecad aun ashen etter ete 120 TBs LOD: CORIGEE i sensicanvaanbd0incinvecisasesinailvabellonec robes bei eel en ves 123 1.4: LUỚI: CUOI NGTEiessuesodlAnläalsu3ALSESENBLABOALD be 127 1.5 Lớp FAQ 1.6 1.7 1.8 1.9
Trang 11(UEF) 10 3 Kết hợp viết mã và sử dụng DataSet
4 Tạo nhiều Project trong một Solution 5+ +++>s+>+>++ 161 5 Gt WOAH 5 SÀSÁ GIÁ oxga te DucceecEavsssSaasseossslissultÐsevorliiai bi Tasses 164
Chương 5: TANG 3: XÂY DỰNG GIAO DIỆN - PL 165
1 Tùy biến điều khiển dữ liệu trong ứng dụng - . - 165
Leds RENO GUO i UiBit ssa nabieti ts ieee at D4 3G vxe 165
1.9 Điều khiển hiển thi dữ liệu .cceccccccceseesceeseeeeeesesseeeneeeneeees 168 Deitel d11D) Gv cá 0Á t4 csessseesee-csscoaocbllE sage SISG lâu [-2NN2VM97121e208 E1 2e= 3 Xây dựng giao diện
SU O UGTA Ts cornish eek ae i a Et EU Bes ot oat enced
FOE erie a Re ae it hence ay oe Sense cee A ee
A REG pie, Se oa cece ol San cn RRR aE ea OTD cae Ne eet ie) Ses a
Chương 6: HỒN THIỆN ỨNG DỰNG 5 s< s©c<secses 191
Mc PRAT SAMS GEE AMS cv skeeesssesessrilsicdk li 3Ð N,olbaal-SOhLE CA vo - 191 1.1 Quản lý thể loại sản ”phẩẩT: c5 cScSskseseerseerses 192
1.2 Quản lý sản phẩm X3 j5 109
25) QUGTIUULY IRMACIUILOMN cỏôse-tLss.sdtoaeEseesscol-sgekssss29509s115821845.cĐ -uỏès 208 ee, Quan thong tim phán (Hồi LĂ 1k L 5À Kã s4 6,4 5:48: gan 214 HQ) GTPND LUT TPWCTG-.as o-blTE-«s>~<x se SÁ5.S0 nate eet Rete 6:82 -a 218 ';6 Quốn Jý| Hiển, Kết, -««-secs-assae-soNOVEAGSSES SA tuổi Giao k3 b5 222
Jš75G)HrGIt.0/) Q05: KH ca se ssees.essserseelb.SA) f6 SMS 2.284, 224
DEEP QUAY ICI OU 0007070709007 17 DV 9U vi 229
1.9 Trang giới thiêu UÊ cơng Đy c6 10 8S s6 se, 239
1.10 Quản lý người dùng
2: PhánguyG1isngUời QHN soi sssxeecsi sa - le ke c0 t6t bước ko 6 n2
2.1 Tao CSDL sử dụng Role, MermnberShip -. 244 3.8.0T-Bif† lập: ở T6 WEDIGOHNH caisiciianialGisAaBIEEI sAELSossasbslSsszss 246
8 Tone Kiếm :brR: ixsdeesresblilsmarsnaldtosre di Bd lls 247
A TTB MGHAL Sedases cies sainaclocezsaxswsaeweslencens desl electri ena 248
5 Quan tri tng dung 248
6 Kết luận ps 249
Trang 12
7 ®
Chương 1: Tổng quan 1 JMỊ tr]
Chương 1:
TỔNG QUAN
Nơi dung trong chuong nay:
Thuc té tng dung CNTT vao doanh nghiép Chức năng của ứng dụng Website
Giới thiệu tổng tuần về mơ hình nhiều tầng Khám phá các mơ hình nhiều tầng Các yêu cầu để xây dựng ứng dụng WN NON NW Xây dựng trang đăng nhập đơn giản theo mơ hình nhiều tầng 1 Giới thiệu ứng dụng 1.1 Thực tế và ứng dụng CNTT ở các cơng ty
Với xu thế phát triển nhanh chĩng, CNTT đã và đang đi vào mọi
lĩnh vực của xã hội Doanh nghiệp ngày càng ứng dụng sự phát triển này phục vụ vào mục đích của mình Tuy nhiên, vẫn cịn những doanh nghiệp chưa thấy được sự cần thiết cũng như ứng dụng CNTT thành cơng vào lĩnh vực kinh doanh, dịch vụ của họ với nhiều lý do hạn chế như sau:
Tài chính bỏ ra và duy trì hoạt động Đội ngũ nhân lực Quản lý ứng dụng Quy mơ và sự cân thiết của của việc ứng dụng CNTT Tính đơn giản, dễ sử dụng Nhập liệu, cập nhật dữ liệu
Lộ trình ứng dụng CNTT trong doanh nghiệp
Trong những hạn chế đĩ thì vấn đề tài chính đĩng vai trị hàng đầu
Trang 1312 Chuong 1: Téng quan
Tuy nhiên, ở mức độ nào đĩ, chi phí cho việc ứng dụng CNTT vào dạng doanh nghiệp này tương đối thấp Giả sử một cơng ty xây dựng
Website liên quan về cơng ty, tùy thuộc vào quy mơ mà chỉ cần chi phi 6
mức tối thiểu như sau:
e Xây dựng ứng dụng khoảng 400USD (đảm bảo những chức năng cần
thiết)
e Thué Host và tên miền rẻ nhất khoảng 30USD/năm
se - Nhân viên cập nhật dữ liệu
Phân tích ngắn:
Như vậy, qua tính tốn chi phí cơng ty phải bỏ ra ban đầu chỉ khoảng 530USD Chi phí này khơng cao đối với một cơng ty Nhưng vấn dé chi phi để thuê người cập nhật dữ liệu, bảo tri thi cần phải xem xét
Hiện nay, những cơng ty bán phần mềm ứng dụng (website cũng là phần mềm) thường đảm nhiệm cập nhật thơng tin với chỉ phí thấp, giúp cho những cơng ty khơng thuộc về CNTT đảm bảo hoạt động, hoặc những cơng ty khơng thuộc về CNTT cĩ đội ngũ CNTT để đảm nhận cơng việc này
Qua phân tích trên, cĩ thể rút ra là phần mềm ứng dụng đĩ phải thật sự đơn giản, dễ sử dụng, một người cĩ kiến thức sơ đẳng về tin học
vẫn tự cập nhật được dữ liệu
Để làm tốt được điều này, nhà phát triển phần mềm ứng dụng phải phân tích thiết kế, xây dựng để đáp ứng được tính dễ sử dụng mà vẫn đảm bảo những chức năng cần thiết Khi cĩ được một sản phẩm như thế thì chỉ cân một nhân viên bình thường cũng cĩ thể hồn tồn nhập liệu,
cập nhật, website của mình với thời gian hợp lý và chi phí thấp nhất
1.2 Các loại ứng dụng được áp dụng
Hiện nay trong doanh nghiệp sử dụng CNTT phục vụ với nhiều mục
đích khác nhau gồm quản lý, dịch vụ, thơng tin
e Ung dụng quản lý cho doanh nghiệp như bán hàng, nhân sự, tiền lương, quản lý kho
e Ung dung trén mạng như Website thơng tin về cơng ty, bán sản phẩm qua mạng, đăng ký dịch vụ, quản lý khách hàng
e Cung cấp dịch vụ miễn phí để quảng cáo, giới thiệu sản phẩm, giới
Trang 14®
Chuong 1: Téng quan 13
e Mét số ứng dụng khác
1.3 Hiệu quả từ Website cho doanh nghiệp
Doanh nghiệp sử dụng Webiste để phục vụ cho mục đích kinh doanh của mình thường mang lại hiệu quả cao như dịch vụ, thương mại điện tử, giới thiệu cơng ty, khách hàng
Thực tế cho thấy, nhiều doanh nghiệp cĩ website riêng và mang lại hiệu quả cao trong quá trình hoạt động và chỉ phí bỏ ra để duy trì và quản
trị khơng cao lắm
1.4 Phân tích chức năng của Website
Mặc dù quan trọng là vậy nhưng để doanh nghiệp cĩ website và
hoạt động là điều khơng đơn giản
Bộ giáo trình này, chúng tơi kết hợp giữa ứng dụng thực tế và các cơng nghệ mơ hình ứng dụng Tập này chúng tơi sử dụng mơ hình nhiều
tầng để xây dựng ứng dụng website cho doanh nghiệp Do đĩ, bạn cĩ thể mở rộng mã nguồn, cách viết khác để đáp ứng hài hịa và chuyên nghiệp
cho Website của doanh nghiệp bạn
Chúng ta phân một ứng dụng Web thành hai phần riêng biệt là
phần người dùng và phần quản trị Website
1.4.1 Phần người dùng
Người dùng truy cập vào website doanh nghiệp để thực hiện các chức năng xem thơng tin, gĩp ý, xem hàng, phản hồi, thơng tin về cổ đơng, đối tác liên kết
1.4.3 Phần quản trị Website
Phân hệ này thực hiện các chức năng quản trị tồn bộ website như cập nhật, nhập mới, xĩa thơng tin cần thiết trên Website Ngồi ra, tùy thuộc vào chức năng tích hợp mà thêm phần quản lý khách hàng, sản phẩm, các dịch vụ đăng ký qua mạng
1.5 Các chức năng cần xây dựng
Trang 1716 Chuong 1: Téng quan Trang phản hồi: Đề gởi thơng tin đến chúng tỏi, bạn vui lịng điền đẩy đủ các thơng tin sau: Họ và tên: 'Nguyễn MinhTâm O2 Email: ‘lanit_itec@yahoo.com _ i Ệ _ Điện thoại: (09856018XK Ị :
Bia chi: Quang Ngai La ị :
Trang 18Chuong 1: Téng quan 1z [MỊ° tr Đăng ký thành viên : Ý Tạo tài khuản đăng nhập: Nhập lại mật mã: E-mail: Hinh 1.7 Quản trị tài khoản — dùng l& (ge: Quản g0) pe Ẻ an lý gu Téng 86 ngudi dang ky: 7 Số ngưởi Online : 1 A BCODEFGUKLMNDOPGRSTUVW Chức năng tìm kiếm baie) Be admin@yahoo.com languyen lan_tec@yahoo.com minh minh@yahoo.cam
Trang 1918 Chuong 1: Téng quan Danh cách các liên kết: liên kế Khĩa học - Chuyên dé Thơng tin săn phẩm Hạc tập Sách - phần mềm - Học tập Minh Khai BookStore MicrasoR Báo Tuổi trẻ Nhập mới một sản phẩm:
@ Nhập mới sẵn phẩm - MlozBia Firefox
file> Edit View Higtoy Sookmasder Toots Help Chọn thể loại Tên sản phẩm Hình ảnh
Aspire $613ZNWLI020) vdi Intel dual-core processor, 1.73 GHz, bé nhé DDR2 (Support ‘Dual-Channel), $12 MB, 667 MHz mach hon ¢ cdc ba tốn KHT với các đối hỏi phức tạp, phite tap, WXGA TFT Active Matrix, 1§.4 in, Normal (81 man hin 9x12 tao cam giấc thối andi sing hon mnột chứt với man kinh guong DVD Supper Multimedia, HDD 80 GB, $400 RPM
Đầu đọc thẻ và tích hợp rất tiện lợi, khơng cần mang theo một carđ ceader cho nhưng ai xài điện
thoại đi đồng cĩ thẻ nhớ, Các cơng, khe cấm và giặc căm được bố trì gọn với xu hưởng tập trung
Trang 20
Chuong 1: Téng quan
1.6 Xây dựng Website doanh nghiệp với Mơ hình
nhiều tầng
Mơ hình nhiều tầng được áp dụng nhiều trong phát triển phần mềm Mỗi tầng thực hiện những chức năng riêng biệt nhưng tương tác với nhau một cách hài hịa, thể hiện tính rõ ràng khi xây dựng, bảo trì, mở rộng sau này Bạn hồn tồn nâng cấp dễ dàng qua các phiên bản của mơi trường phát triển cũng như tính hợp lý và khoa học của mơ hình này
khi xây dựng ứng dụng liên quan đến cơ sở dữ liệu nĩi riêng và phần mềm
nĩi chung
1.7 Tài nguyên của ứng dụng
1.7.1 Cấu trúc tổ chức tài nguyen ¢ cua ri dung ProductEdit aspx ProductManage.aspx °#) LinkDataSet.cs ‹#} tinkDataTable.cs $8} Listhink.cs & AjaxControffoolkit.dit Lì AjaxControffoolkit.pdb ; Se App_licenses.dit &, FreetextBox.dit Hinh 1.11 | & ae lh x al > UserManage.aspx ” 5 > a
oun BA 4 By App_Code 8 is Be hep
b LoginUser.aspx ¢ > BAL b )› FreatextBox.dil > =] RegisterMember.aspq CC DataSeteCorp 4 & ‘Controts SA 4 & Administrator 4 here ` ÄF] Categaries.asœ
A >
b Aboutus.aspx a
a Categories.cs 4 [# Images © b- LIA mastei
+E somite Categories.aspx i 2 conse g FAG.cs 4 GiiogE2E Ea cote ƯR Icons aie
cman ý R Bunks s4 N tact ƠN topo; =
CustomerUpdate.asp} 3 NewContact.cs Đã News FAQs.aspx SS] News > [Sy Partners
FAQsEdit aspx 1G Partner.cs > Ey Products
eee œ Products.cs Pay Services FAQsManage.aspx 4 Eta ores
FeedBack.aspx ioe BEE « Lj Testing Index.aspx 4° MP Da AboutUs.aspx Link.aspx 38 pBHeip.cs Customer.aspx EI Newsadd.aspx $®] DBHeip1.cs CustomerDetail.aspx
NewsEditaspx ‘& Demo.cs Default.aspx ` > Welstipộteksit 4 i3Texting Default2.aspx > 3) Parttern.aspx = i © CallsP.cs ô) > FAQs.aspx
â] ProductAdd.aspx 2) causpcate.cs FeedBack.aspx licenses.licx login.aspx = j MasterPage.master
Shs oie A] Parameters > News,aspx Senncellarage aspx | 4 ie APpp_Themes ỳ Partner.aspx
Trang 2120 Chuong 1: Téng quan
Theo hinh 1.11:
e Account: Thư mục chứa các file đăng nhập đăng ky e Administrator: Thu muc chtia cdc file dé quan tri
e App_Code: Chita ma nguén xt ly 6 tang 2
e App Themes: Chứa tài nguyên định dạng của C58 e Bin: Chứa các file dll sử dụng trong ứng dung e Controls: Chứa các file ascx
e Images: Nơi lưu trữ hình ảnh, logo, biểu tượng
e - Một số thư mục và file khác
1.7.2 Nội dựng của CD hèm theo sách
CD kèm theo sách chứa tồn bộ các tài nguyên được dé cập trong giáo trình
e Ung dung Website doanh nghiép e CSDL cua ting dung
e¢ Mot so vi du minh hoa trong giáo trình e Mot sé file dll si dung trong ting dụng e Cac tai nguyên khác
2 Các yêu cầu khi xây dung ting dung 2.1 Cài đặt hệ quản trị cơ sở dữ liệu SQL Server
Phần cơ sở dữ liệu chúng tơi sử dung SQL Server 2005 để thiết kế, quần lý, viết mã SQL cho ứng dụng Để dễ dàng thực hành cũng như chạy
ứng dụng, những hướng dẫn trong giáo trình liên quan đến CSDL, bạn nén cai SQL Server 2005
2.2 Thêm CSDL của ứng dụng vào SQL Server
Trang 22® Chương 1: Tổng quan 21 MA} 8£; by zsofc Microsoft’ A&) Windows Server System : SQL Server 2005 Server type: Server name: Authentication: Hinh 1.12
Nếu muốn kết nối đến Server từ xa ở mạng diện rộng dé thao tác
Trang 2322 Chương 1: Tổng quan Hình 1.14
Cửa sổ hiện ra, bạn chọn nút Add và hộp thoại xuất hiện, bạn chọn nơi chứa CSDL của ứng dụng như hình 1.15 : y Select the file: * > [By Article SQL > G@ BIEUTUONG > Bieumau > {a Certification artice b- ĐR Code Library
¡_ § Gag Code Projed (codePley)
Ì _ 8 -É Code Smith Topic
> [Ba Convert File 4 Gy DB Developing es e : È Gy DATN 3 DB_NEW: † -ƯN đb_News(Ban chính thuc} b-Ư Newsi6kKO, £Êã of BKC © > Ey Project LANITISQL 2000) PROJECT MS ACCESS 3 ly PROJECT MYSQL : £3 PROJECT SQL SERVER 2005 |S EB PROJECT SQL SERVER 2008 1 fay SAMPLE > <3 Sample Databases > © SQt 200s 5p Gy StudentProject -[} 45P.NETS.5_2_Data.MDF
Trang 24®
Chương 1: Tổng quan 2s Ai
Chú ý:
Chúng tơi kết nối đến dia chi IP cia may chủ, tuy nhiên bạn cĩ thể sử dụng tên máy Server cụ thể cân kết nối
Sau khi cài đặt và kết nối thành cơng, tùy thuộc vào quyền xác thực
mà bạn cĩ thể thao tác trên CSDL ở máy cục bộ hoặc từ xa như tạo CSDL, xĩa bang, viết thủ tục Conmurity Hep - SiR sa a BOR B Sy _/ TECITEC_eCorp - SQLQueryi.sal s Summacy}
Template generaved from Template Create Procedure (New Menu) SQL Use the Specify Values fox Templa’ ~¬ Cemmand (Ctrlì-Shift-M) te #411 =+ values 9 # is bl of comments will not > of the procedure > 25 dbo.aspnet_PersonalizationPerUser oo ==========r=r======r==r======ees @ E39 dbo.aspnet Profile SEI ANSI_NULES CN > © dbo.aspnet Roles i so 7 ` > EB) dbo.sspnet_Schemaversions SET QUOTED_IDENTIFIER ON > 2S dbo.aspnet_Users 7 > 25 dbo.aspnet_UsersinRoles > > ° b » > y 0 dbo.zepnet Personakzatonsllisers đỗ dbo.aspnet WebEvent_Events › Zã đo.eCe+p_Aboutls 9 dbo.eCorp_Account 13 dho.eCorp_Categories
; a : CREATE PROCEDURE <Procedure nd 3B dbo.eCorp FAQ : ~- Add the parameters for the stoi » E3 đbo.eCorp từnk <@Parami, sysname, p1» <
EA dbo.eCorp News ‹ỆParam2, sysnane, p2 « > EA dbo.eCorp_Pariner Š lu a 8 * Š Set eras aan dhe eCoen Bactner Chistonyer # #1 HEC Bonne _ WEQNGUYEN VAN LAN Be EC Corp 4 WNamex “dace: <Create Dave, ,> Hinh 1.16 Theo hinh 1.16
@ Biéu tượng tắt để thực hiện các chức năng trên CSDL Ơ Các đối tượng CSDL đã tạo
Đ Giao diện viết mã, xem dữ liệu
Trong giáo trình này chúng tơi tạo CSDL mang tên ITEC_eCorp để
xây dựng ứng dụng Website về cơng ty Cách tạo bảng, viết thủ tục bạn
sẽ được học ở chương tiếp theo của giáo trình
2.3 Mơi trường phát triển Visual Studio
Trang 25(UEF) 24 Chương 1: Tổng quan
Hình 1.17 là giao diện làm việc của ứng dụng Website doanh nghiệp
Eorp - MicrosofL Yisual Studìo : Edt Vew Webste Build Debug Tools Window Community Help avd Ÿ xã Xt “server ty 1D=“GridVievi” runstc**server” Gler="Vhite” ="odsLink" runat="serv ce Ss Boa 4} DBHelp.cs <2) DBHelpi.cs 4) Demo.cs #] AjaxCortrolTooEt ĐE AisxControTooe ? & đjFreetextBox.di
Với phiên bản Visual Studio 2008 bạn cần lựa chọn phiên bản Framework (2.0, 3.0 hoặc 3.5) phù hợp để xây dung Project
Iew Web Site
Trang 262 ®
Chương 1: Tổng quan 2s JM\ far
2.4 Các yêu cầu khác
Ngồi những yêu cầu chính trên để thực hành và xây dựng Project, nếu muốn mở rộng, kiểm tra bạn cần bổ sung các yêu cầu sau:
2.4.1 Trinh duyét Web (Web Browser)
Để xem kết quả trong quá trình xây dựng Project cũng như thực hành bạn cần cĩ trình duyệt Web Visual Studio mặc định sử dụng trình duyệt Internet Explorer Bạn cĩ thể sử dụng những trình duyệt khác như Firefox, Nescape, Chrome
2.4.2 IIS (Web Server)
Web Server để quản lý, cấu hình chạy Web Trong quá trình xây
dựng bạn cĩ thể kiểm tra trên IIS cục bộ hoặc trên mạng Visual Studio 2005 tự tạo Web Server cho phép bạn chạy ở các cổng tạo ngẫu nhiên mà khơng cần đến IIS
Tuy nhiên, chúng tơi khuyến cáo để ứng dụng trước khi triển khai
trên diện rộng bạn cần kiểm tra chạy thử nghiệm ở IIS cục bộ trước
2.4.3 Triển khai tng dung
Sau khi ứng dụng hồn thiện, đảm bảo khả năng chạy diện rộng như chạy ở mạng cục bộ hoặc trên Internet, bạn cần chuẩn bị thêm các
yêu câu để triển khai ứng dụng như Host, Domain (tên miền),
3 Sử dụng mơ hình nhiều tầng để xây dựng
ứng dụng
Tập sách này hướng dẫn bạn cách xây dựng ứng dụng Website về
doanh nghiệp Chúng tơi sử dụng mơ hình nhiều tang để xây dựng ứng
dụng, một trong những giải pháp giúp phát triển ứng dụng hiệu quả đang
được sử dụng rộng rãi Do vậy, để rõ hơn về mơ hình nhiều tầng chúng ta
cùng khám phá qua mơ hình này
Khi bạn lập trình xây dựng ứng dụng liên quan đến CSDL thì bạn
cần xem xét các vấn đề sau:
øe _ Cơ sở dữ liệu bạn sẽ sử dụng e - Ngơn ngữ lập trình bạn sẽ viết
Trang 2726 Chuong 1: Téng quan Giả sử bạn xây dựng ứng dụng như quản lý nhân sự, thương mại điện tử oS NR QUAN LY NHÂN SỰ THAI ples Sa em i hss he THUONG MAI ĐIỆN TỬ d8 iu 1X Aoi hp fo ee Hình 1.19
Bạn cân lưu trữ dữ liệu thơng tin nhân viên, sản phẩm, khách
hàng Chúng ta cĩ thể sử dụng MySQL, SQL Server, Oracle để lưu trữ đữ liệu
Từ cơ sở dữ liệu này, bạn cần sử dụng ngơn ngữ lập trình để viết chương trình phục vụ cho việc quản lý ở Windows Form hoặc WebForm, bạn cĩ thể sử dụng ngơn ngữ để viết mã chương trình như Visual Basic, Java, C#
Khi xây dựng ứng dụng, người phát triển đưa ra các tầng để thực hiện theo mơ hình nhiều tầng được minh họa ở hình 1.20
Hình 1.20 mà mơ hình minh họa khi triển khai một Project theo mơ hình nhiều tầng
Trong đĩ:
Trang 282 ®
Chương 1: Tổng quan 27 (A rad
Hinh 1.20
e DAL: Tang truy xudt dit liéu, tang nay st dung các đối tượng như
DataSet, DataTable, SqlCommand, SqlConnection dé lam viéc véi
nguồn dữ liệu Tùy thuộc vào cơ sở dữ liệu, bạn sử dụng các trình điều
khiển phù hợp như SqlCHent, OracleClient, OleDb Tầng này bạn cĩ
thể viết các lớp chứa các phương thức chung nhất để xử lý kết nối
CSDL, thực thi câu lệnh truy vấn
e BLL: Tầng logic nghiệp vụ, tầng này viết các lớp chứa phương thức xử lý dữ liệu, các đối tượng ở tầng này tương tác với tầng DAL và PL
Tầng BLL cung cấp câu lệnh truy vấn dữ liệu cĩ thể viết ở trong các lớp này hoặc sử dụng thủ tục Store Procedured ở cơ sở đữ liệu
Trang 2928 Chương 1: Téng quan Như vậy, bạn đã hình dung được chức năng của từng tầng khi
implement một Project Bạn sẽ hiểu rõ và hồn tồn thực hiện được với giáo trình này, chúng tơi xây dựng ứng dụng theo mơ hình nhiều tầng chạy ở mơi trường Web
Để xây dựng và triển khai ứng dụng Website doanh nghiệp bạn
tham khảo qua qua thực trạng sau:
Trang 30Chương 1: Tổng quan zsJM)?
Bạn mua cái PC Pocket này nhé
Hình 1.28
Hình 1.21, 1.22, 1.23 được phân tích như sau:
Website sẽ cĩ chức năng giới thiệu và bán sản phẩm trực tuyến cho
khách hàng
Khi người dùng truy cập Website yêu cầu xem sản phẩm máy tính
PC chẳng hạn, yêu cầu sẽ được trang Web tiếp nhận sau đĩ gửi đến nguồn
dữ liệu (kho đữ liệu), tương ứng với mã sản phẩm Thơng tin về sản phẩm sau đĩ sẽ được trả về cho người dùng
Chi tiết hơn bạn xem xét ví dụ di mua hàng ở siêu thị: Người mua hàng vào siêu thị xem và chọn các mặt hàng
Hàng hĩa từ kho được mang đến các gian hàng để trưng bày, bố trí, để thuận tiện cho người mua nhất
Khi chọn hàng cần mua, người mua đến quây thanh tốn, hệ thống
sẽ thực hiện các nghiệp vụ như xuất hàng, hĩa đơn, thanh tốn tiển, giao
Trang 3130 Chương 1: Tổng quan
Như vậy:
¢ Ngudi ding dạo quanh gian hàng để mua
s Nhân viên siêu thị xử lý các nghiệp vụ bán hàng
@ Hang héa ở trong kho hoặc ở các quầy trưng bày
Như vậy, hàng hĩa từ kho được nhân viên xử lý để đưa lên các quầy,
giao hàng cho khách, các cơng đoạn này liên quan với nhau tạo nên hệ thống hoạt động xuyên suốt
Từ ví dụ này chúng ta xem xét trong lập trình
Người dùng xem hàng, chọn hàng bỏ vào giỏ hàng tương ứng giao diện người dùng (tang PL)
Các nghiệp vụ xử lý từ kho hàng đến người dùng (tầng DAL, BLL)
Kho hang va quay trưng bày tương ứng với hệ CSDL
Qua ví dụ trên, bạn sẽ rõ được cách thực hiện một Project theo mơ
hình nhiều tầng và để rõ hơn nữa bạn tham khảo mục tiếp theo, cách
thực thi mơ hình này cho chức năng đăng nhập
4 Phân tích trang đăng nhập theo mơ hình
nhiều tầng
4.1 Phân tích
Trước khi xây dựng ứng dụng trong giáo trình này, chúng tơi minh họa ở mức đơn giản nhất là chọn trang đăng nhập mà thực tế thường gặp
để minh họa cách xây dựng ứng dụng theo mơ hình nhiều tâng
Yêu cầu đặt ra là: e - Phía người dùng:
Họ khơng quan tâm hệ thống xử lý như thế nào, họ vào trang đăng
nhập để thực hiện các chức năng cho phép
e Phía người phát triển Project:
Họ cần tiếp cận thực tế, phân tích yêu cầu chức năng, thiết kế hệ thống, mơ hình viết mã
Trang 32®
Chương 1: Tổng quan 31 1
¢ CSDL mà bạn lưu trữ tài khoản người dùng Một số hệ quản trị CSDL thơng dụng như Access, MySQL, DB2, SQL Server, Oracle
+ Sử dụng ngơn ngữ xử lý (được xem là tầng 1 va 2 — viét ma xt lý): Bạn cĩ thể sử dụng ngơn ngữ như Java, VB.NET, C#,
+ Xây dựng giao diện người dùng (tầng 3, cĩ thể xem là tầng người
dùng): ;
Qua cách phân tích trên, để xây dựng trang đăng nhập bạn cần:
¢ Phân tích thiết kế dữ liệu để lưu trữ thơng tin tài khoản người dùng
¢ Ban phải viết mã xử lý kết nối đến nguồn dữ liệu, khi người dùng đăng ký tài khoản và đăng nhập hệ thống
® Và sau cùng là phải tạo giao diện đăng nhập với các vùng nhập liệu như UserID, mật mã và các nút xử lý sự kiện
Như vậy, trang đăng nhập mà chúng ta vừa phân tích bạn phải chọn giải pháp để lưu trữ thơng tin tài khoản, tạo bảng cĩ những thuộc tính gì, cách viết câu lệnh SQL truy vấn như thế nào, dữ liệu ra - vào khi
viết câu lệnh truy vấn Giai đoạn này bạn khơng quan tâm đến mã
nguén C# hay VB.NET
Sau khi đã phân tích thiết kế được bảng dữ liệu để lưu trữ thơng tin -
tài khoản, viết các câu lệnh SQL truy vấn, bạn lựa chọn một ngơn ngữ để
hỗ trợ viết mã xử lý giao tiếp với CSDL và phía người dùng
Sau khi cài đặt mã gồm các lớp, phương thức xử lý, bạn xây dựng
giao diện cho người dùng, ở tâng giao diện bạn cung cấp những chức năng
phù hợp của ứng dụng thơng qua các điểu khiển của Windows Form hay
'WebForm Kết luận:
Với chức năng đăng nhập thiết kế theo mơ hình đa tầng chúng tơi lựa chọn giải pháp sau:
e Nguén CSDL: SQL Server
e Ngén ngit xt ly (tang 1 va 2): C# (ASP.NET)
e Xay dung giao dién (tang 3): ASP.NET(C#), HTML
Sau khi phân tích những yêu cầu và lựa chọn giải pháp trên, chúng ta xây dựng chức năng đăng nhập để cĩ thể tích hợp vào ứng dụng
Trang 3332 Chuong 1: Téng quan
4.2 Thiét ké bang Account
CSDL của ứng dụng ITEC_eCorp cĩ chứa bảng eCorp_Âccount, bảng
này được thiết kế như sau:
Table - dbo.eCorp_Account* Summary
Column Namé _DataType _ Allow Nutls @ UserID nvarchar(50) ES Password rwarchar (50) Fa Email nvarchar(50) NM Mobile varchar(20) ye FullName nvarchar (100) fa Active bit B CreatedDate datetime fa eel a i ory ard B Hình 1.24 Câu lệnh tạo bảng:
CREATE TABLE [dbo] [eCorp_Account] (
[UserID] [nvarchar] (50) COLLATE SQL_Latinil_General_CP1_CI_AS NOT NULL, [Password] [nvarchar] (50) COLLATE
SQL_Latini_General_CP1_CI_AS NOT NULL,
[Email] [nvarchar] (50) COLLATE SQL_Latinl_General_CP1_CI_AS NULL, [Mobile] [varchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [FullName] [nvarchar] (100) COLLATE
SQL_Latinl_General_CP1_CI_AS NOT NULL,
[Active] [bit] NOT NULL CONSTRAINT [DF_eCorp_Account_Active]
DEFAULT ((1)), [CreatedDate] [smalldatetime] NOT NULL CONSTRAINT
[DF_eCorp_Account_CreatedDate] DEFAULT (getdate()), CCNSTRAINT [PK_eCorp_Account] PRIMARY KEY CLUSTERED ( h [UserID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) CN [PRIMARY] 30
Rhi tạo bảng dữ liệu xong, bạn cần suy nghĩ để xây dựng các câu lệnh truy vấn trên bảng này, cĩ thể đưa ra một số câu hỏi dạng truy vấn
như sau
e Xem thong tin tai khoản:
Chức năng này dành cho người tạo tài khoản, người quản trị ứng dụng, quản trị CSDL
Trang 34®
Chương I1: Tổng quan sø JM Cras
CREATE PROCEDURE [dbo] [sp_SelecteCorp_Account] @UserID nvarchar (50) AS SELECT [UserID], [Password], [Email], [Mobile], [Fu11Name] , [Active], [CreatedDate] FROM [dbo] [eCorp_Account] WHERE [UserID] = @UserID
e Xem tồn bộ tài khoản người dùng:
CREATE PROCEDURE [dbo] [sp_SelecteCorp_AccountsAll] AS SELECT [UserID], [Password], [Email], [Mobile], [FullName], [Active], [CreatedDate] FROM [dbo] [eCorp_Account]
e Thêm mới một tài khoản:
Tạo mới một tài khoản là tác vụ thường thực hiện ở người dùng (người quản trị cũng là người dùng) Cần chú ý với các tiêu chí ràng buộc
dữ liệu, kiểu đữ liệu
Trang 3534 Chương 1: Tổng quan @Password, @Email, @Mobile, @FullName, @Active, @CreatedDate )
e Xĩa một tài khoản:
Đây là thủ tục xĩa một tai khodn theo ma UserID (mã này là khĩa chính) CREATE PROCEDURE [dbo] [sp_DeleteeCorp_Account] @UserID nvarchar (50) AS DELETE FROM [dbo] [eCorp_Account] WHERE [UserID] = @UserID GO
e Cap nhat tài khoản:
Tài khoản người dùng phải cĩ chức năng cập nhật Thủ tục được cài đặt như sau: i ; CREATE PROCEDURE [dbo] [sp_UpdateeCorp_Account] @UserID nvarchar(50), @Password nvarchar(50), @Email nvarchar (50), @Mobile varchar (20), @FullName nvarchar (100), @Active bit, @CreatedDate smallđdatetime AS SET NOCOUNT ON UPDATE [đbo].[eCorp_Account] SET [Password] = @Password, [Email] = @Email, [Mobile] = @Mobile, {FullName] = @FullName, [Active] = @Active, [CreatedDate] = @CreatedDate WHERE (UserID] = @UserID Nhận xét:
Vì trường UserID là khĩa chính và kiểu dữ liệu là nvarchar(50), do
đĩ, khi thêm mới một tài khoản bạn cần kiểm tra tài khoản đĩ đã tơn tại
_hay chưa Thủ tục truy xuất UserID với tham số nhập vào là UserID được cài đặt như sau:
ALTER PROCEDURE [dbo] [sp_SelecteCorp_AccountByUserID]
@UserID nvarchar (50)
Trang 365 ® Chương 1: Tổng quan 35 [Ml Cra SELECT [UserID] FROM [dbo] [eCorp_Account] WHERE [UserID] = @UserID
Truy xuất mã UserID với tham số là UserID va Password:
ALTER PROCEDURE [dbo] [sp_SelecteCorp_AccountByUserIDPass] @UserID nvarchar (50), @Password nvarchar (50) AS SELECT [UserID] FROM [dbo] [eCorp_Account] WHERE [UserID] = @UserID AND [Password] = @Password 4.3 Viết mã xử lý
Chúng tơi đưa ra hai chức năng xử lý là đăng ký thành viên và đăng nhập Các chức năng khác là cập nhật hồ sơ tài khoản, xĩa tài
khoản bạn cĩ thể thực hiện tương tự
Phương thức truy xuất tồn bộ bảng eCorp_Account được xây dựng như sau: public static List<Account> GetAccountAll() { DBHelp đb = new DBHelp(); SqlDataReader reader = db.ExecuteReader ("sp_SelecteCorp_AccountsAll1", CommandType StoredProcedure) ; List<Account> list = new List<Account>(); while (reader.Read() ) { list.Add(new Account (reader) ) ; 5 reader Close(); return list;
Phương thức truy xuất theo ma UserID:
public static List<Account> GetAccountAllBvyUserID(string userid) A r
Trang 3736 Chuong 1: Téng quan list.Add(new Account (reader) ); } reader Close(); return list; Phương thức đọc dữ liệu: public Account(SqlDataReader reader) { if (reader != null && !reader.IsClosed) { _id = reader.GetString (0) ;
if (!reader.IsDBNull(1)) _password = reader.GetString(1); if (!reader.IsDBNull(2)) _email = reader.GetString(2); 1£ (treader.IsDBNull(3)) _mobile = reader.GetString (3) ; if (!reader.IsDBNull(4)) _fullName = reader.GetString(4); if (!reader.IsDBNull(5)) _active = reader.GetBoolean (5) ; if (!reader.IsDBNull1(6))_createdDate = reader GetDateTime (6) ; }
Phương thức truy xuất mã UserID cĩ tham sé 1A userid va pass:
public string GetAccountByUserIDPass(string userid, string pass) { ÿ DBHelp đb = new DBHelp();
db.AddParameter("@UserID", userid);
db.AddParameter("@Password", pass);
return `
Convert ToString (db.ExecuteScalar ("sp_SelecteCorp_AccountBy UserIDPass", CommandType StoredProcedure) ) ;
}
Phương thức thêm mới tài khoản:
public static void InsertAccount (Account o) { DBHelp db = new DBHelp(); db.AddParameter ("@UserID",0.UserID) ; db.AddParameter("@Password", o.Password) ; if (String.IsNullOrEmpty(o.Email) ) db.AddParameter("@Email", DBNull.Value) ; else db.AddParameter("@Email", o.Email); if (String IsNulloOrEmpty(o.Mobile) ) db.AddParameter("@Mobile", DBNull.Value) ; else db.AddParameter("@Mobile", o.Mobile) ;
db.AddParameter ("@FullName", o.FullName) ;
db.AddParameter("@Active", o.Active);
db.AddParameter ("@CreatedDate", o.CreatedDate) ;
db ExecuteNonQuery ("sp_InserteCorp_Account",
Trang 383 ®
Chương 1: Tổng quan 37 (AY
Phương thức cập nhật tài khoản:
bublic static void UpdateAccount (Account o) { DBHelp db = new DBHelp(); db.AddParameter("@UserID", o.UserID) ; db.AddParameter("@Password", o Password) ; if (String.IsNullOrEmpty(o.Email) )
db.AddParameter ("@Email", DBNull.Value) ; else db.AddParameter("@Email", o.Email) ; if (String.IsNullOrEmpty(o.Mobile) )
db.AddParameter ("@Mobile", DBNull.Value) ; else db.AddParameter("@Mobile", o.Mobile) ; db.AddParameter("@FullName", o.FullName) ; db.AddParameter("@Active", o.Active); db.AddParameter ("@CreatedDate", o.CreatedDate) ; db ExecuteNonQuery ("sp_UpdateeCorp_Account", CommandType StoredProcedure) ;
Phuong thc x6a tai khoan theo ma UserID:
public static void DeleteAccount (Account o) { DBHelp db = new DBHelp(); db.AddParameter("@UserID", o.UserTD) ; đb.ExecuteNonQuery ("sp_DeleteeCorp_Account", CommandType StoredProceduxe) ;
Bảng tài khoản chúng tơi chỉ đưa ra một số trường chính để minh
họa Khi xây dựng ứng dụng bạn cĩ thể tạo thêm các trường để phù hợp với những yêu cầu chung của việc đăng ký tài khoản
Chú ý:
Bạn cĩ thể thiết kế trường Email làm khĩa chính, khi đăng nhập cần kiểm tra địa chỉ Email khơng được trùng lặp Như vậy, chung tdi dua
ra hai kỹ thuật để bạn lựa chọn cho phù hợp
4.4 Tạo giao diện đăng nhập
Trang 3938 Chương 1: Tổng quan
Sự kiện khi nhấn nút đăng nhập:
protected void btnLogin_Click(object sender, EventArgs e) { Account a = new Account(); if (Page.IsValid) { if (a.GetAccountByUserIDPass (txtUserID Text, txtPass.Text )== txtUserID Text) Ẳ ⁄⁄ Lưu tên đăng nhộp uào Session Session["userID"] = txtUserID.Text; ⁄⁄ Đăng nhập thành cơng nhảy đến trang Default.asp+x Response.Redirect ( "~/Default.aspx" ) ; } else 1blMess.Text = "Invalid, Please try again "; } } Tạo giao diện đăng ký: aaa a = UsedD files] _ ———— Sage J0 0 mĩ m— Password cất : - Email —_— | mai, Mobile TU |FulName —_ Hình 1.26 Sự kiện khi nhấn nút Check (hình 1.26):
protected void btnCheck_Click(object sender, EventArgs e)
{
Account a = new Account();
if (a.GetAccountByUserID(txtUserID.Text) txtUserID.Text)
Trang 40Chương 1: Tổng quan
Sự kiện khi nhấn nút Save: