Lập trình internet với active server pages (asp)

Để dễ dàng cho việc giải thích các khái niệm về cơ sở dữ liệu , trước hết ta xem xét hệ thống hồ sơ thông tin của học sinh. Dữ liệu lưu trữ trong máy tính bao gồm các thông tin về lý lịch học sinh, điểm học tập, Mọi thông tin về mối quan hệ này được biểu diễn trong máy tính thông qua việc đăng ký nhập học của học sinh. Vậy làm thế nào để biểu diễn đựơc dữ liệu đó và để đảm bảo cho học sinh có học bạ sau khi học. Tập hợp các dữ liệu trên được lưu trữ trong máy tính theo một quy định nào đó và được gọi là cơ sở dữ liệu (Database – CSDL). b - Hệ quản trị cơ sở dữ liệu. - Định nghĩa: Phần chương trình có thể xử lý, thay đổi dữ liệu gọi là hệ quản trị cơ sở dữ liệu (Database management System – DBMS). - Những khả năng của hệ quản trị cơ sở dữ liệu: Có hai đặc tính để

doc81 trang | Chia sẻ: DUng Lona | Lượt xem: 1276 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Lập trình internet với active server pages (asp), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
duy nhất dưới sự kiểm soát của công ty bạn và không xung đột với namespace của bất kỳ ai khác. Mặc định của đặc tính này Mặc định là OK để kiểm tra các dịch vụ web, nhưng không nên dùng để tạo các dịch vụ web. Lưu ý rằng thuộc tính webservice không được yêu cầu cho một lớp để thi hành một dịch vụ web. Nó chỉ cung cấp cách để xác định các đặc tính đã cho của dịch vụ web. Thuộc tính WebMethod Thuộc tính WebMethod (đó là, lớp WebMethodAttribute, được định nghĩa trong namespace System.Web.Serices) xác định một phương pháp khi đang là một phương pháp web. Khi bộ khung ASP tìm thấy phương pháp này trong một lớp đang được dùng như một dịch vụ web, nó bao quanh phần nối kết cần thiết để trình bày phương pháp như thành phần của dịch vụ web. Những đặc tính có thể được thiết lập cho thuộc tính WebMethod Là: BufferRespone Xác định bộ đệm đáp ứng máy khách trong khi nó đang được xây dựng. Kiều là Boolean. Mặc định là True. CaheDuration Xác định những đáp ứng được lưu và chúng được lưu bao lâu (theo giây). Kiều là Ineger. Một giá trị là 0 (mặc định) xác định bằng những đáp ứng không được lưu. Description Xác định một sự mô tả về phương pháp web. Những công cụ có thể truy lục sự mô tả này và hiển thị nó cho những người dùng tiềm năng. Kiểu là String. Mặc định là một chuỗi rỗng. EnableSession Xác địn trạng thái phiên là có thể dành cho dịch vụ web. Kiểu là Boolean. Mặc định là False MessageName Xác định tên của phương pháp dịch vụ web. Kiểu là String. Mặc định là tên của phương pháp khi nó xuất hiện trong lớp thi hành. TransactionOpion. Xác định cách phương pháp web tham gia vào giao tác. Kiểu là TransactionOption (được định nghĩa trong namespace System.EnterpriseServices). Mặc định là Disabled. Lớp WebService Để đạt được sự truy cập đến các đối tượng môi trường của bộ khung ASP, một lớp dịch vụ web có thể thừa kế từ lớp WebService ( được định nghĩa trong namespace System.Web.Services). Sự thực thi này làm cho lớp dịch vụ web thừa kế năm đặc tính: Application Đây là một đối tượng có thể được dùng để chứa các trạng thái ứng dụng. Cotext Đây là ngữ cảnh của yêu cầu dịch vụ web. Nó là một trường hợp của lớp HttpContext (được định nghĩa trong namespace System.Web). Đối tượng này chứa các tham chiếu tới các mục thông tin khác nhau liên qua đến yêu cầu dịch vụ web hiện thời. Server Đây là một đối tượng chứa thông tin về máy chủ web. Session Đây là một đối tượng có thể được dùng để chứa trạng thái phiên. User Nếu sự thẩm định quyền Windows được dùng để xác nhận máy khách dịch vụ web, đặc tính User tham chiếu một đối tượng chứa thông tin về người dùng. Kiểu của đặc tính này là Iprincipal. 3 - Những mô tả dịch vụ web Web Service Description Language (WSDL)-Ngôn ngữ mô tả dịch vụ web là một đặc tả để mã hoá sự xác định của một dịch vụ web như một tài liệu XML. Điều này tương tự cung cấp thông tin kiểu cho các thành phần mềm COM truyền thống. Một sự mô tả dịch vụ web xác định tên là URL của một dịch vụ web, các phương pháp web mà có sẵn từ dịch vụ đó, những tên gọi và những kiểu tham số của phương pháp, và những kiểu trả về của phương pháp. ASP tự động sinh ra các tài liệu WSDL cho các dịch vụ web mà nó làm chủ. Tài liệu này có thể được nhìn thấy bằng cách nhắp “Service Description” được nối kết. Một phần của tài liệu này dành cho dịch vụ HelloWebService Như bạn có thể thấy các tài liệu WSDL được dùng nhiều hơn cho các công cụ mà có thể đọc nội dung của nó hơn là nó dành cho con người. Như đã giới thiệu trong phần tiếp theo, các tài liệu WSDL được các công cụ máy khách sử dụng để sinh ra mã mà biết cách “nói chuyện” với dịch vụ web đã cho. 4 - Sử dụng một dịch vụ Web trong Notepad. Để sử dụng dịch vụ web từ một dự án mà không phát triển trong IDE của Visual Studio, sử dụng công cụ dòng lệnh wsdl.exe để tạo ra một lớp proxy đóng gói dịch vụ web. Công cụ wsdl.exe giữ như một đối số URL của một tài liệu mô tả dịch vụ web. Khi sử dụng các dịch vụ do asp làm chủ, tài liệu mô tả dịch vụ web đạt được bằng cách viết thêm ?wsdl cho đường dẫn của dịch v ụ web, như đã trình bày. Đầu ra của công cụ wsdl.exe Là một file mã nguồn chứa về một lớp proxy biết cách truy cập dịch vụ web được mô tả. Nguồn các điều khiển ngắt chuyển /language Của công cụ wsdl.exe được viết bằng Visual Basic.net Hoặc bằng C# Tên của lớp trong mã nguồn được sinh ra giống như tên của dịch vụ. Lưu ý rằng mã máy khách đơn giản đưa ra lớp proxy và gọi phương pháp SayHello của nó. Cuối cùng, biên dịch lớp proxy và mã máy khách cùng với nhau 5 - Những giới hạn của dịch vụ web. Bộ khung ASP làm nó dễ dàng trình bày và sử dụng dịch vụ web để nó dễ dàng quên sự việc liên lạc sắp đặt giữa máy khách và máy chủ. Bởi vì các dịch vụ web được xây dựng dựa trên các giao thức SOAP, những khả năng của chúng bị giới hạn theo các khả năng của SOAP. Những điểm quan trọng nhất cần nhớ là: Không có cơ chế callback Đối với các dịch vụ web gọi trở lại máy khách, máy khách phải sử lý những yêu cầu HTTP mới đến. Gần như không có hệ thống máy khách được định cấu hình như vậy, vì thế nói chung những callback không phải là lựa một lựa chọn. Nếu một hệ thống callback chắc chắn được yêu cầu, nó có thể bị làm giả bằng cách viết các phương pháp trong máy khách và máy chủ cho phép các thành phần máy khách thăm dò định kỳ máy chủ đề quyết định nếu các sự kiện đã xuất hiện. Không có những giao tác thông qua Web Hiện tại, giao thức SOAP không cung cấp bất kỳ hỗ trợ giao tác nào. Một phương pháp dịch vụ web có thể bắt đầu một giao tác mới, và các nguồn cục bộ sẽ tham gia vào giao tác, nhưng một dịch vụ web không thể tham gia vào một giao tác đang tồn tại. Những ngoại lệ bị trở lại khi SOAP bị lỗi Khi có một số lỗi khi đang xử lý một lệnh gọi dịch vụ web, dịch vụ web phản ứng lại với lỗi một SOAP. Nếu máy khách dịch vụ web được thi hành trên nền .NET, máy khách nhận được một ngoại lệ SoapException (được định nghĩa trong Namespace System.Web.Service.Protocols) thậm chí nếu cả máy chủ không được đưa ra như cùng ngoại lệ trên máy khách. Sự thực hiện là một vấn đề Có một tổng phí kết hợp với chức năng biểu thị gọi là XML. Tổng phí này là một điều không muốn nhưng phải chấp nhận khi liên lạc trên Internet Thông qua các Firewall(bức tường lửa) mạng. Tuy nhiên, các dịch vụ web không phải là một sự lựa chọn tốt đối với sự liên lạc giữa các thành phần giao nhau khi các thành phần đang chạy trên cùng một máy hoặc thậm chí web không mang lại lợi ích gì trong những kịch bản này. Chương II lập trình Internet với active server pages (asp) I – giới thiệu chung về active server pages Internet đã đưa nền công nghệ thông tin của thế giới bước vào một trang sử mới. Các trang web cũng đã thực sự làm rạng rỡ kỷ nguyên thông tin bằng sức mạnh của nó. Với HTML là ngôn ngữ căn bản của mình, Web đã hiển thị và truyền tải được các văn bản, âm thanh và hình ảnh qua Internet, tuy nhiên HTML chỉ đơn giản mô tả cách thức văn bản, đồ hoạ và những dữ liệu khác hiện thị trên màn hình web mà không mô tả bản thân dữ liệu và cũng không tiện dụng trong việc định vị, sửa đổi tài liệu. Bản thân HTML là tĩnh vì thế khi một trang web đã được đưa lên Internet nó phải được sửa đổi, bổ xung ngoại tuyến và nạp lại thì mới có hiệu lực. Đó chính là những mặt hạn chế của HTML bởi vì sức mạnh tối thượng của web chính khả năng chuyển thông tin mới cho khách hàng gần như theo thời gian thực và có khả năng tuỳ biến thông tin đó cho phù hợp với từng người, trong thế giới của Web , khả năng đó còn được gọi là khả năng cá biệt hoá. Với các trang Web động các nhà quản trị và thiết kế Website chỉ cần tạo trang Web một lần, đó là một trang mẫu chung, sau đó Server sẽ đổ dữ liệu chuyên biệt vào trang mẫu chung và tạo các trang chuyên biệt theo từng yêu cầu. Microsoft đã đưa ra một ngôn ngữ mới giúp cho việc lập trình máy chủ và tạo ra các Web động một cách hiệu quả đó là ASP (Active Server Pages). ASP sẽ giúp cho các nhà thiết kế và nhà quản trị có thể tạo ra các Website có các trang Web động đa năng và mạnh mẽ. II – giới thiệu về Internet information Server (iis). 1 - Thế nào là IIS. Microsoft Internet information Server là một ứng dụng Server chuyển giao thông tin (information) bằng việc sử dụng phương thức chuyển giao siêu văn bản – Hypertext Transpost Protocol (HTTP). 2 - Cơ chế hoạt động của IIS. Web, về cơ bản thực sự là một hệ thống các yêu cầu (requests) và trả lời (responses). Internet Information Server phản hồi lại các yêu cầu đòi thông tin của Web browser. Internet Information Server lắng nghe các yêu cầu đó từ phía users trên một mạng sử dụng dịch vụ WWW. 3 - ứng dụng dụng của IIS. Các khả năng sáng tạo củ bạn trên IIS là không bao giờ hết, một vài khả năng quen thuộc là: -Xuất bản một homepage 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 đơn đặt hàng từ người tiêu dùng). -Cho phép người ở xa có thể truy xuất database của bạn ( gọi là Database remote access). -Và còn rất nhiều khả năng khác IiI – lập trình với asp. 1 - ASP là gì: ASP ( Active Server Pages) là một môi trường lập trình cung cấp cho việc kết hợp HTML, ngôn ngữ kịch bản (scripting) như JavaScript và Vbscript, và các thành phần (components) được viết trong các ngôn ngữ khác nhằm tạo ra một ứng dụng Internet mạnh mẽ và hoàn chỉnh có khả năng bảo mật cao chạy trên Server. 2 - ASP file là gì: File được tạo với Active Server Pages có phần mở rộng là .ASP . Trong file này bạn có thể kết hợp các thẻ (tag) HTML, các kịch bản như JavaScript và Vbscript, cũng như các components(như các DDL và Active X control) lưu ý rằng chỉ là các lời gọi tới component mà thôi, và các components này đã được tạo trước. Các script của ASP được nằm trong các cặp thẻ . Khi thay đổi, sửa các file ASP trên Server ta chỉ cần ghi lại file trên Server mà thôi. Vào những lần sau khi trang ASP này được gọi, các script trong file ASP sẽ được tự động biên dịch lại. Tại sao lại như vậy?, là bởi vì công nghệ ASP được xây dựng trực tiếp vào bên trong Microsoft Web Server và cũng như thế trên toàn bộ Microsoft Web Server như là : Windows NT Internet Information Server (IIS) 3.0, Windows NT Workstation, và Windows 95 Personal Web Server . 3 - ASP làm vệc như thế nào. Khi kết hợp ASP vào trong một Website, ASP sẽ làm việc theo các tiến trình sau: -User ngồi ở máy trạm, mở trình duyệt ( brows) ví dụ như Internet Explorer hoặc Netscape Navigator rồi nhập địa chỉ tới nơi đặt tệp ASP trên máy chủ. -Trình duyệt của user bắt đầu yêu cầu các ASP file trên Server. -Các script trên Server bắt đầu chạy. -ASP sử lý các file được yêu cầu từ phía user một cách liên tục từ trên xuống dưới(top-down), thực thi các script chứa trong file ASP này rồi két xuất thành một trang Web HTML. -Trang HTML vừa được sản xuất ra sẽ được gửi tới trình duyệt của user tại máy trạm. Bởi vì các script chạy trên Server cho nên Web Server sẽ xử lý toàn bộ các tiến trình và trang HTML có thể được sản xuất và được gửi tới trình duyệt của user. Điều đó có nghĩa rằng trang Web của bạn bị hạn chế trong phạm vi những gì mà Web Server cung cấp. Một trong những ưu điểm của việc đặt các script của bạn trên Server là user sẽ không thể nhìn thấy source nguyên mẫu của bạn được. Thay vào đó user chỉ có thể nhìn được nội dung của file HTML đã được sản xuất. 4- Các kiểu dữ liệu và đối tượng trong ASP. a - Khai báo biến. Tuy rằng ASP không bắt buộc phải khai báo các biến trước khi sử dụng nhưng nếu lập trình viên cứ tuỳ tiện sử dụng biến thì sẽ dẫn đến tình trạng không kiểm soát nổi và khó bắt nỗi khi xây dựng ứng dụng lớn. Vì vậy nên sử dụng ở ngay đầu mỗi tệp ASP, câu lệnh này có nghĩa là mọi biến phải được khai báo trước khi sử dụng, nếu không khi duyệt sẽ sinh ra lỗi. Để khai báo biến ta dùng lệnh: Dim biến 1, biến 2 Việc khai báo biến chỉ đơn thuần như vậy(lưu ý không dùng cú pháp như trong visual basic là Dim as ví dụ Dim Hoten as String sẽ gây lỗi). Để khai báo kiểu biến mảng ta cũng dùng cú pháp dim ở trên ví dụ Dim a(10) sẽ tạo một mảng a có chỉ số từ 0 đến 10 nghĩa là a có 11 phần tử. Trong lập trình chuyên nghiệp, khuyến cáo rằng các lập trình viên nên sử dụng các tiền tố (prefix) trước tên các biến ví dụ như biến chứa họ tên kiểu string thì nên đặt là strHoten(tiền tố thì viết chữ thường). Bảng một số tiền tố cơ bản: Dạng dữ liệu Tiền tố (prefix) Boolean bln Byte byt Collection object col Currency cur Date-time dtm Double dbl Error err Interger int Long lng Object obj Single sng String str User-defined type udt Variant vnt ADO command cmd ADO connection cnn ADO field fld ADO parameter prm ADO recordset rst b - khai báo hằng số. Sử dụng lệnh CONST tên hằng = giá trị ví dụ Const Max = 100 c - Các đối tượng xây dựng sẵn trong ASP . Trong ASP đã xây dựng sẵn 5 đối tượng phục vụ cho việc sử dụng toàn bộ. Request – dùng để lấy thông tin từ user Response – dùng để gửi thông tin tới user Server – dùng để điều khiển Internet Information Server Session – dùng để lưu trữ các thông tin cũng như các cài đặt, thay đổi cho một phiên làm việc hiện thời của user. Application – dùng để chia sẻ các thông tin cấp ứng dụng(application-level Information) và điều khiển các thiết lập cho toàn bộ quá trình chạy của ứng dụng. Trong mỗi object ở trên bao gồm nhiều phương thức chứa trong nó. Ví dụ như Response object có phương thức Write dùng để in thông tin lên trình duyệt của user đồng thời nó còn có thêm phương thức End dùng để dừng toàn bộ các tiến trình đang được xử lý. 5- Các lệnh và hàm. a - các lệnh điều kiện. - Cấu trúc điều kiện IF THEN ELSE END IF. Cú pháp: <% IF THEN ELSE END IF %>. - Nếu điều kiện thoả mãn sẽ được thực thi nếu không sẽ được thực thi. - Ta có thể dùng cấu trúc IF lồng nhau <% IF THEN ELSE IF THEN ELSE END IF END IF %> - Hoặc có thể dùng cấu trúc IF THEN ELSEIF END IF <% IF THEN ELSEIF THEN ELSE END IF %> - Cấu trúc chọn Select Case End Select Trong trường hợp có nhiều điều kiện chọn ta có thể dùng cú pháp này <% select case case case case case else End Select %> b – Các cấu trúc lặp. - Cấu trúc lặp tuần tự FOR NEXT. Dùng để lặp với số lần đã biết, tuy nhiên có thể ngắt lệnh bằng EXIT FOR. Cú pháp như sau: <% FOR = TO STEP Các lệnh của chương trình ‘ Nừu muốn ngắt dùng lệnh EXIT FOR NEXT %> là tuỳ chọn, ngầm định là 1 - Cấu trúc lặp DO WHILE LOOP Cú pháp: <% DO WHILE các câu lệnh LOOP %> Chừng nào điều kiện còn đúng thì vòng lặp sẽ được thực hiện. Muốn gắt tại thời điểm bất kỳ dùng lệnh EXIT DO - Cấu trúc lặp WHILE WEND Cú pháp: <% WHILE Các câu lệnh WEND %> Chừng nào điều kiện còn đúng thì vòng lặp sẽ được thực hiện. - Cấu trúc lặp DO LOOP UNTIL Cú pháp: <% DO Các câu lệnh LOOP UNTIL %> Chừng nào điều kiện còn sai thì vòng lặp sẽ được thực hiện. c - Một số hàm hữu dụng trong ASP . - Hàm TRIM(xâu as string): Hàm sẽ bỏ hết các ký tự space ở hai phía của xâu, cả bên trái và bên phải. Ví dụ: <% x = “ Hello ” y = Trim(x) Response.Write y ‘ y sẽ nhận giá trị = “Hello” %> - Hàm LEFT(xâu as string, n as integer): Hàm sẽ lấy bên tráI xâu n ký tự. Ví dụ: <% x = “Hello World” y = Left(x,5) Response.Write y ‘y sẽ nhận giá trị = “Hello” %> - Hàm RIGHT(xâu as string, n as integer): Hàm sẽ lấy bên phảI xâu n ký tự. Ví dụ: <% x = “Hello World” y = Right(x,5) Response.Write y ‘y sẽ nhận giá trị = “World” %> - Hàm LCASE (xâu as string): Hàm sẽ chuyển xâu trên về chữ thường Ví dụ: <% x = “Hello World” y = lcase(x) Response.Write y ‘y sẽ nhận giá trị = “hello world” %> - Hàm UCASE (xâu as string): Hàm sẽ chuyển xâu trên về chữ hoa. Ví dụ: <% x = “Hello World” y = ucase(x) Response.Write y ‘y sẽ nhận giá trị = “HELLO WORLD” %> -Hàm MID ( xâu as string, n1, n2): Hàm sẽ lấy n2 ký tự trong xâu trên bắt đầu tại vị trí n1. Ví dụ: <% x = “Hello World” y = mid(x,3,2) Response.Write y ‘y sẽ nhận giá trị = “ll” %> Hàm CSTR(biến): Hàm sẽ chuển đổi (convert) giá trị của biến về kiểu string cho dù trước đó là kiểu gì đI nữa. Ví dụ: <% x = 100 y = sctr(x) Response.Write y ‘y sẽ nhận giá trị = “100” %> -Hàm SPLIT (xâu as string, ký tự ngăn cách): Hàm sẽ cắt xâu thành nhiều đoạn bằng cách xác định ký tự ngăn cách ở trên và cho các đoạn đó lần lượt vào một mảng. Ví dụ: <% x = “Hà nội ; HảI phòng ; HCM” y = split(x, “;”) Response.write y(0) ‘y(0) sẽ nhận giá trị = “Hà nội” %> -Hàm JOIN (mảng, ký tự ngăn cách): Ngược lại với hàm Split, hàm này sẽ nối toàn bộ các phần tử trong mảng và chèn thêm vào ký tự ngăn cách xen giữa các phần tử. Ví dụ: <% dim x(2) x(0)= “Hà nội” x(1)= “HảI phòng” x(2)= “HCM” y=join(x, “-“) Response.write y ‘y sẽ nhận giá trị= “Hà nội – HảI phòng – HCM” %> -Hàm SQR(n): Hàm khai căn bậc hai. Ví dụ: <% y=sqr(9) Response.write y ‘y sẽ = 3 %> - Hàm INT(n): Hàm lấy phần nguyên. Ví dụ: <% y=int(7.2368) Response.write y ‘y sẽ = 7 %> - Toán tử MOD: toán tử chia lấy phần dư cú pháp như sau: a mod b (lấy phần dư khi chia a cho b). Ví dụ: <% y=7 mod 2 Response.write y ‘y sẽ = 1 %> -Toán tử ( \) : toán tử chia lấy phần nguyên cú pháp như sau: a\b ( lấy phần nguyên khi chia a cho b). Ví dụ: <% y=7\2 Response.write y ‘y sẽ = 3 %> -Hàm ROUND (số, n): Hàm sẽ làm tròn số trên với n chữ số thập phân. Ví dụ: <% y=round(7.45673,2) Response.write y ‘y sẽ = 7.45 %> -Hàm RND(): hàm trả về một số ngẫu nhiên bất kỳ trong [0,1]. Ví dụ: <% y=rnd() Response.write y ‘y sẽ = 0.34526 %> -Hàm NOW(): Hàm trả về ngày tháng giờ hiện thời. Ví dụ: <% y=now() Response.write y ‘y sẽ = 02/08/2006 PM 14:30:15 %> -Hàm TIME(): Hàm trả về giờ hiện thời. Ví dụ: <% y=time() Response.write y ‘y sẽ = “PM 14:32:11” %> -Hàm DATE(): Hàm trả về ngày tháng hiện thời. Ví dụ: <% y=date() Response.write y ‘y sẽ = 02/08/2006 %> -Hàm WEEKDAY(ngày): Hàm trả về thứ trong tuần ứng với ngày đã cho: 1=chủ nhật, 2=thứ hai Ví dụ: <% y=weekday(date()) Response.write y ‘y sẽ = 4 (thứ tư) %> -Toán tử AND : thực hiện phép và giữa hai giá trị kiểu logic. Ví dụ: <% y=(7>2) and (5>4) Response.write y ‘y sẽ = true %> -Toán tử OR: Thực hiện phép hoặc giữa hai giá trị kiểu logic. Ví dụ: <% y=(6>8) or (5>8) Response.write y ‘y sẽ = false %> -Hàm LBOUND(mảng):Hàm trả về chỉ số nhỏ nhất của mảng. Ví dụ: <% dim y(10) Response.write lbound(y) ‘y sẽ = 0 %> -Hàm UBOUND(mảng): Hàm trả về chỉ số lớn nhất của mảng. Ví dụ: <% dim y(10) Response.write ubound(y) ‘y sẽ = 10 %> d – Khai báo thủ tục. - Khai báo thủ tục (Sub) <% Sub Các câu lệnh End Sub %> Ví dụ: <% Sub example Response.write “Hello World” End Sub Call example %> -Khai báo hàm (Function) <% Function Các câu lệnh phép gán = giá trị End function %> Ví dụ: <% Function tinh a=100 b=100 tinh=sqr(a)+b End function Response.write “kết quả =” & tinh ‘kết quả = 110 %> chương III cơ sở dữ liệu i – tổng quan về cơ sở dữ liệu. 1 – Chức năng của một hệ quản trị cơ sở dữ liệu. a - Khái niệm về cơ sở dữ liệu. Để dễ dàng cho việc giải thích các khái niệm về cơ sở dữ liệu , trước hết ta xem xét hệ thống hồ sơ thông tin của học sinh. Dữ liệu lưu trữ trong máy tính bao gồm các thông tin về lý lịch học sinh, điểm học tập,Mọi thông tin về mối quan hệ này được biểu diễn trong máy tính thông qua việc đăng ký nhập học của học sinh. Vậy làm thế nào để biểu diễn đựơc dữ liệu đó và để đảm bảo cho học sinh có học bạ sau khi học. Tập hợp các dữ liệu trên được lưu trữ trong máy tính theo một quy định nào đó và được gọi là cơ sở dữ liệu (Database – CSDL). b - Hệ quản trị cơ sở dữ liệu. - Định nghĩa: Phần chương trình có thể xử lý, thay đổi dữ liệu gọi là hệ quản trị cơ sở dữ liệu (Database management System – DBMS). - Những khả năng của hệ quản trị cơ sở dữ liệu: Có hai đặc tính để phân biệt Hệ quản trị cơ sở dữ liệu với các hệ thống lập trình khác, đó là: (1) - Khả năng quản lý những dữ liệu cố định. (2) - Khả năng truy xuất có hiệu quả một khối lượng dữ liệu lớn. Điểm (1) khẳng định rằng có một cơ sở dữ liệu tồn tại thường xuyên; nội dung của cơ sở dữ liệu này là những dữ liệu được hệ quản trị cơ sở dữ liệu truy xuất và quản lý. Điểm (2) phân biệt một Hệ quản trị cơ sở dữ liệu với một hệ thống tập tin cũng quản lý dữ liệu nhưng nói chung không cho phép truy xuất nhanh chóng các thành phần tuỳ ý của dữ liệu. Những khả năng của một Hệ quản trị cơ sở dữ liệu sẽ rất cần thiết khi số lượng dữ liệu rất lớn. Hai đặc tính trên là hai đặc tính cơ bản của một Hệ quản trị cơ sở dữ liệu, ngoài ra một Hệ quản trị cơ sở dữ liệu thường có khả năng sau. + Hỗ trợ một số ngôn ngữ bậc cao cho phép người sử dụng định nghĩa các cấu trúc dữ liệu, truy xuất và thao tác dữ liệu. + Quản lý giao dịch, nghĩa là cho phép nhiều người sử dụng truy xuất đồng thời và chính xác đến một cơ sở dữ liệu. + Điều khiển các quá trình truy xuất, là khả năng giới hạn các quá trình truy xuất dữ liệu của những người không được phép, và khả năng kiểm tra độ tin cậy của dữ liệu. + Các đặc tính tự thích ứng, là khả năng tự phục hồi dữ liệu do sự cố của hệ thống mà không làm mất dữ liệu. c – Các mô hình dữ liệu. Một Hệ quản trị cơ sở dữ liệu cần phải cung cấp ít nhất một mô hình trừu tượng qua đó người sử dụng có thể thấy được dữ liệu không phải bằng các bít “thô” mà bằng các dạng dễ hiểu, dễ nhận biết hơn. Trong thực tế các cơ sở dữ liệu có thể có một vài mức trừu tượng, trong đó mức thấp nhất là tập hợp các file dữ liệu ( Mức vật lý). d – Hiệu quả truy cập dữ liệu. Các hệ điều hành đều có khả năng tổ chức và lưu trữ các tập tin vì vậy việc lưu trữ các tập tin dữ liệu đối với Hệ quản trị cơ sở dữ liệu là không đáng chú ý. Hiệu quả của các Hệ quản trị cơ sở dữ liệu trong việc xử lý trên các tập tin là tổ chức các tập phụ hoặc các công cụ hỗ trợ để truy cập dữ liệu nhanh chóng, kịp thời. Chẳng hạn các file index, hoặc các hàm hash. e – Quản lý giao dịch. Ngày nay do sự phát triển của mạng máy tính mà cơ sở dữ liệu lớn có được sử dụng bởi nhiều người trên các máy tính khác nhau vì vậy các Hệ quản trị cơ sở dữ liệu cần phải cung cấp một khả năng quản lý sự truy cập dữ liệu của nhiều người sử dụng. Chẳng hạn các dữ liệu của một trang web được sử dụng bởi hàng vạn khách hàng truy cập online trên các máy tính ở khắp nơi trên thế giới, cơ sở dữ liệu phục vụ cho việc đặt chỗ online của một hãng hàng không được sử dụng bởi hàng vạn máy tính đang truy cập online. Việc truy cập đồng thời thường xảy ra hiện tượng xung đột giao dịch giữa các khách hàng trên cùng một hạng mục dữ liệu, vì vậy Hệ quản trị cơ sở dữ liệu cần phải cung cấp một khả năng khoá dữ liệu (clock data) khi có người truy cập đến hạng mục đó. f – An toàn dữ liệu. Một Hệ quản trị cơ sở dữ liệu cần phải có khả năng phục hồi lại dữ liệu khi có sự hỏng hóc xảy ra, đồng thời và rất quan trọng là bảo vệ sự truy cập của các người sử dụng không được phép. Để thực hiện công việc này các Hệ quản trị cơ sở dữ liệu cho phép tạo ra các khung nhìn (View) mà người sử dụng chỉ được phép quan sát dữ liệu trên các view. 2 – Kiến trúc một hệ quản trị cơ sở dữ liệu. Một Hệ quản trị cơ sở dữ liệu được mô tả bởi 3 mức trừu tượng sau. Nhóm user 1 Nhóm user 2 Nhóm user n Khung nhìn 1 Khung nhìn 2 Khung nhìn n Cơ sở dữ liệu khái niêm CSDL Vật lý được viết bằng ngôn ngữ đinh nghĩa dữ liệu lược đồ con được viết bằng ngôn ngữ đinh nghĩa dữ liệu được cài đặt trên thiết bị vât lý a - Mức cơ sở dữ liệu vật lý: Là một tập các tập tin(file) và các file chỉ mục (index) hoặc các cấu trúc lưu trữ khác dùng để truy xuất chúng một cách có hiệu quả, gọi là cơ sở dữ liệu vật lý. Cơ sở dữ liệu vật lý tồn tại thường xuyên trong thiết bị lưu trữ như đĩa từ. b – Mức cơ sở dữ liệu khái niệm (concept level) Cơ sở dữ liệu khái niệm là sự trừu tượng hoá của thế giới thực khi nó được gắn với người sử dụng cơ sở dữ liệu. Các Hệ quản trị cơ sở dữ liệu cung cấp ngôn ngữ định nghĩa dữ liệu ( data definition language DDL), để mô tả lược đồ khái niệm (conceptual scheme) và nó sẽ được cài đặt bằng lược đồ vật lý (physical scheme). DDL cho chúng ta mô tả cơ sở dữ liệu khái niệm nhờ các thuật ngữ của “mô hình dữ liệu”, chẳng hạn như trong mô hình quan hệ dữ liệu được trình bày qua các bảng với các cột là các thuộc tính các hàng là các “bộ” tương tự như các mẫu tin. c – Khung nhìn (View). Khung nhìn (View) hay lược đồ con (Subscheme) là một phần của cơ sở dữ liệu khái niệm hoặc là sự trừu tượng hoá một phần cơ sở dữ liệu khái niệm. Hầu hết các Hệ quản trị cơ sở dữ liệu đều cung cấp phương tiện để khai báo khung nhìn, được gọi là ngôn ngữ định nghĩa dữ liệu lược đồ con (subscheme data definition language) và các phương tiện để thao tác và vấn tin trên khung nhìn gọi là ngôn ngữ thao tác dữ liệu lược đồ con. - Lược đồ và thể hiện: Ngoài việc phân chia mức trừu tượng nhưng trong phần b chúng ta còn có một cách hiểu khác về cơ sở dữ liệu. Khi thiết kế chúng ta quan tâm đến những hoạch định(plan) trên cơ sở dữ liệu, nhưng khi sử dụng chúng ta lại quan tâm đến những dữ liệu thực sự tồn tại trong cơ sở dữ liệu. Cần phải hiểu rằng dữ liệu trong cơ sở dữ liệu thường xuyên thay đổi, trong khi các plan vẫn như cũ. Nội dung hiện thời của cơ sở dữ liệu gọi là thể hiện (instance) của cơ sở dữ liệu. Thuật ngữ lược đồ (Scheme) được dùng để nói đến cách hoạch định này vì vậy khi nói đến lược đồ khái niệm là nói về hoạch định cho cơ sở dữ liệu khái niệm, và chúng ta gọi hoạch định cơ sở dữ liệu vật lý là lược đồ vật lý. - Tính độc lập dữ liệu: Sơ đồ về các mức trừu tượng trong phần trên chỉ rõ đi từ khung nhìn qua cơ sở dữ liệu khái niệm đến cơ sở dữ liệu vật lý đưa ra hai mức độc lập dữ liệu (data independence). Độc lập dữ liệu vật lý (physcal data independence): chúng ta có thể thay đổi lược đồ vật lý mà không làm ảnh hưởng đến lược đồ khái niệm hay phải định nghĩa lại các lược đồ con. Nó khẳng định rằng việc sửa đổi về tổ chức về cơ sở dữ liệu vật lý có thể ảnh hưởng đến tính hiệu quả của các chương trình ứng dụng, nhưng không bao giờ phải viết lại chương trình này. Độc lập dữ liệu logic(logical data independence) được đưa ra bởi mối quan hệ giữa khung nhìn và cơ sở dữ liệu khái niệm. Khi sử dụng cơ sở dữ liệu cũng có thể cần phải sửa đổi lược đồ khái niệm, có nhiều sửa đổi lược đồ khái niệm không làm ảnh hưởng đến các lược đồ con hiện có, và cũng có một số sửa đổi khác sẽ cần phải định nghĩa lại các ánh xạ từ lược đồ con đến lược đồ khái niệm. Trường hợp này không cần thay đổi chương trình ứng dụng. Một loại thay đổi duy nhất trong lược đồ khái niệm buộc phải thay đổi lược đồ con là việc xoá các thông tin tương ứng với các thông tin đang tồn tại trong lược đồ con. Những thay đổi này đòi hỏi phải thay đổi chương trình ứng dụng. Iii – các ngôn ngữ thao tác dữ liệu. 1 – Lịch sử vắn tắt về truy cập dữ liệu chung. Những hệ thống quản lý cơ sở dữ liệu cung cấp các API cho phép các nhà lập trình ứng dụng tạo và truy cập cơ sở dữ liệu. Tập các API mà mỗi hệ thống của nhà sản xuất hỗ trợ là duy nhất cho nhà sản xuất đó. Microsoft đã từ lâu nhận ra rằng nó không có hiệu quả và nỗi có thể xảy ra cho một lập trình viên ứng dụng khi cố gắng làm chủ và sử dụng tất cả các API cho các hệ thống quản lý cơ sở dữ liệu sẵn có khác nhau. Điều gì nữa đây, nếu một hệ thống quản lý cơ sở dữ liệu mới đựơc phát hành, một ứng dụng đã tồn tại không thể sử dụng được nếu nó không viết lại để hiểu các API mới. Điều cần thiết là một API cơ sở dữ liệu chung. 2 - Các bộ cấp được quản lý. Khi nói về truy cập dữ liệu, nó thật hữu ích để phân biệt giữa bộ cấp dữ liệu và bộ tiêu thụ dữ liệu. Một bộ cấp dữ liệu đóng gói dữ liệu và cung cấp những truy cập tới nó theo một cách chung nhất. Bản thân dữ liệu có thể ở dạng hoặc vị trí bất kỳ nào. ví dụ, dữ liệu có thể trong một hệ thống quản lý cơ sở dữ liệu điển hình như SQL Server, hoặc có thể phân phối trên toàn thế giới và được truy cập qua các dịch vụ web. Bộ cấp dữ liệu giấu bộ tiêu thụ dữ liệu khỏi việc có biết cách lấy được dữ liệu. Một bộ tiêu thụ dữ liệu là một ứng dụng sử dụng các dịch vụ của một bộ cấp dữ liệu dùng cho mục đích lưu trữ, truy lục, và thao tác dữ liệu. Một ứng dụng khách hàng – dịch vụ mà vận dụng một cơ sở dữ liệu khách hàng là một ví dụ điển hình của một bộ tiêu thụ dữ liệu. Để sử dụng dữ liệu, ứng dụng phải biết cách truy cập một hoặc nhiều bộ cấp dữ liệu. -Connection: Biểu thị một nối kết đến một nguồn dữ liệu. -Command: Biểu thị một truy vấn hoặc một lệnh được nguồn dữ liệu thực thi. -Dataset: Biểu diễn dữ liệu. Dataset có thể bị một nguồn dữ liệu chiếm ( sử dụng một đối tượng DataAdapter) hoặc động. -DataAdapter: Được dùng để chiếm một Dataset từ một nguồn dữ liệu. -DataReader: Chỉ đựơc dùng để đọc nhanh, hiệu quả, xúc tiến của một nguồn dữ liệu. Với ngoại lệ của một Dataset. Năm tên gọi này không thực sự là các lớp dùng để truy cập các nguồn dữ liệu. Mỗi bộ cấp được quản lý trình bày các lớp cụ thể cho bộ cấp đó. Ví dụ, SQL Server quản lý bộ cấp trìn bày các lớp SqlConnection, SqlCommand, SqlDataAdapter, và SqlDataReader. Lớp DataSet dùng cho tất cả các bộ cấp được quản lý. 3 - Kết nối và truy xuất DATABASE. Có rất nhiều cách để có thể kết nối tới database như dùng ADO (ActiveX Data Object), ODBC (Open Database Connectivity)ở đây ta sẽ dùng kết nối tới database qua ADO. a – ADO là gì. ADO ( ActiveX Data Object ) là một công nghệ mới của Microsoft, như tên gọi ADO là một thành phần Active X tạo ra một giao diện lập trình giúp cho việc truy xuất dữ liệu trong database. Và nó được cài đặt tự động khi cài Microsoft IIS. b – Truy xuất database bằng ADO trong ASP. Cách thức cơ bản để truy xuất dữ liệu trong database trong ASP như sau: -Tạo một kết nối ADO tới database. -Mở kết nối tới database đó. -Tạo một đối tượng ADO recordset ( tập các record). -Mở recordset này ( sử dụng SQL để thu thập các record). -Lấy dữ liệu kết quả từ record này. -Đóng recordset lại. -Đóng kết nối lại. c – Tạo một kết nối ADO (ADO Connection). - Cách đơn giản nhất để có thể kết nối tới database là không dùng DNS (data source name – tên nguồn dữ liệu). Ví dụ: ta có một tệp cơ sở dữ liệu ( tạo bằng ACCESS ) là website.mdb được đặt trong thư mục data\website.mdb ta có thể kết nối tới database này bằng đoạn lệnh sau: <% Set conn=Server.CreateObject(“ADODB.Connection”) Conn.PROVIDER=MICROSOFT.JET.OLEDB.4.0 conn.Open “d:/data/website.mdb” %> ở đây ta phải chỉ rõ Microsoft Access database driver ( gọi là Provider) và chỉ rõ đường dẫn vật lý tới database. - Tạo một kết nối dữ liệu bằng ODBC ( Open Database Connectivity). Theo cách này ta không cần chỉ rõ đường dẫn cũng như Provider cho kết nối. Tất cả đã được khai báo trong ODBC. - Còn một cách kết nối khác dùng Property là ConnectionString của ADO connection <% Set conn=Server.CreateObject(“ADODB.Connection”) Conn.ConnectionString=”PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=” & SERVER.MAPPATH(“data/website.mdb”) conn.Open %> d – Sử dụng ADO Recordset. Muốn lấy dữ liệu trong database ra, đầu tiên dữ liệu phải đựơc đưa vào recordset. Sau khi tạo một kết nối tới database ta có thể truy xuất database và lấy data cho vào trong recordset. Ta có tệp website.mdb Trong tệp website có bảng tintuc ta có thể tạo kết nối đến table tintuc như sau: <% Set tintuc= Server.CreateObject(“ADODB.RecordSet”) SQL_tintuc=”SELECT * FROM tintuc “ tintuc.Open SQL_tintuc, Ketnoi %> Trong table tintuc có column noidung. Ta có thể thao tác với column nội dung sau: -lấy dữ liệu từ column noidung: -Thêm một bảng ghi mới vào table: <% tintuc.Addnew tintuc.Fields(“noidung”)= “noi dung update” tintuc.update %> -Sửa một bản ghi đã có: Để sửa một bản ghi đã có ta phải kết nối tới table theo điều kiện Where Ví du: Where id=1 sẽ update vào column có chỉ số id=1 <% tintuc.Fields(“noidung”)= “noi dung update” tintuc.update %> -Xoá một bản nghi trong table. Cũng như lệnh update ta phải kết nối tới table với điều kiện Where. <% tintuc.delete tintuc.update %> chương iv ứng dụng vào website tin tức trường tiểu học tân dân b I – tổ chức cơ sở dữ liệu trên website. 1 - Trang chủ: Trang chủ được kết nối từ 3 nguồn dữ liệu chính đó là: Dữ liệu lưu trữ thông tin giới thiệu chung ở trang chủ, dữ liệu lưu trữ thông tin về nhóm các tin tức và dữ liệu lưu trữ thông tin về các tin tức được cập nhật. Dữ liệu lưu trữ thông tin giới thiệu chung ở trang chủ: Tên trường Kiểu dữ liệu Mô tả Id Autonumber Trường khoá Noidung Memo Nội dung ddanh Text đường dẫn ảnh cao Number Cao rong Number Rộng Dữ liệu lưu trữ thông tin về nhóm các tin tức: Tên trường Kiểu dữ liệu Mô tả Id_m Autonumber Trường khoá Menu Text Men Nu uutien Number ưu tiên Dữ liệu lưu trữ thông tin cập nhật về tin tức: Tên trường Kiểu dữ liệu Mô tả Id AutoNumber Trường khoá Tieude Memo Tiêu đề Gioithieu Memo Giới thiệu Noidung Memo Nội dung Ddanh Text đường dẫn ảnh Cao Number Cao Rong Number Rộng Loaitin Number Loại tin Ngaygui Date/time Ngày gửi Soluotxem Number Số lượt xem Dữ liệu lưu trữ thông tin về nhóm các tin tức được liên kết với dữ liệu lưu trữ thông tin cập nhật về tin tức thông qua trường Id_m của trường dữ liệu lưu trữ thông tin về nhóm các tin tức và trường loaitin của dữ liệu lưu trữ thông tin cập nhật về tin tức 2 - Trang tài liệu: Trang tài liệu được kết nối từ 2 nguồn dữ liệu chính đó là: Dữ liệu lưu trữ về nhóm các tài liệu, dữ liệu về thông tin các tài liệu. Dữ liệu lưu trữ về nhóm các tài liệu: Tên trường Kiểu dữ liệu Mô tả Id_m AutoNumber Trường khoá Menu Memo Men nu uutien Number ưu tiên Dữ liệu lưu trữ thông tin về tài liệu: Tên trường Kiểu dữ liệu Mô tả Id AutoNumber Trường khoá Tensach Memo Tên sách Maso Number Mã số Biensoan Text Biên soạn Nhaxb Text Nhà xuất bản Ngayxb Date/time Ngày xuất bản Sotrang Number Số trang Kichthuoc Number kích thước Trongluong Number Trọng lượng Soluong Number Số lượng Hinhthucbia Text Hình thức bìa Giabia Number Giá bìa Giaban Number Giá bán Solanxem Number Số lần xem Gioithieu Memo Giới thiệu Loai Number Loại Ddanh Text đường dẫn ảnh Cao Number Cao Rong Number Rộng Noibat Number Nổi bật Ngaydua Date/time Ngày đưa Trường id_m của bảng dữ liệu lưu trữ thông tin về nhóm các tài liệu được liên kết với trường Loai của bảng dữ liệu về thông tin các tài liệu 3 - Trang tìm kiếm. Trang tìm kiếm được kết nối từ nguồn dữ liệu chính đó là Menu tìm kiếm để chọn ra nhóm lĩnh vực cần tìm kiếm. Tên trường Kiểu dữ liệu Mô tả Id_m AutoNumber Trường khoá Timkiem Text Tìm kiếm Uutien Number ưu tiên 4 - Trang E-learning. Trang E-learning được kết nối từ 2 nguồn dữ liệu đó là: Dữ liệu lưu trữ về nhóm các bài học trực tuyến, dữ liệu lưu trữ về thông tin đường dẫn các tài liệu học trực tuyến. Dữ liệu lưu trữ về nhóm các bài học trực tuyến: Tên trường Kiểu dữ liệu Mô tả Id_m AutoNumber Trường khoá Menu Text Men nu uutien Number ưu tiên Dữ liệu lưu trữ về thông tin các bài học trực tuyến: Tên trường Kiểu dữ liệu Mô tả Id AutoNumber Trường khoá Mota Memo Mô tả Loai Number Loại Ngaygui Date/time Ngày gửi dem Number đếm Trường Id_m của bảng dữ liệu lưu trữ thông tin về nhóm các bài học trực tuyến được liên kết với trường Loai của bảng dữ liệu lưu trữ thông tin các bài học trực tuyến. 5 - Trang góp ý. Trang góp ý được kết nối từ hai nguồn dữ liệu chính, đó là nguồn dữ liệu từ phần menu của trang tin tức và dữ liệu lưu trữ thông tin các về nội dung các bài góp ý cho trang web. Tên trường Kiểu dữ liệu Mô tả Id Autonumber Trường khoá Hoten Memo Họ tên Diachi Memo địa chỉ Dienthoai Number điện thoại Email Memo Email Noidung Memo Nội dung Ii – Nội dung chính của phần giao diện. 1 – Giao diện người dùng. * Trang chủ. Phần trang chủ cung cấp thông tin quảng cáo tĩnh giới thiệu về trường tiểu học Tân dân B và các lĩnh vực hoạt động của trường, đồng thời trang chủ cũng cung cấp thông tin về chuyên mục các nhóm tin tức được đăng. * Trang nhóm các tin tức. Trang này đưa ra danh sách một nhóm các tin cùng một chuyên mục, khi click vào tin nào thi sẽ link đến trang nội dung. * Trang nội dung chi tiết của tin tức. Trang nội dung là nơi hiển thị nội dung chi tiết của tin tức mà user muốn sem * Trang tà liệu. Trang chủ tài liệu cung cấp thông tin về một loại tài liệu nổi bật trong danh mục các tài liệu. Menu tài liệu cung cấp danh mục các loại tài liệu khi Click vào một nhóm tài liệu nào đó nó sẽ liệt kê toàn bộ các tài liệu thuộc nhóm đó. * chuyên mục tài liệu. Sẽ hiển thị các tài liệu thuộc cùng một chuyên mục * Nội dung tài liệu. * Giao diện trang tìm kiếm. Trang tìm kiếm cung cấp bốn khả năng tìm kiếm đó là: Tìm kiếm về thông tin học sinh, toàn bộ thông tin về học sinh như địa chỉ, kết quả học tập sẽ được liệt kê. Tìm kiếm về tin tức, toàn bộ nội dung của trang tin tức sẽ được tìm kiếm theo tiêu đề của bản tin đó hoặc tìm kiếm theo một từ khoá trong nội dung của bản tin. Tìm kiếm tài liệu, toàn bộ thông tin về tài liệu đã đăng được tìm kiếm trong trang tìm kiếm theo tiêu đề của tài liệu, tên các tài liệu hoặc tìm kiếm theo một từ khoá trong phần tóm tắt nội dung. Tìm kiếm thông tin các bài học trực tuyến, thông tin các bài học trực tuyến sẽ được tìm kiếm theo một nhóm từ được yêu cầu trong phần mô tả về nội dung các bài học trực tuyến. * Giao diện trang chủ E-learning. Trang chủ E-learning sẽ hiển thị những bài học mới được đăng của từng nhóm bài học và hiển thị menu về nhóm các bài học được cung cấp trong trang E-learning, khi Click vào nhóm nào đó thì thông tin mô tả về các bài học đó được liệt kê. * Trang chuyên mục E-learning. * Trang nội dung E-learning. * Giao diện trang góp ý. Trang góp ý yêu cầu các Session phải nhập đầy đủ thông tin cá nhân như họ tên, địa chỉ, điện thoại, email và nội dung góp ý. Các thông tin này sẽ không hiển thị lên trang web mà chỉ được admin quan lý và chỉnh sửa 2 - Giao diện Trang quản lý. * Giao diên trang đăng nhập. Để vào được trang quản lý yêu cầu admin phải trải qua một trang đăng nhập để kiểm tra quyền của người quản trị để tránh tình trạng mọi người có thể truy cập để đăng bài trái phép. Trang đăng nhập yêu cầu admin phải cung cấp hai thông tin đó là tên truy cập và mật khẩu truy cập, hai thông tin này có thể thay đổi được trong trang quản lý. * Giao diện trang quản lý chung. Trang quản lý chung đáp ứng được những khả năng sau Quản lý tổng thể: Quản lý tình trang hoạt động của trang web như bật, tắt trang web, quản lý thông tin cấu hình về thay đổi tiêu đề site, thay đổi email, điện thoại, địa chỉ liên hệ, quản lý thông tin các bài góp ý như trả lời góp ý hoặc xoá sửa góp ý Quản lý về trang chủ tin tức: - Quản lý thông tin trang chủ: Đăng bài mới lên trang chủ, xoá, sửa bài trang chủ. - Quản lý danh mục các nhóm tin: Thêm menu tin tức, xoá và sửa menu, thay đổi thứ tự ưu tiên hiển thị của menu. - Quản lý thông tin được đăng trên trang tin tức: Thêm tin tức xoá, sủa tin tức Quản lý trang tài liệu: - Quản lý về nhóm các tài liệu như thêm menu tài liệu, sửa xoá menu tài liệu. - Quản lý các nội dung tài liệu như thêm tài liệu mới, sửa xoá tài liệu Quản lý trang E-learning: - Quản lý menu E-learning như thêm menu mới, sửa xoá menu, thay đổi thứ tự ưu tiên hiển thị - Quản lý các bài học trực tuyến, thêm bài học mới, sửa xoá bài học đã đăng. Iii – mã nguồn của một số trang. 1 – Mã nguồn phần giao diện người dùng. Trang kết nối dữ liệu <% Set Ketnoi=Server.Createobject("ADODB.Connection") Duongdan="Provider=Microsoft.Jet.OLEDB.4.0; data Source=" & Server.MapPath("data/website.mdb") Ketnoi.Open duongdan %> Trang menu tin tức <% Set menu_tintuc= Server.CreateObject("ADODB.Recordset") SQL_MENU="SELECT * FROM menu_tintuc ORDER BY UUTIEN" menu_tintuc.Open SQL_menu,ketnoi,1,3 %> Danh Mục Tin Tức <% menu_tintuc.MoveFirst Do while not menu_tintuc.EOF %>   > ằ   <% menu_tintuc.Movenext Loop menu_tintuc.close set menu_tintuc=nothing %> Trang nội dung trang chủ <% Set trangchu= Server.CreateObject("ADODB.RecordSet") SQL_trangchu="SELECT * FROM trangchu order by id desc" trangchu.Open SQL_trangchu,ketnoi,1,3 if not trangchu.EOF=true then %>         " align ="left" width="" height="">         Trang chuyên mục tin tức. <% chiso=cint(Request.QueryString("id_m")) Set tintuc= Server.CreateObject("ADODB.RecordSet") SQL_tintuc="SELECT * FROM tintuc WHERE loaitin=" & chiso & " order by ID desc" tintuc.Open SQL_tintuc,ketnoi,1,3 %> <% if not tintuc.EOF= true then For i =1 to 2 if tintuc.EOF=True then exit for %>   ">     <% If Not tintuc.Fields("ddanh")="" then %> "> " align ="left" width="172" height="112" border="0">   <% baicuoi=tintuc.fields("id") tintuc.MoveNext Next end if tintuc.close set tintuc=nothing %>     &baicuoi=" style="text-decoration: none">Xem tiếp Trang nội dung tin tức. <% chiso=Request.QueryString("id") Set noidung= Server.CreateObject("ADODB.RecordSet") SQL_noidung="SELECT * FROM tintuc WHERE ID=" & chiso noidung.Open SQL_noidung, ketnoi,1,3 chisochuyenmuc=noidung.fields("loaitin") Set chuyenmuc=server.createObject("ADODB.recordset") SQL_chuyenmuc="SELECT * FROM TINTUC WHERE LOAITIN=" & chisochuyenmuc & " ORDER BY ID DESC" chuyenmuc.open SQL_chuyenmuc, ketnoi,1,3 noidung.fields("soluotxem") =noidung.fields("soluotxem") + 1 noidung.Update %>       " align ="left" width="" height="">     CÁC TIN CÙNG CHUYấN MỤC   <% For i=1 to 15 if chuyenmuc.EOF=true then exit for %>   _ " style="text-decoration: none">   <% chuyenmuc.MoveNext next end if noidung.close chuyenmuc.close set noidung=nothing set chuyenmuc=nothing %> Trang chuyên mục tài liệu. <% chiso=cint(Request.QueryString("id_m")) Set tailieu= Server.CreateObject("ADODB.RecordSet") SQL_tailieu="SELECT * FROM tailieu WHERE loai=" & chiso & " order by ID desc" tailieu.Open SQL_tailieu,ketnoi,1,3 %> <% if not tailieu.EOF= true then For i =1 to 5 if tailieu.EOF=True then exit for %>   " style="text-decoration: none">     "> " align ="left" width="131" height="162" border="0">   <% baicuoi=tailieu.fields("id") tailieu.MoveNext Next end if tailieu.close set tailieu=nothing %>     &baicuoi=" style="text-decoration: none">Xem tiếp   Trang nội dung tài liệu. <% chiso=Request.QueryString("id") Set noidung= Server.CreateObject("ADODB.RecordSet") SQL_noidung="SELECT * FROM tailieu WHERE ID=" & chiso noidung.Open SQL_noidung,ketnoi,1,3 chisochuyenmuc=noidung.fields("loai") Set chuyenmuc=server.createObject("ADODB.recordset") SQL_chuyenmuc="SELECT * FROM tailieu WHERE LOAI=" & chisochuyenmuc & " ORDER BY ID DESC" chuyenmuc.open SQL_chuyenmuc,ketnoi,1,3 noidung.fields("solanxem")=noidung.fields("solanxem")+1 noidung.Update %>       " align ="left" width="190" height="250">   Mó số: Biờn soạn: Nhà xuất bản: Ngày xuất bản: Số trang: Kớch thước: Trọng lượng: Số quyển/1 bộ: quyển Hỡnh thức bỡa: Giỏ bỏn: VNĐ Giảm giỏ: % Số lần xem:     Mó số: Biờn soạn: Nhà xuất bản: Ngày xuất bản: Số trang: Kớch thước: Trọng lượng: Số quyển/1 bộ: quyển Hỡnh thức bỡa: Giỏ bỏn: VNĐ Giảm giỏ: % Số lần xem:       Túm tắt nội dung:         CÁC SÁCH CÙNG LOẠI   <% For i=1 to 15 if chuyenmuc.EOF=true then exit for %>   " style="text-decoration: none"> _   <% chuyenmuc.MoveNext next end if noidung.close set noidung=nothing %> Trang chuyên mục E-learning. <% chiso=cint(Request.QueryString("id_m")) Set elearning= Server.CreateObject("ADODB.RecordSet") SQL_elearning="SELECT * FROM elearning WHERE loai=" & chiso & " order by ID desc" elearning.Open SQL_elearning,ketnoi,1,3 %>             <% if not elearning.EOF= true then For i =1 to 3 if elearning.EOF=True then exit for %> &duongdan="> " style="text-decoration: none"> Download   <% chisobaicuoi=elearning.fields("id") elearning.MoveNext Next end if elearning.close set elearning=nothing %> &chisobaicuoi=" style="text-decoration: none">XEM TIẾP-->   Trang nội dung E-learning. <% duongdan=Request.QueryString("duongdan") chiso=Cint(Request.QueryString("id")) Set banghi_dem=Server.CreateObject("ADODB.Recordset") SQL_dem="SELECT * From elearning where id="&chiso Banghi_dem.open SQL_dem,ketnoi,1,3 banghi_dem.fields("dem")=banghi_dem.fields("dem")+1 banghi_dem.Update %>         ">               <% banghi_dem.close set banghi_dem=nothing %> 2 – Phần quản lý. Trang xử lý đăng nhập vào hệ thống quản lý. <% Ten=Request.form("ten") Matkhau=Request.form("matkhau") Set banghi_admin=Server.createObject("ADODB.RecordSet") SQL_admin="Select * from Admin Where Ten='" & ten & "'" Banghi_admin.Open SQL_admin, Ketnoi,1,3 If Not banghi_admin.EOF=True then If Matkhau=banghi_admin.fields("matkhau") then Session("dangnhap")= ten Response.Redirect "quanlychung.asp" Else Response.Write " Mật khẩu sai! Kiểm tra Caps Lock có bật không" End if Else Response.Write “Admin này không tồn tại” End if %> Thêm bài cho trang chủ. Thêm bài cho trang chủ Chèn ảnh cho bài viết Cao:  Rộng:   Xử lý thêm bài cho trang chủ <% Set trangchu= Server.CreateObject("ADODB.RecordSet") SQL="SELECT * FROM trangchu " trangchu.Open SQL, Ketnoi,1,3 noidung=Request.Form("noidung") cao=Request.form("cao") rong=Request.form("rong") ddanh=session("ddanh") trangchu.Addnew trangchu.Fields("noidung")=noidung trangchu.Fields("cao")=cao trangchu.Fields("rong")=rong trangchu.fields("ddanh")=ddanh trangchu.update Response.Write " Đã đăng lên !" session("ddanh")="" %> Sửa bài trang chủ. <% chiso=cint(Request.QueryString("id")) Set trangchu= Server.CreateObject("ADODB.RecordSet") SQL="SELECT * FROM trangchu where id=" & chiso trangchu.Open SQL, Ketnoi,1,3 %> Sửa bài cho trang chủ "> Chốn ảnh cho bài viết Cao:">  Rộng:">   Trang xoá bài cho trang chủ. <% Chiso=Cint(Request.QueryString("ID")) Set trangchu= Server.CreateObject("ADODB.RecordSet") SQL="SELECT * FROM trangchu where ID=" & chiso trangchu.Open SQL, Ketnoi,1,3 trangchu.Delete trangchu.Update Response.Write " Đ?oᡡ!" Response.Redirect "trangchu.asp" %> Trang upload ảnh. File Name: <% set o = new clsUpload if o.Exists("cmdSubmit") then sFileSplit = split(o.FileNameOf("txtFile"), "\") sFile = sFileSplit(Ubound(sFileSplit)) o.FileInputName = "txtFile" o.FileFullPath = Server.MapPath(".") & "\" & sFile o.save if o.Error = "" then response.write "ảnh đã upload thành công Đóng lại Để tiếp tục quá trình đăng bài viết " session("ddanh")="upload/images/" & sfile 'Response.write session("ddanh") else response.write "Có lỗi trong qua trình upload mời bạn upload lại" & o.Error end if end if set o = nothing %> Danh mục tài liệu tham khảo 1 – Giáo trình lập trình internet với active server pages (Trường ĐH Kinh Doanh và Công Nghệ Hà Nội). 2 – Giáo trình internet (Trường ĐH Kinh Doanh và Công Nghệ Hà Nội). 3 – Giáo trình tạo trang web(Trường ĐH Kinh Doanh và Công Nghệ Hà Nội). 4 – Giáo trình access 97(Trường ĐH Kinh Doanh và Công Nghệ Hà Nội). 5 – Bài soạn cơ sở dữ liệu (Trường ĐH Quốc Gia Tp.HCM). 6 – Lập trình với Visual Basic . NET (nhà xuất bản thống kê). 7 – Website (Trường ĐH Kinh Doanh và Công Nghệ Hà Nội). 8 – Website Mục lục Chương i tìm hiểu về internet I - tổng quan về internet:..2 1 - Khái quát về internet..2 2 - Thế nào là Internet.2 3 - Địa chỉ Internet......2 4 - Kết nối vào Internet...3 5 - Các ứng dụng của Internet.4 II - tổng quan chung về web......6 1 – Tổng quan về Web6 2 - Tạo một dịch vụ Web.8 3 - Những mô tả dịch vụ web11 4 - Sử dụng một dịch vụ Web trong Notepad....12 5 - Những giới hạn của dịch vụ web.12 Chương II lập trình Internet với active server pages (asp) I – giới thiệu chung về active server pages ....14 II – giới thiệu về Internet information Server (iis).....15 1 - Thế nào là IIS...15 2 - Cơ chế hoạt động của IIS.15 3 - ứng dụng dụng của IIS15 IiI – lập trình với asp....15 1 - ASP là gì:.....15 2 - ASP file là gì:...16 3 - ASP làm vệc như thế nào.16 4- Các kiểu dữ liệu và đối tượng trong ASP..17 5- Các lệnh và hàm19 chương III cơ sở dữ liệu i – tổng quan về cơ sở dữ liệu.......30 1 – Chức năng của một hệ quản trị cơ sở dữ liệu......30 2 – Kiến trúc một hệ quản trị cơ sở dữ liệu...32 Iii – các ngôn ngữ thao tác dữ liệu...34 1 – Lịch sử vắn tắt về truy cập dữ liệu chung...34 2 - Các bộ cấp được quản lý..35 3 - Kết nối và truy xuất DATABASE...36 chương iv ứng dụng vào website tin tức trường tiểu học tân dân b I – tổ chức cơ sở dữ liệu trên website...39 1 - Trang chủ:39 2 - Trang tài liệu:...40 3 - Trang tìm kiếm.42 4 - Trang E-learning..42 5 - Trang góp ý......43 Ii – Nội dung chính của phần giao diện..43 1 – Giao diện người dùng..43 2 - Giao diện Trang quản lý..52 Iii – mã nguồn của một số trang...58 1 – phần giao diện người dùng.58 2 – Phần quản lý75

Các file đính kèm theo tài liệu này:

  • doc2286.doc
Tài liệu liên quan