1. Trang chủ
  2. » Công Nghệ Thông Tin

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

117 18 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 117
Dung lượng 19,37 MB

Nội dung

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 4

a 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 5

4 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 6

Z 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 7

6 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 10

MUC 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 13

12 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 17

16 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 18

Chuong 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 19

18 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 21

20 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 23

22 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 26

2 ®

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 27

26 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 28

2 ®

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 29

28 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 30

Chươ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 31

30 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 33

32 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 35

34 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 36

5 ® 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 37

36 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 38

3 ®

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 39

38 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 40

Chương 1: Tổng quan

Sự kiện khi nhấn nút Save:

Ngày đăng: 17/12/2021, 10:11