Phân tích và Thiết kế Hệ thống Website quản lý Album âm nhạc sử dụng VBScript

MỤC LỤC

Viết các procedure với nhiều ngôn ngữ

Như ta đã nói , một trong các đặc tính mạnh của ASP là khả năng kết hợp nhiều scripting language trong cùng một file .asp. Ta có thểđịnh nghĩa các procedure trong các file .asp có gọi đến nó hay trong các file riêng chỉ chứa các procedure rồi include file đó vào khi cần gọi procedure đó.

Giới thiệu về VBScript

Nếu biết tận dụng khả năng này ta cóđược một công cụ rất mạnh để thực hiện những công việc phức tạp. Có thểđịnh nghĩa các procedure bên trong các delimeter (dấu phân cách) nếu như nóđược viết bằng scripting language chính.

Các kiểu dữ liệu của VBScript

Một procedure là một nhóm các dòng lệnh script thực hiện một tác vụ nhất định. Các loại dữ liệu (subtype) mà Variant có thể biểu diễn là: Empty, null, boolean, byte, currency, date, time, string, object, error.

Hằng trong VBScript

Nguyễn Văn Xuất VBScript có các toán tử khác nhau như số học, luận lý, só sánh.

Procedure trong VBScript

Khi bạn thay đổi file Global.asa và ghi lại nó thì server hoàn tất việc xử lý những yêu cầu ứng dụng hiện thời trước khi nó biên dịch lại file Global.asa, trong khoảng thời gian này server từ chối các yêu cầu khác và ra thông báo: "The request cannot be processed while the application is being restarted". Tuy nhiên khi lưu lại những file được include trong Global.asa thì không gây nên biến cố này, muốn khởi động lại ứng dụng phải lưu lại file Global.asa.Những thủ tục định nghĩa trong Global.asa chỉ có thể gọi từ các script trong các biến cố: Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd.

Khai Báo Đối Tượng Và Các Biến Cố

Để "share" các thủ tục giữa các file ASP khác nhau trong một ứng dụng, cần định nghĩa chúng trong một file riêng rồi dùng lệnh Include để chèn chúng vào trong trang ASP có gọi thủ tục đó. - Tham số: ScriptLanguage chỉđịnh ngôn ngữ Script dùng để viết script.Ta có thể gọi phương thức Redirect trong biến cố Session_OnStart, chẳng hạn để bảo đảm rằng NSD luôn bắt đầu từ một trang duy nhất.

Đối tượng Request

HTML form cung cấp nhiều cách nhập thông tin của user như thông qua: textboxes, Radio button, Check boxes… và hai phương thức gởi thông tin là POST và GET. Gởi thông tin trong cùng một file.asp:Asp cho phép một file.asp chứa form, khi user điền các giá trị vào formrồi gởi thì chính file .asp đó sẽ nhận các thông tin này và xử lý.

Đối tượng Response

- Response.Clear : xóa hết nội dung của Buffer (chỉ sử dụng được khi Response.Buffer = True). - Response.Redirect "WebPage1.Html" sẽ xóa trang hiện tại và thay bằng trang WebPage1.Html tại Web Browser trên máy Client.

Đối tượng session

- Đặt Response.Buffer = True cho phép đệm output cho đến khi xử lý xong hết trang.

Đối tượng Application

• Định nghĩa: Ta có thể sử dụng object Application để cho phép nhiều người cùng sử dụng một ứng dụng chia sẻ thông tin với nhau.Bởi vì object Application được dùng chung bởi nhiều người sử dụng, do đó object có 2 method Lock và Unlock để cấm không cho nhiều user đồng thời thay đổi property của object này, các biến Application là toàn cục, có tác dụng trên toàn ứng dụng. Ngoài ra chúng ta có thểđặt các biến trong đối tượng Application để lưu những thông tin toàn cục, hay các cờ báo hiệu.

Đối tượng Server

Tuy nhiên, chúng ta có thể gọi những component này từ các source khác nhau như là: một ứng dụng ISAPI, một server component hoặc một ngôn ngữ tương thích OLE (OLE-compatible language). Khi bạn đã tạo được một instance của một component, bạn có thể sử dụng những phương pháp (method) liên quan đến component đó hoặc gán (set) vàđọc (read) những thuộc tính (property) của nó.

Advertisement Rotator Component

- MapPath: Aựnh xạđường dẫn ảo (làđường dẫn tuyệt đối trên server hiện hành hoặc đường dẫn tương đối đến trang hiện tại) thành đường dẫn vật lý (physical path). Advertisement Rotator component có phương pháp GetAdvertisement để lấy sựđặc tả của bảng quảng cáo từ file dữ liệu Rotator Schedule file vàđịnh dạng nó thành một HTML.

Browser Capabilities Component

Đây là một điểm mạnh của ASP trong việc phát triển các ứng dụng Web Database.Các Object của ADO cung cấp cơ chế tạo ra kết nối (connection) với hầu hết các kiểu Database,cũng như việc truy xuất , cập nhật các Database này. Tuy nhiên, vì phương pháp này tăng số idle connection đến Database nên nó chỉđược sử dụng ở những Web Site có lưu lượng thông tin thấp (low-traffic). ADO được thiết kế một cách đơn giản, nó giao tiếp với database thông qua phương thức ODBC chúng ta có thể sử dụng chúng với bất kỳ loại databasenào nếu như ODBC có driver hỗ trợ. Hiện nay tồn tại driver cho hầu hết các database như : Foxpro, Access, SQL Server, ORACLE, v.v. Các Object chính trong ADO đó là: Connection, RecordSet, Command,ngoài ba object chính này còn có các object con của nó cùng với các tham số , thuộc tính, phương thức bên trong. Ta hãy xem xét từng đối tượng cụ thểở phần sau:. Một phương pháp hữu hiệu hơn để quản lý những connection đến Database dựa trên Web là sử dụng connection pooling của ODBC 3.0. Connection pooling duy trì việc mở, đóng connection đến Database và quản lý connection chung cho nhiều yêu cầu của những người sử dụng khác nhau đểđảm bảo hiệu suất và giảm số idle connection. Đối với mỗi yêu cầu connection, connection pool đầu tiên xác định idle connection ở trong pool không. Nếu có connection pool trả về connection đó thay vì tạo một connection đến Database. Connection không còn nối với Database và ra khỏi connection pool nếu nóở trạng thái idle hơn 60 giây. Connection pooling mặc định được cho phép trong ASP. Chúng ta có thể cấm connection pooling bằng cách đặt Start Connection Pool = 0 trong Registry entry. Để sử dụng tốt nhất Connection pooling, ta nên mở vàđóng Connection đến database trong mỗi trang Asp.tuy nhiên ta nên đặt những trang property của Connection một lần và sử dụng lại chúng ở mỗi trang sau. Nguyễn Văn Xuất Chúng ta có thể sử dụng "ConnectionString " trong file Global.asa để chỉ ra property của Connection trong biến cố Session_OnStart như scrip sau:. Sau đó trong mỗi file.asp mà có truy xuất database chúng ta có thể viết:. hay để tạo một instance của đối tượng Connection cho trang đó ta có thể viết như sau:. Sau khi sử dụng xong, ta đóng bằng Script sau:. Giá trị TimeOut mặc định cho Connection pooling là 60 giây. Ta có thể thay đổi giá trị này cho một ODBC Driver bằng cách đặt Registry key như sau:. Đơn vị là giây).

Content Linking Component

Nguyễn Văn Xuất Chúng ta có thể sử dụng "ConnectionString " trong file Global.asa để chỉ ra property của Connection trong biến cố Session_OnStart như scrip sau:. Sau đó trong mỗi file.asp mà có truy xuất database chúng ta có thể viết:. hay để tạo một instance của đối tượng Connection cho trang đó ta có thể viết như sau:. Sau khi sử dụng xong, ta đóng bằng Script sau:. Giá trị TimeOut mặc định cho Connection pooling là 60 giây. Ta có thể thay đổi giá trị này cho một ODBC Driver bằng cách đặt Registry key như sau:. Đơn vị là giây). GetNextDescription: Lấy phần mô tả của trang kế tiếp được liệt kê trong Content Linking List file.

File Acess Component

Nguyễn Văn Xuất GetListindex: Lấy index của trang hiện tại trong Content Linking List file. GetNthDesciption: Lấy phần mô tả của trang thứ N được liệt kê trong Content Linking List file.

Phân Tích và Thiết Kế Hệ Thống

Phân tích và xây dựng các chức năng ứng dụng

Sơđồ phân cấp chức năng của hệ thống: Sơđồ phân cấp chức năng của hệ thông cho phép ta hình dung, ghi nhận những phần chi tiết của hệ thống nhằm mục đích giúp cho người xây dựng nắm bắt được các chức năng chính trong hệ thống, giúp họ triển khai việc xây dựng được trơn tru theo đúng các quy trình đãđược vạch ra.

IỆUHỆT HỐNG

Bảng ca sĩ:(tbl casi)

- Mã ca sĩ(ID): Mỗi ca sĩ có một mã riêng, mã này sẽđược tựđộng gán cho ca sĩ khi ta thêm vào dữ liệu. - Thông tin khác (thong tin khac): chứa các thông tin khác về ca sĩ, có kiểu dữ liệu là Memo.

Bảng cơ sở dữ liệu ca sĩ
Bảng cơ sở dữ liệu ca sĩ

Bảng loại nhạc (tbl loại nhạc)

Nguyễn Văn Xuất - Mã nhạc sĩ (ID): Mỗi nhạc sĩ có một mã riêng, mã này sẽđược tựđộng thêm vào khi thêm một nhạc sĩ mới vào. - Thông tin khác (thong tin khac): chứa các thông tin khác về nhạc sĩ, có dư liệu là Memo.

Giao diện thêm ca sĩ mới

Về mức độ hoàn thành của bài tập em tựđánh giá là mình đã hoàn thành cơ bản các yêu cầu màđề tài đãđặt ra tuy vẫn còn một số vướng mắc nhưng em tin chắc mình sẽ có thể hoàn thành được nếu cóđiều kiện hơn nữa về thời gian. Một lần nữa em xin chân thành cảm ơn thầy giáo Nguyễn Văn Xuất đã tận tình giúp đỡ em hoàn thành bài tập này, em xin cảm ơn các thầy cô giáo trong khoa công nghệ thông tin đã tận tình chỉ bảo và tạo mọi điều kiện tốt nhất để em có thể hoàn thành bài tập được giao.

Bảng đơn giản vẽđờng viền cóđộ dày bằng một  điểm đơn và các bức tờng chia cách các phần tử
Bảng đơn giản vẽđờng viền cóđộ dày bằng một điểm đơn và các bức tờng chia cách các phần tử

VISUALBASIC SCRIPT LANGUAGE (VBSCRIPT)

Ngôn ngữ HTML………2 Chơng II:Active Server Pages và ngôn ngữ lập trình trên ASP…….…….