Trong thời gian tới phần mềm sẽ đợc phát triển với một số chức năng nh : + Phần dùng cho các nhà bán hàng và quản trị ứng dụng + Chuyển đổi cơ sở dữ liệu sang SQL Server hoặc Oracle + T
Trang 1Lời nói đầu
Mạng máy tính ngày nay đã trở thành một thành phần quan trọng trong cuộc sống Với internet, bức tờng ngăn cách giữa các quốc gia, giữa các nền văn hóa, giữa những con ngời với nhau đã ngày càng giảm đi Bên cạnh đó việc phổ biến sử dụng internet đã tạo ra một bớc ngoặt 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 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
Trớc tình hình đó, với một mong muốn góp phần vào việc đổi mới phơng thức mua bán hiện nay tôi đã lựa chọn đề tài : “ Thiết kế và xây dựng siêu thị ảo với ASP “ làm đề tài khoá luận tốt nghiệp cho mình
Đề tài này đợc bố trí với cấu trúc nh sau :
Mở đầu : Giới thiệu chung về đề tài, lý do chọn đề tài
Chơng I : Ngôn ngữ ASP
Chơng II : Bài toán siêu thị ảo
Chơng III: Thiêt kế và xây dựng ứng dụng
Kết luận
Để hoàn thành đề tài này, ngoài sự cố gắng của bản thân tôi dã nhận
đợc sự hớng dẫn, chỉ đạo hết sức tận tình của thầy giáo thạc sỹ Vũ Chí ờng, sự ủng hộ nhiệt tình của các thầy giáo, cô giáo và bạn bè Với những
C-điều kiện đó đề tài đã đạt đợc mục đích nhất định
Em xin chân thành cảm ơn thầy giáo thạc sỹ Vũ Chí Cờng cùng với
Trang 2ớng dẫn và bạn bè đã góp nhiều ý kiến quý báu trong suốt quá trình hoàn thành đề tài này.
Vinh ngày 30/04/04
Đậu Thị Thanh Hơng
Trang 3Mở đầu
1 Lý do chọn đề tài
Nhu cầu sử dụng trong xã hội luôn là động lự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 tiêu 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ặt mới trong định hớng phát triển ngành Công nghệ thông tin ở 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 ở các nớc phát triển khác, việc bạn có thể ung dung ngồi tạ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à xa lạ 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 : từ một bó hoa tơi, một chiếc tivi, một chiếc xe hơi hay một ngời yêu thích tin học có thể mua cho mình một chiếc máy tính với tất cả các thiết bị của nó đợc bán ở một cửa hàng máy tính nào đó trên mạng
ở Việt Nam chúng ta việc mua bán trên mạng cha đợc phổ biến nếu
có thì cũng chỉ có hình thức từ doanh nghiệp đến doanh nghiệp có nghĩa là các doanh nghiệp tự giới thiệu sản phẩm của mình để doanh nghiệp khác hoặc khách hàng có đợc thông tin và hiểu rõ hơn về doanh nghiệp của bạn trớc khi quyết định đặt mối quan hệ hoặc mở rộng khả năng buôn bán trong tơng lai Còn hình thức doanh nghiệp cho phép khách hàng chọn và đặt hàng ngay trên mạng, cung cấp các phơng thức thanh toán thì cha có Với tình hình thực tế nh vậy, tôi đã lựa chọn đề tài : “ Thiết kế và xây dựng siêu thị ảo với ASP “ làm đề tài khoá luận tốt nghiệp với mong muốn
đẩy mạnh ứng dụng thơng mại điện tử ở nớc ta
Trang 42 Ngôn ngữ cài đặt
Hiện nay có rất nhiều ngôn ngữ cũng nh các phần mềm thiết kế Web Mỗi một ngôn ngữ đều có những thế mạnh riêng của nó Lập trình Web bằng ASP (Active Server Pages) là một công nghệ cho phép tạo ra những trang Web động có khả năng giao tiếp với ngời dùng bằng cách lập trình script ở máy chủ Mã nguồn của những chơng trình có thể đợc viết bằng bất
kỳ ngôn ngữ lập trình thông dụng nào, sau đó đợc nhúng vào những thẻ (tag) đặc biệt trong HTML (HyperText Markup Language)
Những trang Web này sẽ đợc dịch và hiển thị từ máy chủ khi có yêu cầu từ phía ngời dùng Với những tính năng to lớn của ASP đem lại tôi chọn ngôn ngữ này để thiết kế
3 Kết quả xây dựng Web site và định hớng phát triển
Do thời gian và điều kiện có hạn nên Website này thiết kế chỉ dùng
để giao dịch với khách hàng Website sẽ hiển thị danh sách các loại thiết bị máy tính Ngời dùng chọn một loại thiết bị Website sẽ liệt kê danh sách các thiết bị máy tính tơng ứng Khách hàng cũng có thể tìm kiếm sản phẩm cần mua bằng cách nhập tên sản phẩm rồi chọn mục tìm kiếm Sản phẩm mà ngời dùng chọn mua sẽ đợc bỏ vào giỏ trớc khi thanh toán Khách hàng có thể thay đổi số lợng, mặt hàng có trong giỏ Khi khách hàng đã quyết định mua hàng thì khách hàng phải đăng ký (những khách hàng lâu dài không cần đăng ký) và hẹn ngày giao hàng
Trong thời gian tới phần mềm sẽ đợc phát triển với một số chức năng
nh :
+ Phần dùng cho các nhà bán hàng và quản trị ứng dụng + Chuyển đổi cơ sở dữ liệu sang SQL Server hoặc Oracle + Thiết kế giao diện đẹp và hài hoà hơn
Trang 5Chơng I : ngôn ngữ asp
Vào giữa những năm 90 của thế kỉ trớc, khi bắt đầu bùng nổ sự truy
cập Web thì đa số những ngời sử dụng máy tính đều có thể truy cập thông tin trên Internet Tuy nhiên, các nhà thiết kế Web lại gặp khá nhiều khó khăn trong việc đa thông tin lên Web và cập nhập chúng Đồng thời cuộc chiến giữa các trình duyệt và các phần mềm thiết kế Web site cũng ngày càng có xu thế tăng mạnh Trớc tình hình đó Microsoft đã đa ra ASP (Active Server Page) để liên kết một số công nghệ nhằm tạo các trang Web hiện đại, cho phép tơng tác dễ dàng giữa các máy chủ và cơ sở dữ liệu Trong những công nghệ đó có ADO (ActiveX Data Object)
Sự ra đời của ASP đã tạo ra một bớc tiến mới trong sự phát triển các ngôn ngữ lập trình Web Đồng thời tạo ra một diện mạo mới cho các trang Web có sử dụng ASP
I Giới thiệu chung
1 Khái niệm ASP
ASP là môi trờng kịch bản trên máy chủ (Server – Side Scripting
Environment) dùng để tạo và chạy các ứng dụng Web động và có tơng tác Nhờ tập các đối tợng có sẵn (Built in Object) với nhiều tính năng phong phú, khả năng hỗ trợ VBscript, lẫn JScript cùng một số thành phần Activex khác kèm theo, ASP cung cấp giao diện lập trình mạnh và dễ dàng trong việc triển khai các ứng dụng trên Web
* Trang ASP là trang Web trong đó có sự kết hợp các thành phần HTML, ActiveX Component và ASP SCript Có thể xem ASP nh là một trang HTML có bổ sung ASP script command
2 Cấu trúc của một trang ASP.
Trang 6Trang ASP đơn giản là một trang văn bản với phần mở rộng là ASP gồm có ba phần :
* Văn bản (text)
* HTML tag (HTML : Hypertext Markup Language)
* Các đoạn script asp
Khi thêm một đoạn script vào HTML ASP dùng dấu phân cách để phân biệt giữa đoạn HTML và đoạn ASP <% bắt đầu đoạn script và %> để kết thúc đoạn script Có thể xem trang ASP nh một trang HTML có bổ sung các ASP Script Command
Xem ví dụ dới đây :
3 Hoạt động của trang ASP
Khi mỗi trang ASP đợc yêu cầu bởi Web Browser, đầu tiên Web
server xem xét và thực hiện hết những câu lệnh ASP Script Kết quả là một
trang thuần HTML
“ ” đợc đa ra Browser Ngời sử dụng có thể không thấy những câu lệnh ASP Script bởi vì nó đã đợc thay thế bằng các giá trị kết quả của quá trình thực thi trên server
Thờng thì ứng dụng ASP gồm các trang ASP và các thành phần khác
đặt trong một th mục (Application Directory) đợc khai báo với Web server,
th mục này phải đợc gán quyền Executive hay Script để trong ASP hoạt
động đúng Trong Application Directory có một tập tin đặc biệt là Global.asp dùng để chia sẻ thông tin cho toàn ứng dụng
Trên thực tế trang ASP có thể chạy với Microsoft Internet Information Server (IIS) 3.0 Tuy nhiên nên dùng ASP với ISS phiên bản 4.0
Trang 7trên Windows NT hoặc Microsoft Personal Web Server (PWS) 4.0 trên Windows9x để sử dụng những tính năng mới và các ActiveX Componet kèm theo Đồng thời có thể cài đặt IIS 4.0 hoặc PWS 4.0 từ phần NT Option Pack trong bộ Visual Stadio 6.0.
Có thể nói, ASP thực sự là một phần mở rộng cho Web Server Nó cung cấp một tập hợp các thành phần (componet) và đối tợng (Object) để quản lý sự tơng tác giữa Web Server và trình duyệt Các đối tợng này có thể
đợc xử lý bởi chính ngôn ngữ kịch bản (Scripting Language)
4 Cách tạo trang ASP
Với một trang HTML có sẵn chúng ta có thể dễ dàng tạo trang ASP
bằng cách thêm vào các lệnh ASP Script cần thiết và đổi phần mở rộng thành *ASP Chú ý: do trang ASP đợc xử lý trớc trên Server nên nó sẽ tốn
nhiều thời gian hơn để đa ra Browser, do đó tránh đặt tên trang là ASP khi không cần thiết tức là khi nó là trang “thuần HTML”.
5 Ưu điểm và khuyết điểm ASP
Ưu điểm :
* ASP bổ sung cho các công nghệ đã có từ trớc nh CGI (Common Gateway Interface), giúp ngời dùng xây dựng các ứng dụng Web với những tính năng sinh động Tuy nhiên, khác với CGI các trang ASP không cần phải hợp dịch
* Dễ dàng tơng thích với các công nghệ của MicroSoft ASP sử dụng ActiveX Data Object (ADO) để thao tác với cơ sở dữ liệu hết sức tiện lợi
* Với những gì ASP cung cấp, các nhà phát triển ứng dụng Web dễ dàng tiếp cận công nghệ này và nhanh chóng tạo ra các sản phẩm có giá trị
Điều này hết sức có ý nghĩa trong điều kiện phát triển nh vũ bảo của tin học ngày nay Nó góp phần tạo nên một đội ngũ lập trình Web lớn mạnh
Trang 8* ASP có tính năng mở Nó cho phép các nhà lập trình xây dựng các component và đăng ký sử dụng dễ dàng Hay nói cách khác ASP có tính năng COM(Component Object Model)
* Các ứng dụng ASP chạy chậm hơn các công nghệ Java Servlet
* Tính bảo mật thấp Không giống nh CGI hay Java servlet, các mã ASP đều có thể đọc đợc nếu ngời dùng có quyền truy cập vào Web server
Có lẽ đây là lý do quan trọng nhất để ngời dùng không chọn công nghệ ASP
6 Các đối tợng của ASP
ASP có 6 đối tợng đợc xây dựng sẵn (ASB – Built in Object), mỗi
một đối tợng đều liên quan đến một khía cạnh đặc trng của sự tơng tác Bao gồm:
Đối tợng Session : Đây là đối tợng đợc dùng để lu trữ thông tin cần
thiết trong phiên làm việc của ngời sử dụng Những thông tin lu trữ trong Session không bị mất đi khi ngời sử dụng di chuyển qua các trang của ứng dụng
Đối tợng Application : Nó dùng để chia sẻ thông tin giữa những
ng-ời sử dụng trong cùng một ứng dụng Đối tợng này thờng đợc dùng trong việc đếm số lần truy cập đến ứng dụng của những ngời sử dụng
Đối tợng Request : Dùng để truy cập những thông tin đợc chuyển
cùng với các yêu cầu HTTP Những thông tin này bao gồm các tham số của
Trang 9Form khi đợc Submit dùng phơng pháp Post hay Get hay các tham số đợc ghi cùng với trang ASP trong lời gọi đến trang đó Đối tợng còn đợc dùng
để lấy giá trị các Cookie lu trữ trên máy khách (Client)
Đối tợng Response : Nó đợc dùng để gửi thông tin cho ngời sử
dụng, gồm có ghi thông tin trực tiếp ra Browser, chuyển Browser đến mọt URL khác hoặc thiết lập các Cookie trên máy khách
Đối tợng Server : Cung cấp phơng tiện truy cập đến những phơng
thức và thuộc tính trên Server Thờng thì sử dụng phơng thức Server.createObject để khởi tạo instance của một ActiveX Object trên trang ASP
Đối tợng Object Context: Sử dụng Object Context để chấp thuận
hoặc huỷ bỏ transaction đợc khởi tạo bởi một ASP Script
7 Các thành phần ActiveX
• Đối tợng truy cập dữ liệu ADO (ActiveX Data Object): Đây là 1
thành phần trong bộ Microsoft Data Access Component (MDAC – gồm ADO, OLEDB và ODBC) ADO cung cấp giao diện lập trình quen thuộc với những thuộc tính và phơng thức theo mô hình đối tợng
để tạo sự dễ dàng cho các lập trình viên, nhất là đối với những ngời quen với ADO và RDO ở mức hệ thống các chức năng tơng tác dữ
Client
Response Object
Request Object
Object Context Object
Server
Server Object
Application Object
Session Object
Trang 10liệu thật sự với DBMS sẽ do thành phần OLEDB (gọi là OLEDB Provider) đảm nhiệm, thành phần này do nhà sản xuất cơ sở dữ liệu cung cấp cùng với sản phẩm của họ Hiện nay, do đa số hệ DBMS dùng ODBC làm giao diện cơ sở dữ liệu nên Microsoft có kèm theo một thành phần gọi là OLE DB Provider for ODBC để ADO có thể làm việc trên các hệ thống cơ sở dữ liệu hiện tại dùng giao tiếp ODBC
• Các thành phần ActiveX khác:
- Ad Rotator Object (Ad Rotator): Luân phiên hiển thị dãy các hình
ảnh cũng nh liên kết từ hình ảnh đợc hiển thị đến một URL Thông tin về hình ảnh và liên kết tơng ứng đợc lu trong File Text
- Browser Capabilities Object (Browser Type): Những thông tin về
Browser nh tên, version có hỗ trợ Frame, Table hay không?
- Page Counter: Đếm và hiển thị số lần trang Web đợc yêu cầu.
- My info, Status, System, Tools Object: Các thông tin về Website
- Mô hình ứng dụng một cơ sở dữ liệu trên Web:
Application
ADO
OLE DB
Spead
Sơ đồ giao tiếp các thành phần của MDAC
Trang 11- Web Server: là nơi tiếp nhận và trả lời các yêu cầu của Web user,
đồng thời cũng thực hiện việc kết nối đến hệ DBMS trên Database Server theo yêu cầu truy cập dữ liệu của trang ASP ADO cung cấp giao diện lập trình cho ngời phát triển và xây dựng các lệnh truy cập cơ sở dữ liệu Các lệnh này đợc chuyển đến cho hệ DBMS để thực thi thông qua các thành phần OLE DB và ODBC Kết quả truy vấn dữ liệu
sẽ đợc Web Server đa ra hiển thị trên Browser
- Database Server: là nơi diễn ra các thao tác cơ sở dữ liệu nh truy vấn
cập nhập cũng nh đảm bảo tính toàn vẹn dữ liệu của hệ DBMS
- Browser: giao diện với ngời sử dụng, là nơi tiếp nhận yêu cầu của
ng-ời sử dụng cũng nh hiển thị kết quả yêu cầu Ngoài ra, Browser còn là nơi kiểm tra sơ bộ tính hợp lệ của dữ liệu trớc khi chuyển đến cho Web Server
II Những tác vụ cơ bản của ASP
DBMS
(SQL Server
Sơ đồ ứng dụng trên Web
Trang 12Set oRSp=Server.CreateObject(“ADODB.Recorset”)
ORSp.Open=“People”, “DSN=Contacts”
Với DSN có tên là Contacts trong đó chứa bảng People
Ngoài ra nếu cơ chế bảo vệ dữ liệu đợc kích hoạt thì chúng ta sẽ đa ra các chi tiết về bảo mật khi tạo Recordset
Ví dụ: Giả sử ta có UserID là ASP, Password là 12345 thì chúng ta
có thể truyền các thông tin này nh sau:
th Dòng thứ hai tạo một đối tợng Recordset và biến oRSp trở thành con trỏ chỉ đến đối tợng này Bây giờ oRSp có thể giữ tất cả các thuộc tính, phản ứng với các sự kiện và thực thi các phơng thức của một Recordset trong th viện ADODB Quá trình này gọi là thực thể hoá Công việc đợc thực hiện nhờ phơng thức CreateObject của đối tợng Server của ASP, nó cần một tham số – tên của lớp mẫu Đồng thời chúng chỉ ra th viện lớp (ở đây là ADODB) và lớp trong th viện đó (ở
đây là Recordset) Sau khi đã tạo xong đối tợng này thì chúng ta hoàn toàn có thể truy xuất dữ liệu
- Dòng thứ ba dùng phơng thức Open của đối tợng Recordset để truy xuất dữ liệu Lu ý về cú pháp: chúng ta gọi phơng thức Open của đối t-
Trang 13ợng oRSp, do đó chúng ta ghi là oRSp.Open Để thực thi tác vụ, Open cần hai thông số.
Sau khi đã tạo xong Recordset (Dim, Set, RS.Open) chúng ta có thể truy xuất dữ liệu trong Recordset Một mục dữ liệu đợc truy xuất bằng tên của Recordset và tên trờng nh sau:
ORSp(“PeopleNameFirst”)
Lệnh này sẽ trả về dữ liệu trong trờng PeopleNameFirst của mẩu tin hiện tại
♦ Ghi dữ liệu lên trang Web:
Để ghi dữ liệu lên trang Web ta dùng lệnh:
Response.Write oRSp(“Tên trờng”)
Mã trên sẽ đợc đặt giữa <%, %> để ghi dữ liệu lên trang Web Ngoài
ra, ta có thể đa Response.Write vào trang HTML nh sau:
Welcome, <%=oRSp(“Tên trờng”)%> to our page.
♦ Đa dữ liệu vào biến
Không phải lúc nào ta cũng đa thẳng dữ liệu lên trang Web, ví dụ nh khi ta cần một vài thao tác xử lý chuỗi hay kiểm tra tính hợp lệ trớc khi đa lên trang Trong trờng hợp đó ta sẽ đa dữ liệu vào biến
Cách đa dữ liệu vào biến:
VarnameFirst=oRSp(“Tên trờng”)
Dòng mã trên lu dữ liệu vào biến để sau này sử dụng Tuy nhiên việc này phải đợc thực hiện trong các dấu phân cách ASP vì HTML không có khả năng làm việc với biến
♦ Sử dụng dữ liệu trong biểu thức
Dữ liệu đợc truy xuất bởi ADO có thể đợc dùng trực tiếp trong một biểu thức Ví dụ với đoạn mã dới đây:
Trang 14♦ Sử dụng dữ liệu làm đối số cho hàm.
Dữ liệu đợc đọc bởi ASP ADO có thể đợc sử dụng làm đối số cho hàm Ví dụ nh :
Varmakhachhang=Left(oRSp(“makhachhang”,1))
VarPassword=Lcase(oRSp(“Password”)) VarVitri=intstr(oRSp(“hoten”,“ ”))
♦ Tạo bảng với dữ liệu
Các quy tắc cơ bản của các thẻ tạo bảng
- Bắt đầu và kết thúc một bảng với: <TABLE BORDER=”1”> và
<%
Dim oRSp
Set oRSp=Server.CreateObject(“ADODB.Recordset”)
ORSp.Open “People”, “DSN=Sailors”
Response.Write “<TABLE BORDER=”1”>”
Trang 15♦ Tạo bảng với vòng lặp For Next…
Thông thờng thì bảng sẽ bao gồm nhiều hàng và nhiều cột nhằm để
l-u trữ đầy đủ thông tin cần thiết Để tạo bảng bao gồm nhiềl-u hàng và nhiềl-u cột nh vậy thì ta không nên chút nào sử dụng lần lợt các thẻ nh trên, mà cách đơn giản nhất là sử dụng vòng lặp For Next đã có sẵn trong ASP.…
Trang 16Trong nhiều trờng hợp chúng ta không thể biết đợc trong Recordset
có bao nhiêu mẩu tin, vì vậy mà sẽ không thể biết đợc sẽ phải thực hiện mẩu tin nào và vòng lặp bao nhiêu lần ADO cung cấp một phơng pháp để kiểm tra bạn có đang đứng ở mẩu tin cuối cùng hay không Và nếu đúng thì
sẽ ngừng tạo thêm hàng mới Thuộc tính đợc dùng ở đây là EOF (End Of File) Thuộc tính này cho giá trị True khi bạn đang duyệt qua mẩu tin (hàng) cuối cùng
Do while not oRSp.EOF
Response.Write oRSp(“PeopleNameLast”) & “<BR>”
ORSp.MoveNext Loop
Ví dụ: Tạo bảng với EOF, ở dây ta sẽ tạo một bảng liệt kê họ tên của những ngời có tên trong bảng People trong cơ sở dữ liệu Sailors
<%
Dim oRSeof
Set oRSeof = Server.Createbject(“ADODB.Recordset”)
ORSeof.Open “People”, “DNS=Sailors”
ORSeof.MoveFirst
Response.Write “<TABLE BORDER=“1”>
Do while NOT oRSeof.EOF
Response.Write “<TR><TD>” & oRSeof(“PeopleNameFirst”) & “</TD>”
Trang 17Response.Write “<TD>” & oRSeof(“PeopleNameFirst”) & “</TD></TR>”
ORSeof.Movenext Loop
Response.Write “</TABLE>”
%>
2 Một số lệnh SQL cơ bản dùng cho Recordset của ADO
Trên thực tế, nhiều giao tiếp giữa ASP – ADO và cơ sở dữ liệu đợc thực hiện nhờ SQL Trong phần này tôi xin giới thiệu các nguyên tắc cơ bản của quá trình đọc dữ liệu thông qua việc sử dụng các câu lệng của SQL SQL (Structured Query Language) là một cách thức giao tiếp với cơ
sở dữ liệu Tức là nó thực hiện các công việc nh đọc dữ liệu từ kho dữ liệu, ghi dữ liệu lên kho dữ liệu, thay đổi dữ liệu trong kho mà không đọc dữ liệu
ra, thay đổi cấu trúc của kho dữ liệu
Hầu hết các câu lệng của SQL thuộc ba loại:
- Các câu lệnh đọc dữ liệu
- Các câu lệnh thay đổi dữ liệu, nh việc thêm mẩu tin mới
- Các câu lệnh thay đổi cấu trúc cơ sở dữ liệu Ví dụ nh thêm một trờng hay một bảng
♦ Những quy tắc cú pháp chung cho SQL
Quy tắc cú pháp chung của SQL là xây dựng một câu lệnh tợng tự
nh một câu văn tiếng Anh, gồm vài mệnh đề (clause) Mỗi mệnh đề bắt đầu bằng một từ khoá (keyword) SQL và theo sau là các đối số Các câu lệnh SQL đơn giản nhất sẽ lấy ra tất cả các mẩu tin và tất cả các trờng trong một nguồn dữ liệu chẳng hạn nh một bảng
SELECT Fieldslist FROM Source;
Trang 18Ví dụ: Câu lệnh sau dùng để rút một Recordset chứa tất cảc các mẩu tin và trờng trong bảng People:
SELECT * FROM People;
♦ Dùng các câu lệnh của SQL để mở một Recordset
Ta đã có thể mở một Recordset với một dòng nh sau:
ORS.Open “people”, “DNS=sailor”
Tuy nhiên, Recordset này bao gồm tất cả các mẩu tin và các trờng của bảng people, đồng thời chúng không đợc chọn lọc hay sắp xếp gì cả SQL có thể khắc phục đợc nhợc điểm này bằng cách sử dụng câu lệnh sau:
ORS.Open “SECLECT * From People;”, “DNS=Sailor”
Ví dụ về câu lệnh SQL với RS.Open
Set oRSbc =Server.creatẹoect(“ADODB.Recordset”)
ORSbc.Open “SELECT * FROM BoatClass;”, “DSN=Sailor”
oRSbc.MoveFirst
Do while NOT oRSbc.EOF
Response.Write oRSbc(“ClassName”) &”,”
oRSbc.MoveNext
Loop
Trang 19SELECT <phạm vi> FROM <tên bảng>;
- Từ khoá SELECT có nghĩa là đọc từ cơ sở dữ liệu
- Phạm vi: có thể là tất cả “*” hoặc một số trờng đợc chỉ ra
- FROM tên bảng: từ bảng cần đọc dữ liệu ra
Ví dụ:
SELECT * FROM People; Mở tất cả các trờng của bảng People
SELECT name, add FROM People; Mở hai trờng name và add
Ngoài ra khi cần thiết ta có thể sử dụng thêm các tuỳ chọn để phục các yêu cầu của mình nh:
- Tuỳ chọn ORDER BY: Dùng để sắp xếp dữ liệu theo một quy tắc nhất
định
Ví dụ:
SELECT * FROM People ORDER BY Name;
- Tuỳ chọn WHERE: Dùng để giới hạn thông tin phù hợp với một điều kiện nào đó nh tuổi lớn hơn 50 hay Quê quán ở Vinh chẳng hạn
Ví dụ:
SELECT * FROM khachhang WHERE QQ= “Vinh”;
- Tuỳ chọn BETWEEN AND trong mệnh đề WHERE.…
Trang 20WHERE sẽ trở nên hữu dụng hơn khi chỉ ra một khoảng giá trị SQL đa vào các từ khoá Between and trong mệnh đề Where và chúng đ… -
ợc dùng chung với nhau thành một cặp
Ngoài ra ta cũng có thể dùng thêm một số tuỳ chọn khác khi cần thiết, đó là tuỳ chọn In, các toán tử lý luận And, Or, Not để bảo đảm tính chính xác và sử dụng trong một số trờng hợp nhất định
* Các lệnh sửa đổi dữ liệu của SQL
+ Chèn mẩu tin: lệnh INSERT
Để thêm các mẩu tin vào bảng, chúng ta phải dùng lệnh INSERT Lệnh này chỉ đợc dùng để chèn những hàng mới vào bảng Khi đã có dữ liệu thì ta có thể sử dụng lệnh UPDATE hoặc lệnh DELETE để thao tác Dạng lệnh: Insert into Tablename(column1, column2,…)
Value (Value1, value2,…)
Tham số Tablename chỉ định bảng dữ liệu đợc thêm vào, tham số Column chỉ định các cột mà ta muốn chèn dữ liệu vào Các tham số Value chỉ định các giá trị dữ liệu mà ta muốn chèn Dấu câu đợc dùng với những giá trị này chỉ định kiểu dữ liệu
+ Cập nhật một mẩu tin: Lệnh UPDATE
- Tham số Column chỉ định cột mà ta muốn cập nhật
- Các tham số Value chỉ định những giá trị dữ liệu mới mà ta sẽ cập nhật và các cột
- Tham số Criteria chỉ định những dòng đợc chọn để cập nhật
Trang 21+ Xoá mẩu tin: Lệnh DELETE.
Dạng lệnh:
DELETE Column * FROM Tablename WHERE Criteria
- Tham số Column* chỉ định cột để xoá hoặc dùng kí tự * để xoá tất cả các cột của bảng
- Tham số Criteria chỉ định những hàng nào đợc xoá
- Tạo nhiều Recordset từ một kết nối
- Cung cấp thông tin về cấu trúc cơ sở dữ liệu
- ứng dụng của các giao tác
- Tính dễ dàng trong việc xử lý lỗi
3.1 Kết nối tới Database bằng cách sử dụng DSN Connnection to–
Database with DSN
Để tạo đợc kết nối này ta thực hiện các bớcnh sau:
- Tạo cơ sở dữ liệu Access và đặt DSN cho nó
- Tạo một đối tợng kết nối
- Dùng đối tợng đó để mở một cơ sở dữ liệu đã có DSN
Cụ thể:
Trang 22Set conn=server.CreateObject(“ADODB.connection”)
Conn.Open “DSN name of Database”
Set RS = Conn.Excute(SQLServer)
Chú ý về các thuộc tính của RS sau khi cài đặt Excute:
RS.fields.count là số trờng của bảng
Conn.Open “ADO samples”
Set RS = conn.excute(“SELECT * FROM orders”)
Trang 233.2 Các phơng pháp kết nối tới Access
Trong quá trình kết nối tới Data thông qua ASP, chúng ta không phải luôn luôn tạo đợc DSN cho Data file trên hệ thống Webserver hoặc ta cũng không muốn có hàng triệu kết nối DSN trên Server Trong trờng hợp đó chúng ta dùng Data cùng với ADO (ActiveX Data Object) thì phải kết nối chúng thông qua ODBC data Source Nếu ta tự Publish data lên Web thì việc tạo ra các DSN là rất phức tạp Do đó ta có thể sử dụng các phơng pháp sau:
Phơng pháp 1: Kết nối tới Access thông qua Connection Object
<%
Trang 24Set Conn = Server.CreateObject(“ADODB.Connection”)
‘ Tạo đòng dẫn tới cơ sở dữ liệu
ConnectionString = “DRIVER = Microsoft Access Driver (*.ndb); DBQ = đờng dẫn”
‘ Tạo đối tợng kết nối
Set rsData = Server.CreateObject(“ADODB.Recordset”)
Phơng pháp 3: Kết nối tới Data sử dụng phơng pháp Mappath
Sử dụng phơng pháp này có thể Map các th mục chứa dữ liệu một cách dễ dàng Thực chất đây là cách đặt đờng dẫn tự động mà không cần chỉ ra đờng dẫn tới tệp dữ liệu
Ví dụ:
set mydb =server.createobject("ADODB.connection")
connectstr="dbq=" & server.MapPath("tep.mdb")
mydb.open "driver=microsoft access driver (*.mdb);" & connectstr
sqlstr="select * from khachhang"
Trang 25set ors = mydb.execute(sqlstr)
• Application _OnEnd: thực hiện một lần khi web server shutdown hoặc khi tất cả các session đã đóng
5 Các phơng thức và thuộc tính của một số đối tợng
• Collection: Contents, StaticObject
• Method: Lock, Unlock
Trang 26• Events: Application_OnStart, Application _OnEnd.
* Session
• Collection: Contents, StaticObject
• Method: Abandon
• Properties: SessionID, TimeOut, CodePage, LCID
• Events: Session_OnStart, Session_OnEnd
Chơng ii bài toán siêu thị ảo –
1 Bài toán thơng mại điện tử
Tuỳ thuộc vào quy mô và đặc thù mỗi ngành nghề kinh doanh của từng công ty, ứng dụng thơng mại điện tử sẽ có một số chức năng khác nhau Mỗi ứng dụng Web cụ thể thờng có hai phần : phần dùng để giao dịch với khách hàng trên Internet và phần dùng cho các nhà bán hàng và quản trị ứng dụng
1/ Phần giao tiếp khách hàng
Một ứng dụng thơng mại điện tử cung cấp thông tin để khách hàng
có thể liên lạc và biết rõ về sản phẩm và những dịch vụ mà công ty cung cấp Tiếp đến khách hàng có thể dặt mua, thanh toán và hẹn ngày giao hàng hay nhận sự hỗ trợ từ nhà cung cấp Tất cả các dịch vụ nêu trên đều diễn ra trên mạng và kiểm soát bởi ứng dụng Web Hai hình thức cơ bản và thông