Nhu cầu sử dụng trong xã hội luôn là động cơ chính thúc đẩy sản xuất, như chúng ta cũng biết được việc thiếu thông tin cho công đoạn đáp ứng cung cầu làm cho việc đưa sản phẩm đến tay người dùng trở nên khó khăn và gây nhiều lãng phí cho xã hội. Bên cạnh đó việc phổ biến sử dụng Internet đã tạo ra một bước ngoặc mới trong định hướng phát triển ngành Công nghệ thông tin của nước ta cùng với nhu cầu sử dụng máy tính để trao đổi và cập nhật thông tin ngày càng tăng. Từ thực tế đó việc đưa thông tin đáp ứng các nhu cầu của mọi người và hổ trợ cho việc mua bán diễn ra một cách nhanh chóng, tiết kiệm đã trở nên vô cùng cấp thiết. Song song với việc phát triển bán hàng qua điện thoại, ứng dụng với thời đại công nghệ thông tin phát triển như hiện nay, mua bán qua mạng cũng là một giải pháp tối ưu trong việc phân phối thông tin vào mục đích thương mại, và đây cũng là một mảnh đất mới cho thị trường hàng tiêu dùng trong giai đoạn phát triển kinh tế ở nước ta.
Việc bạn có thể ung dung ngồi nhà mà du ngoạn từ cửa hàng này sang cửa hàng khác trong không gian ảo không còn là cảnh trong phim viễn tưởng, mà đã trở thành hiện thực. Ngày nay, bất kỳ thứ hàng hóa nào, bạn đều có thể đặt mua qua internet.
Nếu như trong thế giới thực, cửa hàng được xây bằng gạch, ximăng, sắt thép v.v. thì trong không gian ảo cửa hàng được xây bằng phần mềm. Tận dụng tính năng đa phương tiện của môi trường Web và đáp lại những tình huống từ phía người mua hàng cũng như người bán.
Cửa hàng trên internet nó cũng giống như siêu thị trên internet nhưng quy mô bán hàng của nó chỉ gói gọn trong những hàng hóa thuộc một lĩnh vực nào đó. Do đó thực hiện đề tài xây dụng một cửa hàng trên internet là một vấn đề thực tế, ứng dụng được và có tiềm năng phát triển trong tương lai.
Do đặc điểm nổi bật của cửa hàng internet là người mua và người bán không hề gặp mặt nhau và người mua không thể trực tiếp kiểm tra hàng hóa. Do đó để xây dựng cửa hàng ảo, cần phải xây dựng cho cửa hàng ảo những chức năng sau: Quản lý khách hàng, Quản lý mua hàng, Cơ sở dữ liệu, cập nhật, bán hàng, quản lý và xử lý đơn đặt hàng, v.v.
42 trang |
Chia sẻ: tuandn | Lượt xem: 8069 | Lượt tải: 6
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng Website thương mại điện tử bán mỹ phẩm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC
Chương 1. Giới thiệu chung
1.1 Tính cấp thiết đề tài
Nhu cầu sử dụng trong xã hội luôn là động cơ chính thúc đẩy sản xuất, như chúng ta cũng biết được việc thiếu thông tin cho công đoạn đáp ứng cung cầu làm cho việc đưa sản phẩm đến tay người dùng trở nên khó khăn và gây nhiều lãng phí cho xã hội. Bên cạnh đó việc phổ biến sử dụng Internet đã tạo ra một bước ngoặc mới trong định hướng phát triển ngành Công nghệ thông tin của nước ta cùng với nhu cầu sử dụng máy tính để trao đổi và cập nhật thông tin ngày càng tăng. Từ thực tế đó việc đưa thông tin đáp ứng các nhu cầu của mọi người và hổ trợ cho việc mua bán diễn ra một cách nhanh chóng, tiết kiệm đã trở nên vô cùng cấp thiết. Song song với việc phát triển bán hàng qua điện thoại, ứng dụng với thời đại công nghệ thông tin phát triển như hiện nay, mua bán qua mạng cũng là một giải pháp tối ưu trong việc phân phối thông tin vào mục đích thương mại, và đây cũng là một mảnh đất mới cho thị trường hàng tiêu dùng trong giai đoạn phát triển kinh tế ở nước ta.
Việc bạn có thể ung dung ngồi nhà mà du ngoạn từ cửa hàng này sang cửa hàng khác trong không gian ảo không còn là cảnh trong phim viễn tưởng, mà đã trở thành hiện thực. Ngày nay, bất kỳ thứ hàng hóa nào, bạn đều có thể đặt mua qua internet.
Nếu như trong thế giới thực, cửa hàng được xây bằng gạch, ximăng, sắt thép v.v. thì trong không gian ảo cửa hàng được xây bằng phần mềm. Tận dụng tính năng đa phương tiện của môi trường Web và đáp lại những tình huống từ phía người mua hàng cũng như người bán.
Cửa hàng trên internet nó cũng giống như siêu thị trên internet nhưng quy mô bán hàng của nó chỉ gói gọn trong những hàng hóa thuộc một lĩnh vực nào đó. Do đó thực hiện đề tài xây dụng một cửa hàng trên internet là một vấn đề thực tế, ứng dụng được và có tiềm năng phát triển trong tương lai.
Do đặc điểm nổi bật của cửa hàng internet là người mua và người bán không hề gặp mặt nhau và người mua không thể trực tiếp kiểm tra hàng hóa. Do đó để xây dựng cửa hàng ảo, cần phải xây dựng cho cửa hàng ảo những chức năng sau: Quản lý khách hàng, Quản lý mua hàng, Cơ sở dữ liệu, cập nhật, bán hàng, quản lý và xử lý đơn đặt hàng, v.v.
1.2 Mục đích đề tài
Khách hàng có thể tìm kiếm thông tin về các sản phẩm của công ty.
Khách hàng có thể đặt sản phẩm trực tuyến. Website sẽ cập nhật thông tin đặt hàng này trực tiếp lên cơ sở dữ liệu, và cho phép người quản trị được phân quyền thao tác các công việc sau:
Tìm kiếm các đơn đặt hàng đã được xác nhận hay chưa xác nhận.
Xác nhận đơn đặt hàng hợp lệ, chỉnh sửa thông tin khách hàng và thông tin đặt hàng.
Thống kê số lượng mua hàng của khách hàng.
Thay đổi, thêm mới hoặc xóa bỏ thông tin, hình ảnh về các sản phẩm công ty muốn giới thiệu cho khách hàng.
Theo dõi tình hình liên hệ thông qua website của khách hàng, để đáp ứng kịp thời nhu cầu của họ.
Về tổ chức lưu trữ, thực hiện các yêu cầu:
Thêm, xóa, sửa thông tin, hình ảnh về các sản phẩm do công ty tổ chức, phục vụ cho công tác quản lý, thống kê tình hình hoạt động của công ty.
Thêm, xóa, sửa thông tin, hình ảnh về các sản phẩm.
1.3 Giới thiệu công nghệ
* Visual Studio 2005
Visual Studio 2005 Professional Edition là một môi trường phát triển toàn diện dành cho nhà phát triển cá nhân để xây dựng hiệu suất cao, các ứng dụng đa tầng. Với Visual Studio 2005 Professional Edition, bạn có thể tận dụng lợi thế của môi trường năng suất cao để xây dựng nhiều loại Windows, Web, điện thoại di động, và các giải pháp dựa trên Office.
Với Visual Studio 2005, các nhà phát triển chuyên nghiệp có thể: Tạo nhiều tầng Windows, Web, SmartPhone, và các ứng dụng dựa trên Pocket PC; tích hợp cơ sở dữ liệu Visual cụ cho thiết kế cơ sở dữ liệu, bảng biểu, lưu trữ;thủ tục, và nhiều hơn nữa; báo cáo cơ sở dữ liệu tích hợp thiết kế và người xem;Thiết kế, gỡ lỗi, và triển khai ứng dụng nhiều tầng; tích hợp gỡ lỗi XSLT.
* ASP.NET
Trong nhiều năm qua, ASP đã được cho rằng đó thực sự là một lựa chọn hàng đầu cho web developers trong việc xây dựng những web sites trên nền máy chủ web Windows bởi nó vừa linh hoạt mà lại đầy sức mạnh. Đầu năm 2002, Microsoft đã cho ra đời một công nghệ mới đó chính là ASP.NET. Đây thực sự là một bước nhảy vượt bậc của ASP cả về phương diện tinh tế lẫn hiệu quả cho các developers. Nó tiếp tục cung cấp khả năng linh động về mặt hỗ trợ ngôn ngữ, nhưng hơn hẳn về mặt lĩnh vực ngôn ngữ script vốn đã trở nên hoàn thiện và trở thành ngôn ngữ cơ bản của các developers. Việc phát triển trong ASP.NET không chỉ yêu cầu hiểu biết về HTML và thiết kế web mà còn khả năng nắm bắt những khái niệm của lập trình và phát triển hướng đối tượng.
ASP.NET là một kỹ thuật phía server (server-side) dành cho việc thiết kế các ứng dụng web trên môi trường .NET.
ASP.NET là một kỹ thuật server-side. Hầu hết những web designers bắt đầu sự nghiệp của họ bằng việc học các kỷ thuật client-side như HTML, JavaScript và Cascading Style Sheets (CSS). Khi một trình duyệt web yêu cầu một trang web được tạo ra bởi các kỷ thuật client-side, web server đơn giản lấy các files mà được yêu cầu và gửi chúng xuống. Phía client chịu trách nhiệm hoàn toàn trong việc đọc các định dạng trong các files này và biên dịch chúng và xuất ra màn hình.
Với kỹ thuật server-side như ASP.NET thì hoàn toàn khác, thay vì việc biên dịch từ phía client, các đoạn mã server-side sẽ được biên dịch bởi web server. Trong trường hợp này, các đoạn mã sẽ được đọc bởi server và dùng để phát sinh ra HTML, JavaScript và CSS để gửi cho trình duyệt. Chính vì việc xử lý mã xảy ra trên server nên nó được gọi là kỹ thuật server-side.
ASP là một kỹ thuật dành cho việc phát triển các ứng dụng web. Một ứng dụng web đơn giản chỉ các trang web động. Các ứng dụng thường được lưu trữ thông tin trong database và cho phép khách truy cập có thể truy xuất và thay đổi thông tin. Nhiều kỹ thuật và ngôn ngữ lập trình khác cũng đã được phát triển để tạo ra các ứng dụng web như PHP, JSP, Ruby on Rails, CGI và ColdFusion. Tuy nhiên thay vì trói buộc bạn vào một ngôn ngữ và một công nghệ nhất định, ASP.NET cho phép bạn viết ứng dụng web bằng các loại ngôn ngữ lập trình quen thuộc khác nhau.
ASP.NET sử dụng .NET Framework, .NET Framework là sự tổng hợp tất các các kỷ thuật cần thiết cho việc xây dựng một ứng dụng nền desktop, ứng dụng web, web services…. thành một gói duy nhất nhằm tạo ra cho chúng khả năng giao tiếp với hơn 40 ngôn ngữ lập trình.
Thậm chí với những sự lý giải kỹ càng như vậy, bạn vẫn ngạc nhiên tự hỏi điều gì làm nên một ASP.NET tốt như vậy. Sự thật là có rất nhiều kỹ thuật server-side với điểm mạnh và điểm yếu riêng nhưng ASP.NET có những tính năng gần như là duy nhất.
ASP cho phép bạn sử dụng ngôn ngữ lập trình mà bạn ưa thích hoặc gần gủi với chúng. Hiện tại, thì .NET Framework hỗ trợ trên 40 ngôn ngữ lập trình khác nhau mà đa phần đều có thể được sử dụng để xây dựng nên những web sites ASP.NET. Chẳng hạn như C# (C sharp) và Visual Basic.
ASP đã cả khả năng toàn quyền truy xuất tới các chức năng của .NET Framework. Hỗ trợ XML, web services, giao tiếp với CSDL, email… và rất nhiều các kỹ thuật khác được tích hợp vào .NET, giúp bạn tiết kiệm được công sức.
ASP cho phép bạn phân chia các đoạn mã server-side và HTML. Khi bạn phải làm việc với cả đội ngũ lập trình và thiết kế, sự tách biệt này cho phép các lập trình viên chỉnh sửa server-side code mà không cần dính dáng gì tới đội ngũ thiết kế.
ASP giúp cho việc tái sử dụng những yếu tố giao diện người dùng trong nhiều web form vì nó cho phép chúng ta lưu các thành phần này một cách độc lập.
Bạn có được một công cụ tuyệt vời hỗ trợ phát triển các ứng dụng ASP.NET hoàn toàn miễn phí, đó là Visual Web Developer, một trình soạn thảo trực quan mạnh mẽ có tính năng Code Autocompletion, Code Format, Database Integration Functionality, Visual HTML editor, Debugging…
* C#
C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.
* IIS
IIS được đính kèm với các phiên bản của Windows.
Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,…
Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản” - Hypertext Transport Protocol (HTTP).
Như vậy, sau khi bạn thiết kế xong các trang Web của mình, nếu bạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn phải nhờ đến một Web Server, ở đây là IIS.
Nếu không thì trang Web của bạn chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi.
Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu. Bạn có thể sử dụng IIS để: Xuất bản một Website của bạn trên Internet. Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từ nguời tiêu dùng). Chia sẻ file dữ liệu thông qua giao thức FTP. Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database remote access)...
* SQL SERVER
SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong hệ thống quản lý cơ sở dữ liệu.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user.
Chương 2: Phân tích thiết kế hệ thống
2.1 Phân tích ứng dụng
2.1.1 Các đơn thể của ứng dụng
Hình 1. Sơ đồ hoạt động Tìm kiếm
Hình 2. Sơ đồ hoạt động Thêm sản phẩm vào giỏ hàng
Hình 3. Sơ đồ hoạt động Thanh toán
Hình 4. Sơ đồ hoạt động Tiến trình xóa các giỏ hàng bị bỏ
Hình 5. Sơ đồ hoạt động đăng ký tài khoản
Hình 6. Use case cho Ứng dụng
EndUser
Người dùng có thể là khách hàng hay người quản trị
Lớp EndUser chứa các thông tin của người dùng
Vai trò người dùng được xác định bởi thuộc tính EndUserTypeID
EndUserType
Lớp EndUserType dùng để phân loại người dùng.
Address
Lớp Address là lớp dùng để chứa các thông tin địa chỉ
Được kết hợp với các lớp khác cần địa chỉ.
ContactInformation
Lớp ContactInformation chứa thông tin liên lạc cho mỗi cá nhân, công ty hay người dùng.
Product
Lớp Product là lớp chính được sử dụng xuyên suốt trong hệ thống TMĐT
Miêu tả thông tin chi tiết của các hàng hóa
ProductCategory
Lớp ProductCategory danh mục hàng hóa, tương tự như lớp EndUserType là bảng tham chiếu (lookup table) để miêu tả cho mỗi hàng hóa.
ShoppingCart
Lớp ShoppingCart là giỏ hàng trong ứng dụng.
Thể hiện các sản phẩm được thêm vào giỏ hàng trong khi khách hàng mua hàng tại trang web.
Orders
Chứa các thông tin của một đơn đặt hàng.
Đơn đặt hàng được thực hiện bởi khách hàng sau khi thanh toán giỏ hàng.
Lớp Orders sẽ có một hay nhiều sản phẩm (được thể hiện ở lớp OrderDetails)
OrderDetails
Mỗi đơn đặt hàng sẽ bao gồm một hay nhiều sản phẩm.
Mỗi lớp OrderDetails liên kết đến một sản phẩm.
CreditCard
Lớp CreditCard chứa các thông tin của thẻ tín dụng.
Không lưu thông tin thẻ tín dụng vào CSDL, mà chỉ dùng lớp này để truyền thông tin bên trong ứng dụng.
2.1.2 Thiết kế cơ sở dữ liệu
2.1.2.1 Tạo Cơ sở dữ liệu
Cở sở dữ liệu là PNJSilver gồm 11 bảng:
Bảng Products
Bảng ProductCategory
Bảng ProductImages
Bảng Orders
Bảng OrderDetails
Bảng OrderStatus
Bảng EndUser
Bảng EndUserType
Bảng Address
Bảng ContactInformation
2.1.2.2 Các bảng dữ liệu của ứng dụng
Bảng Products
Hình 1: Bảng Products
Bảng ProductCategory
Hình 2: Bảng ProductCategory
Bảng ProductImages
Hình 3: Bảng ProductImages
Bảng Orders
Hình 4: Bảng Orders
Bảng OrderDetails
Hình 5: Bảng Bảng OrderDetails
Bảng OrderStatus
Hình 6: Bảng OrderStatus
Bảng EndUser
Hình 7: Bảng EndUser
Bảng EndUserType
Hình 8: Bảng EndUserType
Bảng Address
Hình 9: Bảng EndUserType
Bảng ContactInformation
Hình 10: Bảng ContactInformation
Bảng ShoppingCart
Hình 11: Bảng ShoppingCart
2.1.2.3 Tạo quan hệ
Các quan hệ của bảng OrderDetails
Hình 12: Các quan hệ của bảng OrderDetails
Các quan hệ của bảng Orders
Hình 13: Các quan hệ của bảng Orders
Các quan hệ của bảng EndUser
Hình 14: Các quan hệ của bảng EndUser
Các quan hệ của bảng Products
Hình 15: Các quan hệ của bảng Products
Các quan hệ của bảng ShoppingCart
Hình 16: Các quan hệ của bảng ShoppingCart
2.2 Kiến trúc của hệ thống
Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau.
Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này. Bạn sẽ nghe nói đến thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một chức năng nào đó, trong đó mô hình 3 lớp là phổ biến nhất đó là lớp Presentation, Business Logic, và Data Access.
Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ(services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi.
Giới thiệu về tầng trình bày (Presentation Layer)
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng.
Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp.
Presentation Layer của hệ thống là tất cả những gì hiện thị đến người dùng.
Trong Presentation Layer chứa các nội dung trang HTML và điều kiển trình chủ (server control).
Giới thiệu về tầng truy cập dữ liệu (Data Access Layer)
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,... để thực hiện nhiệm vụ của mình.
Ứng dụng cần phải tương tác với một số dữ liệu.
Data access layer sẽ thực thi các thao tác dữ liệu này.
Giới thiệu về tầng logic (Business Logic Layer)
Business logic layer thực thi các luật nghiệp vụ (business rules)
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình
Là cầu nối giữa Presentation layer và Data access layer.
Chương 3. Xây dựng ứng dụng
3.1 Xây dựng các đối tượng dùng chung (Common Objects)
Tạo các lớp dùng chung của ứng dụng. Common Objects có vai trò miêu tả các đối tượng nghiệp vụ trong hệ thống, và là đối tượng được dùng để truyền thông tin qua các tầng của hệ thống.
Tạo một lớp mới và đặt tên cho lớp mới này là EndUser sau đó khai báo public, hàm tạo và thuộc tính (property) EndUserID cho lớp này.
Tạo lớp mới tên EndUserType cho project này, khai báo public và thêm hàm tạo. Thêm field _endusertypeid. Tiếp theo sử dụng tính năng refactoring để tạo property một cách tự động.
LớpProduct
Lớp ProductCategory
Lớp Orders
Lớp OrderDetail
Lớp Address
Lớp ContactInformation
Lớp ShoppingCart
Lớp CreditCard
Lớp Enums là lớp chứa kiểu liệt kê loại người dùng.
3.2 Xây dựng tầng truy cập dữ liệu
Lớp SQLHelper: chứa các phương thức thực thi csdl, nó tự động quản lý các kết nối (connection), tham số (parameter), và tên của stored procedure.
Thêm file SQLHelper.cs vào project PNJSilver.DataAccess.
Tạo lớp DataBaseHelper: Lớp DataBaseHelper được thêm vào data access layer, lớp này sử dụng các hàm của lớp SQLHelper để thực thi các xử lý liên quan đến CSDL. Sau đó khai báo các namespaces System.Data, System.Data.SqlClient, và Microsoft.ApplicationBlocks.Data, khai báo public cho lớp và thêm các trường (field): tên stored procedure và mảng SqlParameter (đây là mảng chứa các tham số tương ứng của stored procedure).
Thực hiện lấy giá trị Connection String từ file Web.config. Trước tiên ta thêm tham chiếu (reference) cho project PNJSilver.DataAccess. Tham chiếu đó là thư viện System.Configuration của Framework Library. Sau đó thêm khai báo namespace: System.Configuration và thêm thuộc tính ConnectionString (đây là thuộc tính chỉ đọc) cho lớp DataBaseHelper
Các hàm chức năng xử lý csdl của lớp DataBaseHelper:
+ Thêm 2 hàm tạo: một hàm có tham số là tên stored procedure, hàm còn lại có tham số là tên stored procedure và mảng các tham số của stored procedure.
+ Thêm 2 phương thức quá tải Run. Hai phương thức này khác nhau là phương thức thứ hai thực hiện theo transaction.
+ Thêm hai phương thức quá tải RunScalar. Hai phương thức này trả về giá trị vô hướng và khác nhau là phương thức thứ hai thực hiện theo transaction.
+ Thêm phương thức RunReader. Phương thức này trả về giá trị là SqlDataReader
+ Thêm phương thức RunDataSet. Phương thức này trả về giá trị là DataSet
Thực hiện Connection String
Ở phần này ta thêm file Web.config vào web project và thêm connection string vào file Web.config. Bên trong file Web.config, thay đổi tag connectionStrings (giá trị connectionString phụ thuộc vào SQL Server cài trên máy thực hành).
Tạo lớp DataAccessBase: chứa các thành phần chung cần thiết cho các lớp thực thi chức năng truy cập csdl, vì vậy các lớp thực thi chức năng data access thì sẽ kế thừa từ lớp này. Khai báo public cho lớp, thêm field _storedprocedurename và property StoredProcedureName tương ứng.
Tạo lớp StoreProcedure: là nơi khai báo các stored procedure được sử dụng bởi các lớp truy cập cơ sở dữ liệu của tầng data access layer, sau đó thêm kiểu liệt kê (enumeration) tên là Name cho lớp này, khi cần sử dụng stored procedure nào ta sẽ khai báo tên của mỗi stored procedure vào kiểu liệt kê Name.
3.3 Xây dựng tầng logic
Tạo interface IBusinessLogic, interface này khai báo phương thức chung cho tất cả các lớp thực hiện nghiệp vụ của tầng business logic layer. Tiếp theo thêm khai báo các method hay property cần thiết.
Thêm lớp mới tên ProcessGetProducts (lớp này có chức năng lấy tất cả các sản phẩm) khai báo public và thực thi interface IBusinessLogic và chỉ định lớp ProcessGetProducts sẽ thực hiện interface IBusinessLogic.
Thực hiện tầng Business Logic Layer sử dụng tầng Data Access Layer. Tạo một forder mới đặt tên là Select. Thư mục này sẽ cung cấp thêm namespace PNJsilver.DataAccess.Select cho các lớp chứa trong nó. Sau khi thêm thư mục Select, ta có thể thêm các lớp data access thực hiện truy vấn select cơ sở dữ liệu trong thư mục này.
Trong thư mục Select thêm lớp ProductSelectByIDData (lớp này có chức năng lấy một sản phẩm dựa vào ID của sản phẩm). Ta có lớp đầu tiên trong thư mục Select, lớp này cần sử dụng common object vì vậy ta cần tham chiếu đến project PNJSilver.Common. Sau đó ta khai báo namespace của common object trong lớp ProductSelectByIDData.
Ngoài ra ta cũng cần chỉ định public cho lớp ProductSelectByIDData và kế thừa lớp DataAccessBase, tạo field và property cho common object Product, ta không khởi tạo thuộc tính Product vì nó sẽ được khởi tạo ở tầng Presentation Layer và được truyền vào lớp ProductSelectByIDData thông qua property Product. Property Product được dùng để truy vấn csdl.
Để thật sự truy vấn csdl ta cần thực hiện thêm mã chương trình (code). Mã thực thi này sẽ sử dụng lớp SQLHelper, nhưng trước tiên cho ta cần thêm namespace và thêm phương thức Get trả về DataSet trong lớp Pr