Để có thể xây dựng một Website “Trắc nghiệm trên mạng” theo hai mô hình trên tôi nhận thấy khoá luận phải thực hiện đợc một số yêu cầu sau: - Đối với vấn đề thứ nhất: + Cập nhật một hệ t
Trang 1Mục lục
Trang
Lời nói đầu
Chơng I Tổng quan về hệ thống trắc nghiệm trên mạng 1
I Đặt vấn đề 1
II Đối tợng và phơng pháp nghiên cứu 3
III Tìm hiểu và phân tích hoạt động của hệ thống 3
IV Các loại câu hỏi trong thi trắc nghiệm 4
Chơng II Ngôn ngữ ASP và cơ sở dữ liệu Access 7
I Giới thiệu mô hình Client/Server 7
II Các công cụ cài đặt 10
Chơng III Phân tích thiết kế hệ thống 29
I Xác định, phân tích các luồng thông tin 29
II Thiết kế hệ thống mới 29
III Biểu đồ phân cấp chức năng 32
IV Biểu đồ luồng dữ liệu 33
Chơng IV Giới thiệu một số trang cơ bản của chơng trình 39
Kết luận 49
Tài liệu tham khảo 50
Chơng I:
Tổng quan về hệ thống trắc nghiệm trên mạng
I Đặt vấn đề
Hiện nay các phần mềm trắc nghiệm đã có nhiều, đợc xây dựng bằng nhiều môi trờng lập trình khác nhau Để tạo sự khác biệt cũng nh khắc phục một số nhợc điểm của các ứng dụng trắc nghiệm khác, khoá luận trắc nghiệm này tôi xây dựng và khai thác hai vấn đề chính:
- Vấn đề thứ nhất: Xây dựng mô hình trắc nghiệm miễn phí Đối với mô hình này chủ yếu là khảo nghiệm và củng cố kiến thức cho ngời sử dụng, nó
có thể áp dụng cho nhiều môn kiến thức khác nhau, cho nhiều đối tợng khác nhau Có thể coi nó nh công cụ để ôn tập, củng cố kiến thức cho ngời sử dụng
Trang 2thông qua vấn đề mà họ muốn trau dồi, bằng chính kiến thức của họ đợc học ởtrờng lớp, hoặc tham khảo qua sách vở từ đó tạo các bài test trắc nghiệm dùng
để kiểm tra hoặc bổ cứu kiến thức cho mình
- Vấn đề thứ hai: Xây dựng mô hình trắc nghiệm theo thời gian Với môhình này nhằm kiểm tra kiến thức cho mọi đối tợng giống nh một đề thi kiểmtra ở trờng lớp hoặc có thể áp dụng để thi test cho các lớp học, các trung tâm.Với mô hình này chỉ áp dụng cho một môn kiến thức, không thể áp dụng chonhiều môn một nh mô hình lúc đầu
Với cả hai mô hình trên ta có thể áp dụng cho nhiều môn kiến thức khácnhau Tuỳ thuộc vào ngời quản lý, từ cấu trúc đã có mà cập nhật ngân hàngcâu hỏi phục vụ cho môn kiến thức theo nhu cầu sử dụng cũng nh nó có thểtrở thành công cụ đắc lực bổ trợ không chỉ cho học sinh, sinh viên mà cho cảgiáo viên trong công tác giảng dạy
Để có thể xây dựng một Website “Trắc nghiệm trên mạng” theo hai
mô hình trên tôi nhận thấy khoá luận phải thực hiện đợc một số yêu cầu sau:
- Đối với vấn đề thứ nhất:
+ Cập nhật một hệ thống ngân hàng các câu hỏi, các tuỳ chọn, đáp án.+ Xử lý thông tin chính xác, khoa học
+ Các bài thi đợc cho điểm theo hình thức mỗi câu trả lời đúng đợc 2
điểm câu trả lời sai sẽ bị trừ đi 1 điểm
+ Cách xây dựng hoặc lựa chọn các bài kiểm tra theo dạng trắc nghiệmtất cả các câu hỏi cùng hiển thị một lúc hoặc trắc nghiệm từng câu một, trắcnghiệm 10 câu, 20 câu, 30 câu Đối với trắc nghiệm theo số câu cố định, thì sốcâu hỏi đợc lấy ra một cách ngẫu nhiên trong ngân hàng câu hỏi
+ Khi thực hiện trắc nghiệm ngời sử dụng có thể biết đợc kết quả, cũng
nh khả năng kiến thức của mình
- Đối với vấn đề thứ hai:
+ Cập nhật một hệ thống ngân hàng các câu hỏi, các tuỳ chọn, đáp án.+ Xử lý thông tin chính xác, khoa học
+ Các bài thi đợc khống chế thời gian chặt chẽ
+ Đa ra kết quả cho thí sinh tham gia trắc nghiệm ngay sau khi hết thờigian test
Từ một số yêu cầu trên Website trắc nghiệm phải thực hiện đợc cácchức năng sau:
Trắc nghiệm miễn phí
Trắc nghiệm theo thời gian
Trang 3+ Chọn các bài thi trắc nghiệm và tiến hành trắc nghiệm
+ Kết quả của bài mình thi
2 Trắc nghiệm theo thời gian
Quản trị:
+ Cập nhật ngân hàng câu hỏi
+ Tạo bộ đề thi
+ Tạo ngời dùng
+ Xem chi tiết các câu hỏi
+ Xem kết quả thi của ngời dùng
Chức năng ngời dùng:
+ Đăng ký User để sử dụng
+ Test các bài thi do ngời quản trị đã tạo sẵn
II đối tợng và phơng pháp nghiên cứu
Dựa vào thực tiễn trắc nghiệm ở một số trờng, trung tâm, cũng nh cácphần mềm trắc nghiệm hiện có mà khoá luận tập trung vào một số vấn đề sau:
+ Tìm hiều phơng thức thi trắc nghiệm đánh dấu thủ công, cho điểm vàkhống chế thời gian để đa ra yêu cầu cho hệ thống thi trên máy phù hợp vớithực tiễn
+ Mô hình hoá các hoạt động của hệ thống máy tính dựa vào các chứcnăng của chơng trình
+ Xây dựng biểu đồ luồng dữ liệu, thiết kế các tệp cơ sở dữ liệu cơ bản
và thể hiện mối quan hệ giữa chúng
+ Cài đặt chơng trình dựa vào nhiều ngôn ngữ nh, HTML, Flash,Dreamweaver, JavaScript, ASP, hệ quản trị cơ sở dữ liệu Microsoft Access
Trang 4Hệ thống “xây dựng Website Trắc nghiệm trên mạng” hoạt động dựa
theo sự hoạt động của một số phơng thức trắc nghiệm truyền thống bằng thủ công Khi tổ chức thi các môn học thì những ngời phụ trách và quản lý thi phải lên danh sách thí sinh đăng ký thi, làm đề thi, ấn định ngày thi cho thí sinh Khi vào phòng thi, mỗi thi sinh đợc phát một đề thi trong đó có một số thông tin về thí sinh, các câu hỏi và các phơng án trả lời Để thi sinh đọc đề và chọn phơng án trả lời cho từng câu hỏi theo sự hiểu biết và trình độ của mình, khi quyết định chọn phơng án nào thí sinh chỉ việc đánh dấu vào phơng án đó Trong thời gian cho phép, khi hết giờ thí sinh phải nạp bài thi, sau đó hội đồng thi mới tiến hành chấm bài thi công bố kết quả, khi đó thí sinh mới biết đợc kết quả thi của mình Với hình thức tổ chức một đề thi nh trên thì quá rờm rà và mất nhiều thời gian cho một đề thi trắc nghiệm.
Ngày nay máy tính cho phép chung ta có thể tổ chức một cuộc thi trắcnghiệm trên máy cực kỳ đơn giản tiện lợi, biết kết quả ngay và tốn rất ít thờigian và công sức, thí sinh vào thi chỉ việc dùng chuột và bàn phím, sau khi
đăng nhập vào hệ thống do ngời quản trị tạo ra, hoặc thí sinh đăng ký, thôngtin về thí sinh tham gia trắc nghiệm sẽ đợc máy tính lu lại, khi vào thi trắcnghiệm thí sinh có thể lựa chọn đề thi cho mình, từ bộ đề thi mà ngời quản trị
đã tạo sẵn, số lợng câu hỏi, thời gian thi của mỗi đề thi do ngời quản trị ấn
định, mỗi câu hỏi các phơng án trả lời, thí sinh đọc câu hỏi và chọn phơng ántrả lời Khi thí sinh làm bài xong nếu còn thời gian thí sinh có thể quay lại sửalại các câu hỏi đã trả lời Khi hết thời gian thi hệ thống sẽ tự ra khỏi bài thi vàthông báo kết quả cho thí sinh
Trên thực tế thì hình thức thi trắc nghiệm có nhiều loại câu hỏi mà giáoviên có thể áp dụng để ra đề thi sao cho phù hợp với đối tợng học viên cũng
nh nội dung môn học Đối với hình thức thi trắc nghiệm mà một số trờng vàcác trung tâm đang áp dụng hiện nay thì có một số loại câu hỏi hay đợc dùng
nh sau:
+ Câu hỏi nhiều lựa chọn:
Đây là loại câu hỏi phổ biến nhất trong các loại câu hỏi đợc dùng chothi trắc nghiệm Nó có dạng nh sau:
[ Mệnh đề ] – [ Các chọn lựa ]
Ví dụ:
Trang 5Language is not D the private property of those who use it.
A: need B: requiredC: necessary D:nesessarily
+ Câu hỏi đúng sai:
Thông thờng loại câu hỏi này hay đợc dùng cho hình thức thi trắcnghiệm vấn đáp Nó có dạng:
[ Mệnh đề phát biểu] – [ Lựa chọn đúng sai]
+ Câu hỏi điền:
Đây là loại câu hỏi dạng “điền từ vào chỗ trống”, tức là cho một câuhay một đoạn văn bản trong đó chứa một số chỗ trống (cắt bỏ nội dung) Khilàm bài thì điền các từ thích hợp với nội dung của đoạn văn bản vào các chỗtrống đó, các từ trong chỗ trống có thể là đã đợc cho sẵn hoặc có thể không
nó có dạng nh sau:
[ Một mệnh đề/ Một đoạn văn bản ] – [ Các lựa chọn điền ]
Ví dụ:
It is necessary we learn English, is the international language
The English language _ use to complete our highter _ Thestudents _want to _in science, economics, medicine, law…shouldshouldknow English, _most of the textbooks in these _ are written _English It also helps _ to improve our knowledge _we readnewspaper _ magazines _in English
Internet the field of international trade, the English language enables us totransact business _ businessmen from _ countries
+ Câu hỏi đối sánh:
Đây là loại câu hỏi ít đợc sử dụng hơn tuy nhiên đối với một số môn thìloại hình câu hỏi này lại tỏ ra có hiệu quả hơn nh các môn ngoại ngữ, văn học,
Nó có dạng:
…should
Trang 6[ Các mệnh đề ] – [ Các mệnh đề đối ]
Ví dụ:
Câu 1: Match a word in A with its opposite in B
+ Các dạng
Ngôn ngữ asp và cơ sở dữ liệu access
Hệ thống thông tin đợc hình thành sử dụng mô hình Client/Server, ngônngữ HTML và ASP thiết kế trang Web, chuẩn ADODB để kết nối cơ sở dữliệu, trình duyệt Internet Explorer Chúng ta lần lợt tìm hiểu từng đối tợng:
I giới thiệu mô hình client/server
1 Sự phát triển
Ngày nay mô hình Client/Server đợc sử dụng rộng rãi trong môi trờngphân tán, nguồn gốc của nó bắt nguồn từ hệ thống xử lý dựa trên máy chủ(Host – Terminal) Trong mô hình này, trình khách gửi yêu cầu đến trình chủ
xử lý và trả về kết quả để trình khách hiển thị Trình chủ trong các ứng dụngWeb đợc gọi là WebServer Trình khách thờng là browser (hay trình duyệt)máy chủ đảm đơng toàn bộ công việc xử lý đến logic trình bày Các Client chỉ
có nhiệm vụ hiển thị kết quả đã đợc định dạng từ máy chủ
Trang 7Trên máy Client cài bất cứ hệ điều hành nào miễn là có khả năng giao tiếp vớiServer Hệ thống mạng ở đây có thể là mạng cục bộ hay mạng diện rộng.
Client/Server cho phép một ứng dụng chia thành nhiều nhiệm vụ khácnhau Mỗi nhiệm vụ có thể thực hiện trên các môi trờng, hình thức khác nhau.Mỗi nhiệm vụ có thể phát triển và duy trì độc lập cũng nh thực hiện trên nhiềumáy tính khác nhau trên mạng
2.2 Tổ chức
Một hệ thống tổ chức theo mô hình Client/Server bao gồm ba thànhphần đó là: Client, Server và Mạng
Client: yêu cầu tối thiểu của Client là có khả năng phát ra yêu cầu tới
Server và hiển thị kết quả trả về từ Sever Nó có thể là trạm làm việc, máy tính
để bàn…should máy Client có thể chạy bất cứ hệ điều hành nào, nó không phụ thuộcvào hệ điều hành mạng
Client có thể tổ chức thực hiện công việc riêng của mình, xử lý dữ liệutrớc khi gửi đến Server hoặc dữ liệu từ Server trở về, tự nó điều độ các tàinguyên cục bộ của nó mà không ảnh hởng đến Server
Server: Vì Server thực hiện nhiều công việc nên nó phải là một máy đủ
mạnh nh khả năng bộ xử lý, không gian bộ nhớ, dung lợng đĩa cứng, độ tincậy cao…should máy Server còn phải có hệ điều hành thích hợp để chạy Tùy theoyêu cầu hệ thống mà lựa chọn yêu cầu phần mềm một cách hợp lý Nó có thể
là phần mềm quản trị cơ sở dữ liệu một phần hoặc toàn bộ phần mềm mạng…shouldServer cung cấp dữ liệu cho các Client khi có yêu cầu Đảm bảo hệ thống hoạt
động một cách hiệu quả, thông suốt tránh tình trạng tắc nghẽn, xung đột khi
có yêu cầu tới một Server khác Khi đó nó đóng vai trò một Client Nếu trên
hệ thống có nhiều Server mỗi Server có một chức năng nhất định, ngời ta phânServer ra làm 6 loại chức năng:
Application Server: Server này đóng vai trò Host trong các hệ
thống Host base processing
File Server: quản lý file của hệ thống.
Data Server: xử lý dữ liệu, tổ chức lu trữ dữ liệu, thực hiện truy
Trang 83 các thành phần của mô hình Client/Server
3.1 Giao diện Ngời dùng (User Interface):
Có chức năng tơng tác với ngời sử dụng, nh phát ra yêu cầu dữ liệu đốivới ngời sử dụng hoặc cách thức đón nhận dữ liệu từ ngời sử dụng, thành phầnnày tạo một giao diện đối với ngời sử dụng
3.2 Logic trình bày (Presentation Logic):
Là thành phần của ứng dụng đảm đơng trách nhiệm hiển thị, trình bàycác thành phần giao tiếp với ngời sử dụng nh định dạng màn hình, quản lý cáchộp thoại, các cửa sổ, đọc ghi các thông tin trên màn hình, phím, chuột,…should
3.3 Logic ứng dụng (Application Logic):
Đảm đơng việc thực thi ứng dụng nh đáp ứng các yêu cầu từ ngời sửdụng, quản lý các cơ sở dữ liệu…should Ngoài ra nó còn là cái cốt lõi của hệ thống
điều chỉnh các thành phần khác Thông thờng nó gồm hai thành phần: thao tácdữ liệu và xử lý dữ liệu
4 u nhợc điểm của mô hình Client/Server
4.1 Ưu điểm:
Mô hình Client/Server tạo khả năng mềm dẻo trong quan hệ giữa Client
và Server Client có thể đảm đơng một số nhiệm vụ thay cho Server và Server
có thể phân phối tác vụ cho nó Điều này giảm bớt gánh nặng cho Server, tậndụng khả năng của Client Nh vậy chi phí cũng giảm đáng kể
Client mở ra khả năng sử dụng tài nguyên dùng chung trên mạng nhphần mềm, máy in,…should các tài nguyên trớc đây chỉ nằm trên một hệ thống do
đó chỉ đợc khai thác trực tiếp trên Host đó Nay nó đợc cấp phát cho cácnhiệm vụ, các trạm làm việc cùng các Server khác trong hệ thống
Client/Server cho phép phối hợp quản lý, tập trung và không tập trung.Các chức năng có thể bị phân tán trên các nút khác nhau do đó làm tăng tính
an toàn của hệ thống cũng nh khả năng tải qua trên một Server
Cho phép dùng giao diện đồ hoạ trên các trạm giúp cho việc sử dụng dễdàng hơn Các ứng dụng đợc phát triển nhanh, dễ đợc ngời dùng chấp nhận
Trang 9Các ứng dụng phân tán, phân chia các nhiệm vụ phức tạp hơn nhiều sovới ứng dụng không phân tán.
Môi trờng có nhiều ngời sử dụng đòi hỏi các cơ chế bảo mật dữ liệu,cần phải có hiểu biết và phơng pháp kỹ thuật mới có thể giải quyết vấn đề mộtcách tối u
II các công cụ cài đặt
1 ngôn ngữ HTMl
Ngôn ngữ HTML (Hyper Text Markup Language) là ngôn ngữ địnhdạng và đánh dấu các văn bản HTML sử dụng các thẻ (tag) để định dạng.Trong HTML, mỗi tag đợc bắt đầu và kết thúc bởi cặp “</>” Sắp đặt thông tintrên mặt văn bản
1.1 Các thành phần của một tài liệu HTML
Cấu trúc tổng quát của một tài liệu HTML:
a) Phần đầu văn bản: đợc mở đầu bằng thẻ <HTML> kết thúc bằng thẻ </
HTML> Thông tin duy nhất trong phần đầu đợc trình duyệt Web hiểnthị là tiêu đề của văn bản
b) Phần thân văn bản: đợc bắt đầu bởi thẻ <BODY> và kết thúc bởi thẻ </
BODY>, là phần chứa nội dung chính của văn bản
1.2 Thuộc tính liên kết của HTML:
Trang 10<a> Thiết lập mối liên kết tới một trang Web với một file bất kỳ, hoặc
có thể liên kết cùng một trang Thẻ này không thể dùng một mình mà phải đikèm theo địa chỉ mà tài liệu muốn liên kết <a href= address>
b) Chèn một số đối tợng:
<IMG SRC= “filename”> Chèn hình ảnh vào trang Web, file xác định trêntập tin ảnh để trình duyệt có thể mở tập tin và hiển thị (tập tin ảnh đợc lu trữ ởdạng GIF hoặc JPG)
<COMMENT>Tạo chú thích, tạo cùng trống trong trang HTML có nộidung không hiển thị lên trang Web
<MARQUEE> Tạo hiệu ứng cho chữ chạy </ MARQUEE>
<BODY BACKGROUND> Cho phép tạo tập tin ảnh làm nền cho trang Web
<IMG SRC= “?”> Nguồn ảnh
<IMG ALIGN= “?”>
Trớc khi đa hình ảnh lên trang Web, cần phải xác định tên của tập tinhình ảnh và nơi lu trữ trên máy chủ để hớng trình duyệt tìm đúng ảnh cần sửdụng
1.3 Các đặc trng của ngôn ngữ HTML:
Ngôn ngữ HTML cung cấp các công cụ thuận lợi để xây dựng mộttrang Web:
Sử dụng các Form cho phép xem, sửa, nhập, xoá dữ liệu
Sử dụng liên kết để truy vấn dữ liệu
Kết hợp kết quả truy vấn đợc với thẻ HTML để tạo trang hiển thịtheo ý muốn
Tạo các nút Submit để gọi đến các trang khác, nhằm thực thi cácyêu cầu
Truy vấn đến các thành phần điều khiển động của Web nh cácnút điều khiển, các ô chọn
Cho phép chèn các đoạn mã để thi hành các chức năng
2 ngôn ngữ asp
2.1 Giới thiệu Active Server Page (ASP):
Active Server Page (ASP) là môi trờng kịch bản trên máy chủ (Server– Side Scripting Enviroment) 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ínhnăng phong phú, khả năng hỗ trợ VBScript, lẫn JavaScript cùng một số thành
Trang 11phầ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.
Các ứng dụng ASP có thể làm việc với bất kỳ cơ sở dữ liệu nào tơngthích với ADODC nh SQL, Access, Oracle…should đồng thời rất dễ viết và sửa đổi.Hơn nữa nó có thể tích hợp với các công nghệ có sẵn của Microsoft nh COM, một cách dễ dàng
…should
a) Trang ASP:
Mỗi trang ASP có thể bao gồm một trong các thành phần sau:
HTML, Script của ngôn ngữ VBScript hoặc JavaScript, Text trong đócác tag HTML sẽ đợc xử lý bình thờng nh đối với các văn bản HTML thôngthờng, các Script sẽ đợc một bộ phận (engine) của ASP thông dịch và thi hànhtrên Server Có thể xem trang ASP nh một trang HTML có bổ sung các ASPScript Command
Trong các HTML, mỗi trang đợc bắt đầu và kết thúc bởi cặp “</>”,ASP cũng tơng tự nh vậy Để đánh dấu nơi nào ASP Script bắt đầu và kết thúccũng dùng cặp lệnh “<%>”
Các đoạn ASP Script có thể xuất hiện ở mọi nơi trong trang HTML,ASP & HTML có sự gắn bó chặt chẽ với nhau Với ASP ta có thể chèn cácScript thực thi đợc vào trực tiếp các file HTML Khi đó việc tạo ra trangHTML và xử lý script trở nên đồng thời, điều này cho phép tạo ra các tơng táccủa Website một cách linh hoạt, uyển chuyển, có thể chèn các thành phầnHTML động vào các trang Web tuỳ vào từng trờng hợp cụ thể
b) Hoạt động của trang ASP:
Các ASP Script thông thờng chỉ chạy trên các Server cài IIS (InternetInformation Server) Quy trình nh sau: khi một User thông qua trình duyệtWeb gửi yêu cầu tới một file.asp ở Server thì Script chứa trong file đó sẽ đợcchạy trên Server và trả kết quả về cho browser đó Khi Web Server nhận đợcyêu cầu tới một file.asp thì nó sẽ đọc từ đầu tới cuối file.asp đó, thực hiện cáclệnh Script trong đó và trả kết quả về cho Web browser là một trang HTML
Do môi trờng hoạt động là mạng nên một Script ASP khi đợc viết ra có thể sửdụng đợc ở mọi nơi, không cần trình biên dịch hay kết nối Các ASP Script đ-
ợc viết dựa trên các ngôn ngữ hớng đối tợng nên rất tiện lợi, sẵn có các Object
đi kèm nh: Request, Response, Application, Server, Session Tận dụng đợc cácActiveX components nh: Database Access, Content linking, CollaborationData Object, Browser Capabilities, File Adccess…should Hơn nữa nó cũng có thể
Trang 12tận dụng đợc Components từ các nhà phân phối khác, cung cấp dới dạngfile.dll.
Hoạt động của trang ASP so với hoạt động của trang HTML có thể đợcminh hoạ thông qua hình sau:
c) Sơ đồ một ứng dụng trên Web ASP:
Trang 13Web 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êucầu truy nhập dữ liệu của trang ASP ADO cung cấp giao diện lập trình chongời phát triển xây dựng các lệnh truy cập cơ sở dữ liệu, các lệnh này đợcchuyển đến cho hệ DBMS để thực thi thông qua các thành phần OLEDB (vàODBC) Kết quả truy vấn dữ liệu sẽ đợc Web Server đa ra và hiển thị trênbrowser
Database Server: nơi diễn ra việc thực thi các thao tác cơ sở dữ liệu nh
truy vấn, cập nhật 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 dùng, tiếp nhận các yêu cầu của ngời sử
dụng cũng nh hiển thị kết quả yêu cầu
Quy trình nh sau: Khi một User thông qua Web Browser gửi yêu cầu tớimột file.asp ở Server thì Script chứa trong file sẽ đợc chạy trên Server và trảkết quả về cho Browser đó
Khi Web Server nhận đợc yêu cầu tới một file.asp thì nó sẽ đọc từ đầutới cuối file.asp đó, thực hiện các lệnh Script trong đó và trả kết quả về choWeb Browser là một trang HTML
2.2 Đặc điểm của ASP:
Tạo nội dung động cho trang Web
Nhận yêu cầu vấn tin hoặc dữ liệu gửi đến từ ngời sử dụng quaforrm
Truy cập cơ sở dữ liệu và truy vấn tin cho ngời sử dụng
Tuỳ biến nội dung trang theo đối tợng ngời sử dụng
Dễ dùng và nhanh hơn CGI, Perl
Trang 14Các file.asp tơng thích với file HTML và việc viết các Script đơn giản,không phải biên dịch hay liên kết nh việc lập trình thông thờng ASP cung cấpcác đối tợng tiện lợi cho nhiều thao tác nh: Request, Response, Server,Application, Sesssion Các đối tợng có sẵn này của môi trờng ASP sẽ giúp choviệc giao tiếp dữ liệu giữa Client và Server thực sự tiện lợi, cũng nh việc quản
lý ứng dụng một cách linh hoạt nhờ vào các biến Session, Application
Trang 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:
o Văn bản (Text)
o Các HTML tag
o Các Script, mỗi Script sẽ thực hiện một công việc nào đó, giống
nh các phát biểu của một ngôn ngữ lập trình Một Script là mộtchuỗi các lệnh Script, nó có thể là:
+ Một phép gán giá trị cho một biến+ Một yêu cầu Web Server gửi thông tin đến Browser
+ Tổ hợp các lệnh riêng rẽ thành một thủ tục hay một hàm giống
nh trong các ngôn ngữ lập trình
Việc thi hành một Script là một quá trình gửi chuỗi lệnh tới ScriptingEngine Tại đây ASP sẽ thông dịch các lệnh này và chuyển tiếp cho máy tính.Script đợc viết bằng một ngôn ngữ với các luật đợc đặc tả nào đó Trong ASPcung cấp hai Script Engine là VBScript, và Jscipt Tuy nhiên ASP không phải
là ngôn ngữ Script mà nó chỉ cung cấp một môi trờng nào đó để xử lý cácScript mà ta chèn vào trong các file.asp Việc chèn này phải tuân theo một cúpháp nhất định của ASP VBScript là ngôn ngữ mặc định của ASP nếu muốn
sử dụng ngôn ngữ khác thì chúng ta cần phải định nghĩa ngôn ngữ Tại đầutrang thêm dòng: <%@LANGUAGE=tên ngôn ngữ%>
Cú pháp: Lựa chọn Script đợc đặt ngay tại dòng đầu file:
<%@LANGUAGE= “VBSCRIPT”%>
<%@LANGUAGE= “JSCRIPT”%>
Trang 152.4 Các đối tợng (Object) trong ASP:
Khi viết các Script ta thờng có nhu cầu thực hiện một số tác vụ nào đótheo một quy tắc cơ bản nào đó Khi đó thờng xuất hiện những công việc lặp
đi lặp lại nhiều lần, từ đó xuất hiện nhu cầu tạo ra các đối tợng có khả năngthực hiện những công việc cơ bản nào đó Mỗi đối tợng là một kết hợp giữalập trình và dữ liệu mà có thể xử lý nh một đơn vị thống nhất
Đối với phần lớn các đối tợng, để sử dụng đợc nó ta phải tạo ra cácInstance cho nó Tuy nhiên ASP có sẵn 5 đối tợng ta có thể dùng đợc màkhông cần phải tạo các instance Chúng đợc gọi là các build-in object, baogồm:
Request: là đối tợng chứa các thông tin ở Web browser gửi yêu cầu tới
Web Server
Response: là chìa khoá để gửi thông tin tới user, là đại diện cho phần
thông tin do Server trả về cho Web Browser
Server: là môi trờng máy Server nơi ASP đang chạy, chứa các thông tin
và tác vụ về hệ thống
Application: Đại diện cho ứng dụng Web của ASP, chứa Script hiện
hành
Session: là một biến đại diện cho ngời sử dụng.
Database Access: một trong những tài sản lớn nhất mà ASP có đợc là
khả năng thâm nhập vào các cơ sở dữ liệu ASP thờng làm việc với haingời đồng nghiệp là Access và hệ quản trị cơ sở dữ liệu SQL Server
a) Đối tợng Request:
Định nghĩa: Với đối tợng Request, các ứng dụng ASP có thể lấy dễ
dàng các thông tin gửi tới từ user
Cú pháp tổng quát: Request.(CollectionName)(Variable)
Đối tợng Request: có 5 Collection:
Client Certificate: Nhận Certification Fields từ Request của Web
Browser Nếu Web Browser sử dụng http:// để connect với Server,Browser sẽ gửi certification fields
Query String: Nhận giá trị của các biến trong HTML query
string Đây là giá trị đợc gởi lên theo sau dấu chấm hỏi (?) trongHTML Request
Form: Nhận các giá trị của các phần tử trên form sử dụng phơng
thức POST
Trang 16 Coookies: Cho phép nhận những giá trị của cookies trong một
Collection của đối tợng Response:
Cookies: Xác định giá trị biến Cookies Nếu Cookies đợc chỉ ra không
tồn tại, nó sẽ đợc tạo ra Nếu nó tồn tại thì nó đợc nhận giá trị mới
Các Properties:
Buffer: chỉ ra trang Web output đợc giữ lại đệm buffer hay không.
ContentType: Chỉ ra HTML ContentType cho Response
Expires: Chỉ định số thời gian trớc khi một trang đợc cache trên một
BinaryWrite: Xuất thông tin ra output HTML dạng binary.
Clear: Xoá đệm output HTML.
End: Dừng xử lý file.asp và trả về kết quả hiện tại.
Flush: Gởi thông tin trong buffer cho Client.
Redirect: Gởi một thông báo cho Browser định hớng lại đến một URL
khác
Write: Ghi một biến ra HTML output nh là một chuỗi.
c) Đối tợng Session:
Định nghĩa: Chúng ta có thể sử dụng một Object Session để lu trữ
thông tin cần thiết cho một user Những biến đợc lu trữ trong Object vẫn tồntại khi user nhảy từ trang này sang trang khác trong ứng dụng Web Server tự
động tạo Object Session khi user cha có Session yêu cầu một trang Web Khi
Trang 17Session này kết thúc thì các biến trong nó đợc xoá để giải phóng tài nguyên.Các biến Session có tầm vực trong Session đó mà thôi.
Cú pháp tổng quát: Session.property|method
Các Properties:
SessionID: Trả về SessionID cho user Mỗi Session sẽ đợc Server cho
một số định danh duy nhất khi nó đợc tạo ra
Timeout: Khoảng thời gian tồn tại của Session, tính bằng phút.
Các Methods:
Abandon: Xoá bỏ một Object Session, trả lại tài nguyên cho hệ thống.
d) Đố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ì boApplication đợc dùng chung bởi nhiều ngời sử dụng, do đó Object có 2method Lock và Unlock để cấm không cho nhiều user đồng thời thay đổiproperty của Object này, các biến Application là toàn cục, có tác dụng trêntoàn ứng dụng
Cú pháp tổng quát: Application.Method
Các Methods:
Lock: Phơng pháp này cấm không cho Client khác thay đổi property
của đối tợng Application
Unlock: Phơng pháp này cho phép Client khác thay đổi property của đối
tợng Application
Events: Gồm có hai event đợc khai báo trong file Global.asa.
Application_OnStart: Xảy ra khi khởi động ứng dụng
Application_OnEnd: Xảy ra khi ứng dụng đóng, hay ServerShutdown
CreatObject: Tạo một instance của Server component.
HTMLEncode: Mã hoá một chuỗi theo dạng HTML.
Trang 18MapPath: á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)
URLEncode: Mã hoá một chuỗi (kể cả ký tự Escape) theo quy tắc mã
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 racác chi tiết về bảo mật khi tạo Recordset
Ví dụ: Giả sử ta có UserID là Ninh, Password là 12345 thì chúng ta có
thể truyền các thông tin này nh sau:
Dim oRSp
Set oRSp=Server.CreatObject(“ADODB.Recorset”)
oRSp.Open=”People”,”DSN=Contacts;uid=Ninh;pwd=12345”
Trong đó:
- Dòng đầu tiên khai báo một biến tên là oRSp
- 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 Recordsettrong th viện ADODB Quá trình này gọi là thực thể hoá Công việc đợcthực hiện nhờ phơng thức CreatObject 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 có thể hoàn toàn 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ấtdữ liệu Lu ý về cú pháp: chúng ta gọi phơng thức Open của đối tợngoRSp, do đó chúng ta ghi là oRSp.Open Để thực thi tác vụ, Open cầnhai 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ủaRecordset và tên trờng nh sau:
Trang 19Lệnh này sẽ trả về dữ liệu trong trờng PeopleNameFirst của mẩu tinhiệ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
Đ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ụ nhkhi 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êntrang 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ã lệnh trên lu dữ liệu vào biến sau này sử dụng
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ểuthức ví dụ với đoạn mã dới đây:
if oRSp (“anss(i)=rs("answer") then
correct_ans=correct_ans+1
endif
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:
Varmcauhoi=Left(oRSp(“mcauhoi”,1))
3 access
3.1 Khái niệm về cơ sở dữ liệu (CSDL):
CSDL là tập hợp những số liệu liên quan đến một chủ đề hay một mục
đích quản lý khai thác nào đó trong CSDL ngoài các Table chứa những số liệucòn có những “vật dụng” giúp ta quản lý và khai thác số liệu, đó là nhữngQuery (bảng truy vấn), những Form (mẫu biểu), những Report (bảng biểu),những Macro (lệnh ngầm) và những Module (đơn thể lập trình)
3.2 Microsoft Access:
Là một hệ quản trị cơ sở dữ liệu (Database Management System gọi tắt
là DBMS) giúp ta quản lý bảo trì và khai thác số liệu đợc lu trữ một cách có tổchức bên trong máy tính
Trang 204 ngôn ngữ truy vẫn dữ liệu sql
4.1 Những đặc trng của ngôn ngữ SQL:
SQL là ngôn ngữ quản lý CSDL điển hình, SQL là ngôn ngữ đơn giảnnhng lại rất hiệu quả Hơn nữa sự phát triển nhanh chóng của nhu cầu xâydựng những CSDL lớn theo mô hình Client/Server ngôn ngữ SQL càng phổbiến Trong mô hình Client/Server, toàn bộ cơ sở dữ liệu đợc tập trung trênmáy chủ (Server) Mọi thao tác xử lý dữ liệu đợc thực hiện trên máy chủ bằngcác lệnh SQL Máy trạm (Client) chỉ dùng để cập nhật dữ liệu cho máy chủhoặc lấy thông tin từ máy chủ SQL đợc sử dụng để nhanh chóng tạo ra cáctrang Web động (Dynamic Web Pages) Kết dính giữa cơ sở dữ liệu và trangWeb Khi ngời dùng yêu cầu, SQL sẽ thực hiện việc truy cập thông tin trongcơ sở dữ liệu trên máy chủ và hiển thị làm việc kết quả trên trang Web, SQLcũng là công cụ để cập nhật thông tin cho CSDL SQL chỉ làm việc với nhữngdữ liệu có cấu trúc bảng (Table) nh Foxpro, Access SQL phân tích, xử lýthông tin, sửa đổi cấu trúc của bảng Đặc điểm nổi bật của SQL là cho phépnhiều ngời truy cập đồng thời SQL sử dụng Query (câu hỏi truy vấn) mỗiQuery là một câu lệnh SQL đợc xây dựng hoàn chỉnh và có thể ghi lại đểmang ra sử dụng bất cứ lúc nào SQL có khả năng đáp ứng hầu hết các yêucầu đối với việc cập nhật, phân tích dữ liệu từ các bảng, và có thể nối mộtCSDL khác sang SQL thông qua ODBC Một số công cụ chính của SQL:
Cập nhật, xoá các bản ghi trên toàn bảng theo những điều kiệnkhác nhau
Kết nối dữ liệu trên máy chủ (Server) Khi dữ liệu đợc tập trungtrên máy chúng ta phải dùng lệnh SQL để xâm nhập vào bêntrong máy
Kết hợp các trang Web với CSDL bằng lệnh SQL Tất cả cácchức năng của SQL đều có thể thực hiện bằng các công cụ khácnhau của phần mềm có sử dụng SQL
Câu lệnh đơn giản, dễ nhớ, dễ sử dụng và rất ngắn gọn
Khả năng thực hiện những yêu cầu phức tạp của công việc…should
4.2 Dạng lệnh của ngôn ngữ truy vấn dữ liệu:
Trang 21[Where Biểu_ thức _điều _kiện]
c) Truy vấn dữ liệu:
Cú pháp:
Select [*Distinet] Danh_ sách _tham _chiếu
From danh_ sách _tên _bảng/Tên_các_view
[Where Biểu_ thức_ điều_ kiện]
[Group by Danh_ sách_ các_ cột]
[Having Biểu_ thức_ điều_ kiện]
[Order by { Tên_ trờng/Số_ thứ _ tự_ trờng/Biểu_ thức}]
d) Sửa đổi dữ liệu:
Trên thực tế thì đối tợng Connection sẽ cung cấp sự kết nối giữa ADO
và một cơ sở dữ liệu nào đó Thông thờng nó chứa ba thông tin sau:
- 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
Trang 225.1 Kết nối tới Database bằng cách sử dụng DSN – Connection to
Database with DSN.
Để tạo đợc kết nối này ngời ta thực hiện các bớc sau:
- Tạo một cơ sở dữ liệu Access và đặt DSN cho nó
- Tạo một đối tợng kết nối
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”)