Giáo trình ASP

pdf 45 trang ngocly 2180
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình ASP", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_asp.pdf

Nội dung text: Giáo trình ASP

  1. Giáo trình ASP TỔNG QUAN ASP Nguyễn Hoàng Hà 1
  2. Giáo trình ASP GIỚI THIỆU TỔNG QUAN VỀ ASP ASP (active Server Page) là giải pháp của Microsoft cho việc phát triển ứng dụng Web động. ASP là chương trình được thực thi bên trong IIS (Internet Information Server) hay PWS (Personal Web Server). Với ASP, bạn có thể xây dựng một ứng dụng Internet như bán hàng trên mạng, chat room, xem thông tin Công việc bạn phải làm là tạo ra trang HTML sau đó thêm đoạn mã viết bằng VBSCRIP hay JSCRIP vào để chung có thể kết hợp và đưa ra nội dung động. I. Mô hình hoạt động II. Cách hoạt động của ASP Tập tin asp bao gồm các nội dung văn bản, thẻ HTML và các scrip (kịch bản). Trong scrip có chứa các lệnh của một ngôn ngữ Scrip nào đó như VBSCRIPT hay JSCRIPT. Khi một Browser gởi yêu cầu đến một trang ASP nào đó thì các script trong trang ASP này được thực thi trên Server trước khi trả kết quả về cho Browser. Kết quả trả về là một trang HTML. III. Các tính chất của ASP Có thể kết hợp với tập tin HTML Các Script dễ viết, không cần phải biên dịch lại hay kết nối các chương trình được tạo ra. Cung cấp chế độ bảo mật tốt vì các mã trong trang ASP không thể nhìn thấy được ở Browser. Cung cấp cách thức truy nhập, kết nối với cơ sở dữ liệu một cách dể dàng. Với các built-in Object đã được xây dựng sẳn như: Resquest, response, Server, Aplication, Sesion, rất tiện dụng cho việc phát triển. Có khả năng mở rộng các thành phần ActiveX Server (ActiveX server components). IV. Môi trường phát triển Có rất nhiều môi truờng phát triển cho phép tạo và thực thi thử nghiệm các trang ASP. Sau đây là một số môi trường thông dụng: Nguyễn Hoàng Hà 2
  3. Giáo trình ASP a. Notepad b. Microsoft Visual InterDev c. Drumbeat d. Microsoft ProntPage Trong đó Microsoft Visual InterDev là thông dụng nhất với các tính năng CodeSight gần giống như Visual Basic giúp cho người V. WEB SERVER Hiện nay có hai Web Server thông dụng hổ trợ ASP là: IIS (Internet Information server) trong Windows NT Server hoặc Windows 2000. PWS (Personal Web server) trong Windows 95/98 và Windows NT Workstation. CHƯƠNG I VBSCRIPT I.1 Tạo biến cho đối tượng Biến được lưu trữ trong bộ nhớ dùng để lưu trữ tạm thời các giá trị để tính toán trong quá trình xử lý của chương trình Cú pháp khai báo biến: Dim Ví dụ: Tính tổng 2 số a và b Trong Vbscript biến sử dụng không cần khai báo khi đó Vbscript sẽ tự động tạo nhưng đối với chương trình lớn ta nên khai báo trước khi sử dụng. Để Vbscript thông báo lỗi khi sử dụng biến mà chưa khai báo ta nên dùng lệnh: . trước thẻ I.2 Hiển thị giá trị biến Để hiển thị giá trị cho biến ta dùng cú pháp: %> Ví dụ: Tính tổng 2 số a=5 và b=6 . + = Nguyễn Hoàng Hà 3
  4. Giáo trình ASP I.3 Hằng số Hằng số giống như biến nhưng ta không thể thay đổi giá trị của nó trong chương trình. Cú pháp: = %> I.4 Truyền tham số Tham số là giá trị được gởi đến cho hàm khi hàm được gọi. Ví dụ: Hàm Weekday(ngày) cho biết thứ trong tuần. Hôm nay ngày: Thứ I.5 Các hàm toán học a. Hàm Atn: Trả về arctang của một số. Cú pháp: Atn( ) b. Hàm Cos: Trả về Cosin của một số. Cú pháp: Cos ( ) c. Hàm Cos: Trả về Cosin của một số. Cú pháp: Cos ( ) d. Hàm Sin: Trả về Sin của một số. Cú pháp: Sin ( ) e. Hàm Exp: Trả về luỹ thừa của cơ số e. Cú pháp: Exp ( ) Trong đó là số mũ của luỹ thừa f. Hàm Log: Trả về log của một số. Cú pháp: Log ( ) g. Hàm Sqr: Trả về căn bậc 2 của một số. Cú pháp: Sqr ( ) g. Hàm Int: Trả về phần nguyên của 1 số thực. Cú pháp: int( ) h. Hàm rnd: Hàm này cho phép bạn lấy một số thực ngẫu nhiên từ 0 đến 1, trước khi sử dụng hàm này ta khai báo Ramdomize để khởi động quá trình tạo số ngẫu nhiên. Để tạo một số ngẫu nhiên từ 1 10 ta phải tạo bằng cách = int(Rnd*10)+1 I.6 Các hàm thao tác trên chuỗi. 1.Hàm Instr Cú pháp: =Instr( , ) Hàm trả về vị trí xuất hiện của chuỗi con trong chuỗi mẹ. Ví dụ: Nguyễn Hoàng Hà 4
  5. Giáo trình ASP 2. Hàm len Hàm len trả về độ dài của 1 chuỗi. Cú pháp: len( ) 3. Lcase, Ucase dùng để chuyển chuỗi hoa thành chuỗi thường và ngược lại: Cú pháp: + Lcase( ) +Ucase( ) 4. Hàm loại bỏ các khoản trắng dư thừa ở đầu chuỗi Ltrim, cuối chuỗi Rtrim và giữa chuỗi Trim. Cú pháp: Ltrim( ) Rtrim( ) Trim( ) Ví dụ: Cho kết quả: Cộng hoà xã I. 7 Các hàm định dạng và ngày giờ hệ thống 1. Formatcurrence 2. Hàm FormatDateTime: Định dạng theo kiểu DateTime Cú pháp: FormatDateTime( [, ]) Tên định dạng: Chỉ định dạng ngày giờ cần hiển thị. Mặc định: vbGeneralDate. Hằng số Giá trị Ví dụ vbGeneralDate 0 2/11/1976 VbLongDate 1 Friday, July 18, 2003 VbShortDate 2 2/11/1976 (Phụ thuộc vào định dạng trên regional settings.) 3. Hàm định dạng sô FormatNumber, định dạng phần trăm Formatpercent giống như FormatCurrency. 4. Các hàm lấy ngày giờ hệ thống trên server. date() trả về ngày hiện hành time() trả về giờ hiện hành Now() trả về ngày, giờ hiện hành 5. Các hàm lấy thứ trong tuần: WeedDate( ): trả về thứ bằng số (1 7) trong tuần. WeekdayName( ): trả về tên các thứ trong tuần Ví dụ: Sunday, 6. Các hàm lấy ngày tháng năm: Day( ): trả về ngày của biểu thức ngày. Month( ): trả về tháng của biểu thức ngày. Year( ): trả về năm của biểu thức ngày. 7. Các hàm lấy giờ, phút, giây Hour( ): trả về giờ của Time Nguyễn Hoàng Hà 5
  6. Giáo trình ASP Minute( ): trả về phút của Time. Second( ): Trả về giây của Time. Ví dụ: Muốn in ra dòng chữ : Hôm nay vào lúc giờ , phút, , ngày tháng năm . Hôm nay vào lúc giờ , phút, , ngày tháng năm 8. Một số ngày giờ khác: 1. Hàm DateDiff(interval, date1, date2 ): trả về khoảng cách giữa date1 và date2. Trong đó interval được xác định theo bảng sau: Interval Ý nghĩa yyyy Year m Month y Day of year d Day w Weekday ww Week of year h Hour n Minute s Second Ví dụ: -> 36 1. 2. Hàm DateAdd(interval, number, date): Cộng thêm số ngày và trả về số ngày mới Interval: Giống như DateDiff Number: Số ngày cộng thêm Ví dụ hôm nay ngày 18/07/2003 20/07/2003 Chú ý: Các hàm lấy ngày giờ hệ thống sẽ lấy ngày giờ tại Server chứ không phải lấy ngày giờ tại Client nơi Brower đang chạy. ta phải viết một Scrip để lấy ngày giờ tại client Ví dụ: Nguyễn Hoàng Hà 6
  7. Giáo trình ASP " Response.Write "Ngaygio()" Response.Write " " %> I.8 Một số hàm chuyển đổi 1. Abs(số): Trả về trị tuyệt đối của 2. Asc( ): Trả về 1 số nguyên là mã Ascii của ký tự đầu tiên của . Tương tự Asb( ) Trả về 1 số kiểu byte là mã Ascii của ký tự đầu tiên của 3. Chr( ): trả về ký tự có mã là (Tự đọc: ChrB,ChrW,Cbool, ) I.9 Một số hàm kiểm tra 2. Hàm isArray( ): Kiểm tra một biểu thức có phải là mảng hay không ? Hàm trả về kiểu Boolean Ví dụ: -> true 1. Hàm isDate( ): Kiểm tra một có phải là kiểu ngày hay không ? Hàm trả về kiểu Boolean Ví dụ: -> true 2. Hàm isEmpty( ): Kiểm tra một biến đã được khởi tạo hay chưa. Hàm trả về kiểu Boolean. 3. Hàm isNumeric( ): Kiểm tra một biểu thức có phải là số hay không ? Hàm trả về kiểu boolean. Nguyễn Hoàng Hà 7
  8. Giáo trình ASP CHƯƠNG II CẤU TRÚC ĐIỀU KIỂN II.1 Cấu trúc IF Then Dạng I: Cú pháp: If then Ví dụ: Tìm số lớn nhất của 2 số a và b (a,b là 2 số ngẫu nhiên) b then max=a if b>a then max=b %> Số lớn nhất của và là Dạng II: Cấu trúc If Then else Cú pháp: If then else end if ví dụ b then max=a else max=b end if %> Số lớn nhất của và là Nguyễn Hoàng Hà 8
  9. Giáo trình ASP II.2 Cấu trúc Select Case Cú pháp: Select Case Case Case Case else End Select Tập hằng có thể là 1 hằng số ví dụ 1,có thể là tập hằng ví dụ: 1,2,3. Ví dụ: Lấy ngẫu nhiên 1 số và thông báo số đó nằm trong khoảng nào: ‘ Lấy ngẫu nhiên 1 số từ 1 đến 10 nam trong khoa 1-3 so do la so 4 hoac 5 so do la so 6 khong nam trong khoang 1 den 6 II.3 Cấu trúc For Next Cấu trúc này được sử dụng khi số lần lặp được xác định. For = To [Step ] [Câu lệnh] [Exit For] [Câu lệnh] Next Exit for: Để ngắt ngang vòng lặp Quá trình thực hiện câu lệnh: B1: = Nguyễn Hoàng Hà 9
  10. Giáo trình ASP B2: Nếu > thì thoát ra khỏi vòng lặp. Ngược lại thì sau đó nếu có Step thì = + số còn không thì tăng lên 1. Sang b2 Ví dụ 1: In ra các số lẻ từ 1 đên 100 Ví dụ 2: In ra bảng cửu chương: x = II.4 Cấu trúc Do Loop Cấu trúc này được sử dụng khi số lần lặp không được xác định. Dạng 1: Do while Loop Lặp trong khi còn đúng Dạng 2: Do Loop Lặp trong khi sai Dạng 3: Do Until Loop Lặp trong khi sai Dạng 4: Do Loop While (biểu thức logic) Lặp trong khi đúng Chú ý: Ta có thể dùng Exit Do để để cắt ngang vòng lặp Nguyễn Hoàng Hà 10
  11. Giáo trình ASP II.5 Cấu trúc For Each next trong mảng Mảng là 1 dãy các giá trị cùng kiểu với nhau, có cùng tên và truy xuất thông một con số nào đó gọi là chỉ số của mảng. Khai báo: Dim ( ) Ví dụ: Dim a(10) Cấu trúc for Each Next làm việc giống như vòng lặp For next nhưng nó lặp lại khối lệnh theo số phần tử của một tập các đối tượng hay một mảng thay vì theo số lần lặp xác định. Vòng lặp này rất tiện lợi khi ta không biết chính xác bao nhiêu phần tử trong tập hợp. Cú pháp: For Each In Next Ví dụ: II.6 Mảng động + Đối với mảng tỉnh thì ta phải biết chính xác bao nhiêu phần tử và khai báo số phần tử lớn nhất, ta không thể xoá đi 1 phần tử trong mảng. Để khắc phục điều đó ta sử dụng mảng động. Cú pháp: Dim () Với khai báo trên thì ta chưa sử dụng được vì đây là mảng rỗng. Khi sử dụng ta phải cấp phát vùng nhớ cho mảng bằng lệnh: ReDim ( ) ‘ Mảng 1 chiều ReDim ( , ) ‘ Mảng 2 chiều Ví dụ: ReDim a(10) Khi cần thay đổi số phần tử của mảng và giữ lạigiá trị cũ ta cũng dùng cú pháp. Redim Preserve () Ví dụ: Thay đổi số phần tử của mảng a lên 12 và giữ lại giá trị cũ : ReDim Preserve a(12) + Hàm Ubound( ): Hàm trả về số phần tử của mảng Ví dụ: ReDim a(12) Ubound(a) -> 12 I.7 Hàm và thủ tục 1. Thủ tục Nguyễn Hoàng Hà 11
  12. Giáo trình ASP Một thủ tục giống như một lệnh của VBScript, nó thực hiện các câu lệnh bên trong thủ tục và không trả về giá trị. Cú pháp: Sub ( ) End Sub Lời gọi thủ tục: Ví dụ: Viết thủ tục in ra các số từ 1 đến 100 2. Hàm Hàm có ý nghĩa giống như thủ tục nhưng hàm trả về giá trị sau khi thực hiện xong. Cú pháp: Function (Danh sách các đối số) End Function Trong câu lệnh phải có lệnh: = Lời gọi hàm: (danh sách các đối số) 3. Tham biến , tham trị: Tham trị: Sử dụng từ khoá ByVal trước tham số hình thức. Tham biến: Sử dụng từ khoá ByRef trước tham số hình thức. Mặc định là tham biến Ví dụ 1: Tham biến Nguyễn Hoàng Hà 12
  13. Giáo trình ASP -> n=10 Ví dụ 2 Tham trị: -> 9 I.8 Một số chú ý khi viết chương trình 1. Đối với từ khoá, câu lệnh và biến Vbscript không phân biệt chữ thường và hoa 2. Sử dụng dấu ‘ để chú thích 3. Nếu câu lệnh quá dài thì ta có thể sử dụng dấu _ để xuống dòng Ví dụ: b and _ (b>c) then %> 3. Nối chuỗi: sử dung phép dấu & Nguyễn Hoàng Hà 13
  14. Giáo trình ASP CHƯƠNG III OBJECT TRONG VBSCRIPT II.1 Các khái niệm cơ bản về object Đối tượng (Object) đơn giản chỉ là nhóm các hàm và biến. nhóm này được gán cho một tên nào đó. Object là một cách thức hay để tổ chức các thủ tục, hàm và biến. Một số thuật ngữ thường dùng: 1. Thuộc tính (property/Attibute): Thuộc tính biểu diễn nhưng tính chất đặc trưng của đối tượng. Ví dụ: Đối tượng Người thì có các thuộc tính như: Họ tên, năm sinh, quê quán . 2. Phương thức (method): Phương thức đơn giản là những hàm và thủ tục bên trong một đối tượng. Nó là những gì mà đối tượng đó có thể làm. Ví dụ : Tạo ra một đối tượng SinhVien có 6 thuộc tính Mã , họ tên, Địa chỉ, Điểm môn 1, điểm môn 2 và một phương thức Tính điểm trung bình. % Class sinhvien dim ma,hoten,diachi,diemmon1,diemmon2 Function dtb dtb=(diemmon1+diemmon2)/2 end function end class %> -> 7.5 Chú ý: Khi gán một đối tượng cho một biến thì ta phải dùng: set = còn gán giá trị cho một biến: = II.2 Một số đối tượng kịch bản trong Vbscript Trong Vbscript có những đối tượng đã được xây dựng sẳn, chúng được gọi là Đối tượng kịch bản (Script Object ). Những đối tượng này được thiết kế để mở rộng khả năng ngôn ngữ, giúp cho người lập trình có nhiều chức năng hơn. 1.Đối tượng ERR (lỗi) Thông thường, khi kịch bản thực thi trên server, nếu Vbscript phát sinh lỗi , nó sẽ gởi những thông báo lỗi về phía Browser thông qua trang Web. Đặt dòng lệnh vào đầu trang ASP hoặc đầu của thủ tục hoặc hàm mà bạn tạo Dòng lệnh này có ý nghĩa: Khi Vbscript thực thi phát sinh lỗi thì chương trình sẽ không dừng lại mà tiếp tục nhảy đến thực thi dòng lệnh kế tiếp. Thông qua Đối tượng Err chúng ta có thể biết được những lỗi nào đã phát sinh Một số thuộc tính của Đối tượng Err Nguyễn Hoàng Hà 14
  15. Giáo trình ASP + Number và Description: Cung cấp mã lỗi và mô tả lỗi nếu number 0 then %> Nơi xuất hiện lỗi: Mô tả lỗi: Lỗi số Thương= Trên trình duyệt : Nơi xuất hiện lỗi: Microsoft VBScript runtime error Mô tả lỗi: Division by zero Lỗi số 11 Một số phương thức của Đối tượng Err + Clear : Xoá tất cả các thông tin lỗi trong đối tượng Err. Dùng phương thức này khi bạn bắt được tất cả lỗi. + Raise: Tự tạo ra mã lỗi. Sử dụng phương thức này ta có thể tạo ra mã lỗi của mình. Raise( , , , , ) Ví dụ: 0 then %> err.Raise 1,"Lỗi khi chạy trên trên VB", "Lỗi chia cho 0" %> Nơi xuất hiện lỗi: Mô tả lỗi: Nguyễn Hoàng Hà 15
  16. Giáo trình ASP Lỗi số Thương= Trên trình duyệt : Nơi xuất hiện lỗi: Lỗi khi chạy trên trên Vbscript Mô tả lỗi: Lỗi chia cho 0Lỗi số 11 2. Đối tượng Dictionary Đối tượng Dictionary cung cấp một cách thức thuận lợi để lưu trữ và lấy thông tin. Dictionary tổ chức dữ liệu bằng số chỉ mục như là một mảng. + Tạo ra một instance của Đối tượng Dictionary Trước khi dùng Đối tượng này ta phải tạo ra một instance. Cú pháp: = CreateObject(“Scripting.Dictionary”) Khác với Đối tượng Err, trong trang asp ta có thể tạo ra nhiều Đối tượng Dictionary. Key Key Key Item Item Item + Một số phương thức và thuộc tính của Đối tượng Dictionary: Add key,Item : Đưa thêm vào 1 key và Item vào đối tượng Dictionary. Key và item phải đi kèm với nhau. Ví dụ: Như số chứng minh nhân dân và họ tên của một người Ví dụ: Nhập vào số chứng minh nhân dân và họ tên của một số người Thuộc tính Item cho biết Item của một Key nào đó:Item(Key) Ví dụ: In ra họ tên của người có số chứng minh nhân dân là 100 Thuộc tính Count cho biết số Item trong Đối tượng Dictionary Phương thức Keys: Trả về mảng lưu trữ các key của Dictionary Phương thức Items: Trả về mảng lưu trữ các item của Dictionary Ví dụ 1: In ra số chứng minh nhân dân và họ tên. Nguyễn Hoàng Hà 16
  17. Giáo trình ASP Số chưng minh Họ và tên Kết quả: Số chứng minh Họ và tên 100 Nguyen van An 101 Le Van Be 102 Tran mung Phương thức loại bỏ một phần tử: Remove( ) Ví dụ: Loại bỏ người có số chứng minh là 100. Phương thức Loại bỏ tất cả các phần : RemoveAll() Phương thức Exists( ): Trả về true nếu tồn tại key trong Đối tượng Dictionary. Ví dụ: Tìm xem có số chứng minh nhân dân là 100 hay không nếu có in ra họ tên của ngưòi đó: Nguyễn Hoàng Hà 17
  18. Giáo trình ASP 3. Đối tượng Filesystemobject Filesystemobject cho phép làm việc với file, Thư mục. sử dụng Đối tượng nầy ta có thể sửa,xem, xoá các tập tin trên WebServer( tất nhiên ta phải có quyền đọc viết (Sử dụng IIS hoặc PWS ) ). Trước khi dùng Đối tượng Filesystemobject ta phải tạo ra một instance: set =CreateObject("Scripting.filesystemObject") Ví dụ: Một số phương thức chính của Đối tượng Filesystemobject + CopyFile (“Nguồn”,”đích”): Chép tập tin từ nguồn sang đích. + MoveFile (“Nguồn”,”Đích”): Di chuyển tập tin từ nguồn sang đích + CopyFolder (“Nguồn”, “Đích”): Chép thư mục từ nguồn sang đích. + CreateFolder (“Đường dẫn”): Tạo thư mục chỉ ra trên đường dẫn + CreateFolder (“Đường dẫn ”): Tạo một thư mục mới +Deletefile (“Đường dẫn ”): Xoá tập tin, có thể dùng ký tự đại diện * + DriveExists (“Ổ đĩa”), FolderExists(“Đường dẫn ”), FileExists(“Đường dẫn ”): Kiểm tra xem có tồn tại ổ đĩa, thư mục , tập tin hay không ?. +GetDrive(“ổ đĩa”): Trả về đối tượng Drive tương ứng với ổ đĩa +GetFolder(“Đường dẫn ”): Trả về Đối tượng Folder tương ứng với thư mục chỉ ra trên đường dẫn . +GetFile(“Đường dẫn ”) : Trả về đối tượng File tương ứng với file chỉ ra trên đường dẫn. 3.1 Đối tượng Drive và tập hợp Driver. Tập hợp Driver cho ta một mảng các đối tượng Drive. Các thuộc tính của đối tượng Drive: + DriveLetter: Tên ổ đĩa +VolumnName: Nhãn ổ đĩa +FreeSpace: Không gian đĩa còn trống tính theo byte +TotalSize: Dung lượng đĩa +IsReady: Đĩa đã sẵn sàng để truy nhập hay chưa ? +DriveType: Loại ổ đĩa, gồm các giá trị sau: 0: Unknown 1: Removable (như floppy hay Zip) 2: Fixed (đĩa cứng) 3: Network Drive. 4: Cdrom drive 5: Ram Drive + FileSystem: Loại file system đang sử dụng trên đĩa như: “FAT”,”NTFS” +RootFolder: Trả về thư mục gốc của ổ đĩa. Thuộc tính này cho phép lấy tất cả các thư mục và tập tin trên ổ đĩa: Ví dụ: Hãy in ra tên tất cả ổ đĩa, loại ổ đĩa, dung lượng đĩa và số byte còn trống trên đĩa. Nguyễn Hoàng Hà 18
  19. Giáo trình ASP Ten o dia: Loai o dia: Dung luong: So byte con trong: Chua bo dia vao o Tong so byte con trong tren cac dia: 3.2 Đối tượng Folder Đối tượng folder có các phương thức Copy, delete và Move. Một số thuộc tính của đối tượng Folder + Name: Thông tin của thư mục + DateCreated, DateLastAccessed, DateLastModified: Ngày tạo và ngày sửa thư mục + size: Kích cở của thư mục + Drive: Ổ đĩa chứa thư mục +ParentFolder: Thư mục cha +SubFolders: Trả về là một tập hợp các Folder bao gồm các thư mục con + IsRoot: Có phải thư mục gốc hay không ? +Files: Trả về tập hợp các file trong thư mục. Ví dụ: Giả sử đã tồn tại thư mục ASP nằm trong thư mục gốc ổ C. Hãy cho biết dung lượng và liệt kê các thư mục con của thư mục này: Nguyễn Hoàng Hà 19
  20. Giáo trình ASP 3.3 Đối tượng file Đối tượng file có các phương thức Copy, delete và Move. Các thuộc tính: +Name: tên của file + DateCreated, DateLastAccessed, DateLastModified: Ngày tháng tạo, lần cuối truy nhập, thay đổi. + Size: Kích cở file + Drive: Ổ đĩa chứa tập tin. +ParentFolder: Thư mục chứa file Ví dụ: Hiển thị tất cả các thư mục con và các file của c:\ASP:      4. Đối tượng Textstream Đối tượng Textstream cho phép ta tạo mới tập tin hoặc thêm vào tập tin đã tồn tại. + Phương thức CreateTextFile(“Đường dẫn”): Tạo mới một file và trả về là đối tượng Textstream + Một số phương thức của đối tượng Textstream: o Write(“Chuỗi”): Ghi một chuỗi vào file o WriteLine(“Chuỗi”): Ghi một chuỗi vào file có kèm ký tự xuống dòng. o WriteBlankLines: Ghi số dòng trắng vào file o Close: Đóng file Ví dụ: Tạo một tập tin có tên btap.txt lưu ở Thư mục gốc ổ đĩa D <% dim file set file=CreateObject("Scripting.filesystemObject") set newfile=file.CreateTextFile("d:\btap.txt") newfile.writeline("Cong hoa xa hoi") newfile.writeline() Nguyễn Hoàng Hà 20
  21. Giáo trình ASP newfile.writeline("bai tap") newfile.close %> + Phương thức Opentextfile(“Đường dẫn”, mode,Format): Mở một file và trả về đối tượng Textstream. Mode: Kiểu đọc 1: Read 2:Write 8.Append Format: 0 : Mở tập tin dưới dạng ASCII -1: Mở dưới dạng hổ trợ Unicode -2: Mở file dùng chế độ ngầm định của hệ thống + Một số phương thức của đối tượng Textstream: - Read: Tham số là số ký tự cần đọc - ReadLine: Đọc một dòng trong file - ReadAll: Đọc toà bộ tập tin - Skip( ): Bỏ qua số ký tự trong file - Skip All: Bỏ qua dong kế tiếp trong tập tin - Close: Đóng tập tin + Một số thuộc tính của đối tượng Textstream: - AtEndOfStream: Cho giá trị True nế đứng ở cuối file - AtEndOfLine: Trả về true nếu đứng ở cuối dòng của file - Line: số dòng trong tập tin Ví dụ: Hiển thị file Btap.txt set file=CreateObject("Scripting.filesystemObject") dim fo set fo=file.OpenTextFile("d:\btap.txt" ,1,-1) Bài tập thực hành: 1. Hiển thị tất cả các ổ đĩa trên máy, nếu ổ đĩa nào tồn tại thì cho liên kết sang file: filesystemObject.asp <%Dim file1,fold1,drv1,i1 set file1=CreateObject("Scripting.filesystemObject") set drv1 =file1.Drives for each i1 in drv1 if i1.isready then Nguyễn Hoàng Hà 21
  22. Giáo trình ASP %> Nguyễn Hoàng Hà 22
  23. Giáo trình ASP CHƯƠNG IV ĐỐI TƯỢNG SERVER IV.1 Đối tượng server Các đối tượng server không là một phần của môi trường kịch bản như các đối tượng kịch bản mà ta đã học, nó là một phần của Webserver. Điểm khác nhau giữa đối tượng server và các đối tượng kịch bản: Các đối tượng Server được tính hợp bên các trong phần mềm WebServer như IIS hoặc PWS. Các đối tượng Server luôn luôn tồn tại và có thể sử dụng bất kỳ lúc nào mà không phải khởi tạo (tức là ta không cần sử dụng CreateObject để tạo ra đối tượng Server) Các phương thức và thuộc tính của đối tượng Server 1. Thuộc tính ScripTimeout Khi thực hiện một Script trên Server có thể vì lý do nào đó mà chương trình bị treo (ví dụ như vòng lặp lặp vô hạn). Khi đó nều không muốn cho Web Server bị ngưng lại và chờ đợi Script hoàn thành công việc thì ta dùng thuộc tính ScripTimeout để chỉ ra số giây tối đa Server nên chờ trước khi huỷ bỏ xử lý Script Cú pháp: Server.ScripTimeout= Số giây ngầm định là 90 giây 2. Phương thức CreateObject Cú pháp: Set =Server.CreateObject( ) : Chỉ ra các lớp chương trình cần phải tạo ra các thành phần hoạt động của đối tượng . ví dụ: Tạo ra thành phần của đối tượng RecordSet Chú ý: ta không thể tạo ra các thành phần hoạt động của một trong các đối tượng cài đặt sẳn. 3. Phương thức HtmlEncode Cú pháp: Server.HtmlEncode(“Chuỗi HTML”): Mã hoá để khi nó hiển thị trên trình duyệt , trình duyệt sẽ không dịch HTML như là những lệnh bố trí văn bản. Ví dụ: %= " abc "%> Trên trình duyệt ta sẽ thấy: abc Để hiển thị chuỗi " abc thì ta phải mã hoá chuỗi đó abc " %>) Trên trình duyệt ta sẽ thấy: Nguyễn Hoàng Hà 23
  24. Giáo trình ASP " abc IV.2 Đối tượng Request Đây là đối tượng Input, đối tượng này lưu trữ thông tin từ Browser gởi đến Web Server. 1. Tập hợp Cookies Cookies là một file có kích thước nhỏ được lưu trữ trên máy của client. Thông thường là ở trong thư mục: Temporary Internt Khi người dùng thăm website, ta có thể gắn 1 tập tin có chứa thông tin lên đĩa cứng của họ. Tập tin này có thể lưu trữ thông tin bạn muốn như: Thông tin user, thống kê số lần truy cập website Tập hợp Cookies trong các đối tượng Request dùng để xem giá trị trong Cookies được chuyển đến Web Server từ Browser. Bởi vì Cookies là một tập tin văn bản nên ta có thể hiển thị toàn bộ cún pháp của nó như là một chuỗi. Cú pháp: )( ) %> , : Có kiểu chuỗi 2. Tập hợp Form Các form HTML chp phép người dùng vào dữ liệu thông qua nút điều khiển như edit, radio button, check box Khi đó ta có thể gởi thông tin lên Webserver bằng cách kích nút Submit. Trên Server ta có thể sử dụng ASP với tập hợp Form để lưu giữ thông tin gởi đến. Khi tạo trang HTML ta phải có một phương thức để mô tả form đang thực hiện. Có hai tuỳ chọn là Get và Post nhưng Post là phổ biến nhất. Nếu phương thức của form là Post thì thông tin đưa vào form sẽ được cập nhật thông qua tập hợp form này. Trên Server có thể lấy thông tin gởi đến bằng cú pháp: =Request.Form(“tên nút điều khiển”) %> Ví dụ: Tính tổng 2 số a và b nhập từ bàn phím: Ta thiết kế giao diện trên file có tên là file1.htm: Nhap a= Nhap b= Trên file cong.asp: <% dim a Nguyễn Hoàng Hà 24
  25. Giáo trình ASP dim b a=Request.Form("t1") b=Request.Form("t2") if IsNumeric(a) and IsNumeric(b) then %> + = Gia tri cua a va b phai co kieu so Khi chạy file1.htm ta sẽ thấy trên trình duyệt như sau: Người dùng nhập dữ liệu cho a=5,b=6 và kích vào nút Tính thì file cong.Asp sẽ thực hiện (method="POST" action="cong.asp">). a=Request.Form("t1") ‘ là tên của text1, a=5 b=Request.Form("t2") ‘ là tên của text2 , b=6 Và kết quả trên màn hình: 5+6=11 4. Tập hợp Querystring Tập hợp Querystring cho phép lấy thông tin gởi đến bằng phương thức Get với biểu mẫu HTML và dữ liệu gắn với URL khi trang web được yêu cầu. Cú pháp: =Request.Querystring (“Tên biến”) %> Ví dụ: Ta nhớ lại tạo liên kết và truyền tham số trong HTML: Ví dụ: Trên file1.asp lấy ngẫu nhiên 2 số a và b nào đó sau đó tạo một liên kết có tên a cộng b. Khi người sử dụng kích chuột vào liên kết trên thì sang file congget.asp để tính tổng a và b: Trên File1.asp Nguyễn Hoàng Hà 25
  26. Giáo trình ASP File congget.asp: + = Gia tri cua a va b phai co kieu so Khi chạy file file1.asp và kích vào liên kết a cong b thì ta phầy trên thanh địa chỉ: Như vậy file1.asp đã truyền tham số a=0.7055475&b=0.533424 sang file congget.asp và trên server: a=Request.QueryString("a") b=Request.QueryString("b") sẽ nhận được 2 tham số trên. 5. Thuộc tính TotalBytes Lưu trữ số byte mà Browser gởi đến Web Server trong phần yêu cầu HTTP 6. Phương thức BinaryRead Đọc số byte trực tiếp gởi đến từ Server thông qua Post. Dữ liệu đọc từ yêu cầu HTTP bằng phương thức này trả về một mảng biến thể đặc biệt (Gọi là mảng SafeAray) chứa kích thướt và các phần tử của mảng. Cú pháp: = Request.BinaryRead( ) Nếu sử dụng phương thức này thì không thể truy xuất thông tin từ form (không được dùng request.Form “ ”) IV.3 Đối tượng Response Đối tượng request nhận dữ liệu từ Browser gởi đến Server, đối tượng response cho phép lấy dữ liệu từ Web Server gởi trả về Browser. Nguyễn Hoàng Hà 26
  27. Giáo trình ASP 1.Tập hợp Cookies Tập hợp Cookie của đối tượng Request dùng để lấy thông tin từ file Cookie được lưu trong máy Client, Cookie của đối tượng Ressponse dùng để tạo mới cookie và thay đổi thông tin trong cookie mà ta đã tạo. Tạo mới một file Cookie và thay đổi dữ liệu đang tồn tại trong Cookie bằng cú pháp: )( ) = ) %> Ví dụ: Hiển thị số lần truy cập của client: 2. Phương thức redirect Cú pháp: Khi gặp lệnh này thì Browser sẽ mở URL đó. Trở lại ví dụ trên: Tính tổng 2 số a và b nhập từ bàn phím, nếu người sử dụng nhập không đúng thì gọi lại file1.htm. Ta thiết kế giao diện trên file có tên là file1.htm: Nhap a= Nhap b= Trên file cong.asp: + = Nguyễn Hoàng Hà 27
  28. Giáo trình ASP response.redirect(“file1.htm”) 3. Phương thức Write Phương thức write dùng để xuất kết quả là một chuỗi ra Browser. Phương thức write chấp nhận một chuỗi như một đối số. Cú pháp: ) %> Chú ý: Trong ta có thể là chuổi văn bản , thẻ HTML, đoạn Script nếu là chuỗi văn bản thì xuất chuỗi đó, nếu là thẻ HTML, đoạn Script thì thi thi các chức năng trong chuổi. Để xuất thẻ HTML, đoạn Script thì ta dùng Server.HTMLEncode( ) Ví dụ: 11/11/76 Huế”) %> Kết quả in ra trên Browser của Client: Nguyễn văn A 11/11/76 Huế 11/11/76 Huế”) ") %> Kết quả: Nguyễn văn A 11/11/76 Huế 4. Thuộc tính Buffer Thông thường khi một trang ASP được xử lý trên WebServer , những phần đã được xử lý xong sẽ gởi được gởi đến Browser. Nghĩa là khi phần đầu đã được xử lý xong thì lập tức gởi đến Browser trong khi Script tiếp theo vẫn đang được xử lý. Ta có thể thay đổi điều này bằng cách đặt thuộc tính Buffer là true. Khi đó các Script trong trang ASP được xử lý hoàn tất thì nội dung mới gởi đến Browser . Cú pháp: Nếu là True thì tất cả các Script được thực thi xong sau đó mới gởi kết quả về Browser. Nếu là false những phần đã được xử lý xong sẽ gởi được gởi đến Browser và các phương thức Clear, End, Flush sẽ bị lỗi. 5. Phương thức Flush Phương thức Flush cho phép bạn gởi dữ liệu trong Buffer đến Browser ngay lập tức. Trước khi dùng phương thức nầy ta phải đặt thuộc tính của Buffer là true Cú pháp: Nếu ta dùng phương thức này thì trang Web sẽ tải xuống nhanh hơn vì không phải chờ Script thực hiện xong. Nguyễn Hoàng Hà 28
  29. Giáo trình ASP 6. Phương thức End Phương thức End dùng để chấm dứt tất cả các tiến trình và các Script đang chạy, các nội dung hiện hành trong bộ đệm sẽ được gởi đi và các lệnh sau phương thức này đều không được thực hiện Cú pháp: 7. Phương thức Clear Dùng để xoá tất cả các nội dung có trong Buffer Cú pháp: 8. Phương thức Binawrite Dùng để gởi thông tin nhị phân sử dụng giao thức HTTP, nhưng không có bất kỳ ký tự nào bị thay đổi khi ta thực hiện sự chuyển đổi này. Cú pháp: IV.4 Đối Tượng Application và Session Các đối tượng Application và session làm việc giống nhau và dùng cho các thao tác tương tự nhau. Đối tượng Application dùng để lưu trữ thông tin về ứng dụng ASP. Đối tưọng Session lưu trữ việc theo dõi từng cá nhân truy cập các ứng dụng. Đối tượng Application Đối tượng Application lưu trữ các biến và đối tượng của toàn bộ một ứng dụng. Ta hình dung đối tượng Application như là một biến toàn cục của một ứng dụng. Mọi trang là là một phần của ứng dụng đều có thể truy xuất các biến và đối tượng đó. Chỉ có duy nhất một thực thể (instance) của đối tượng Application đối với mỗi ứng dụng chạy trên Server. 1. Tập hợp Contents Tập hợp Contents chứa tất cả các biến được giới hạn ở mức độ ứng dụng và các đối tượng bổ sung vào ứng dụng hiện tại thông qua sử dụng Script. Ví dụ: Đếm số lần truy cập vào server. Ta tạo một biến Application và mỗi lần truy cập vào Server ta tăng biến đếm: 2. Phương thức Lock Dùng để khoá đối tượng Application, ngăn cản không cho thay đổi giá trị của bất kỳ biến nào trong tập hợp Contents. Cú pháp: Application .lock 3. Phương thức Unlock Phương thức Unlock dùng dể huỷ bỏ khoá đối tượng Application để ta có thể thay đổi các giá trị của biến trong tập hợp Contents Ví dụ: Đếm số lần truy cập vào server. Ta tạo một biến Application và mỗi lần truy cập vào Server ta tăng biến đếm: <%Application.lock Nguyễn Hoàng Hà 29
  30. Giáo trình ASP Application("t")=Application("t")+1 Response.Write Application("t") Application.Unlock %> Đối tượng Session Đối tượng Session dùng để lưu trữ thông tin hay thay đổi các thiết lập đối với mỗi user. Các biến trong Session lưu trữ thông tin riêng biệt về phiên làm việc của một User nào đó , các biến sẽ được tồn tại ở tấc cả các trang trong một ứng dụng và user có thể truy nhập ở bất kỳ một trang nào đó. Các thông tin có thể là tên, id Server sẽ tự động tạo một đối tượng Session mới ứng với từng user đồng thời sẽ tự động huỷ bỏ đối tượng Session khi đối tượng Session hết thời hạn. Ví dụ: Web side bán hàng trên mạng thì cùng một lúc có thể có nhiều người mua hàng trên mạng, khi đó mỗi người mua thì Server sẽ tự động tạo ra một session cho từng người và khi mua xong hoặc không mua thì Session của người đó sẽ bị huỷ. 1. Khởi tạo một Session Một Session được khởi tạo khi: Một user mới yêu cầu một trang Asp trong một ứng dụng và tập tin Global. Asa bao gồm thủ tục Session_OnStart. Khi một User lưu trữ giá trị trong một đối tượng Session 2. Kết thúc một Session Một Session kết thúc khi user không yêu cầu hay Refresh một trang trong khoảng thời gian qui định nào đó. Mặc định là 20 phút. Tuy nhiên ta có thể thay đổi lại giá trị bằng cách thiết lập lại thuộc tính TimeOut. %> Để kết thúc một Session: 3. Lưu trữ và lấy giá trị của biến Lưu trữ: ”)= %> Lấy giá trị: ”) Ví dụ: Trên file1. asp: Trên file2. asp Khi chạy file1. asp ta có kết quả: 1Nguyen van A. Nguyễn Hoàng Hà 30
  31. Giáo trình ASP 4. Loại bỏ tất cả biến ra khỏi đối tượng Session. Tất cả các biến được lưu trữ trong tập hợp Contents. Loại bỏ một biến nào đó ra khỏi đối tượng Session : ”) %> Loại bỏ tất cả các biến: . Chú ý: Để truy xuất đến các biến trong đối tượng Session ta thường duyệt qua toàn bộ tập hợp Contents. Ví dụ: " + i + ":" + Session.Contents(i) next %> Kết quả: a:1 b:Nguyen van A c:2 d:Tran van An Nguyễn Hoàng Hà 31
  32. Giáo trình ASP CHƯƠNG V ASP VÀ DATABASE Kết nối NGÔN NG Ũ LẬP TR ÌNH (ASP, VB, ) Lấy v à gởi dữ liệu CƠ SỞ DỮ LIỆU (Access, Sql server, .) Khi lập trình cơ sở dữ liệu thì bước đầu tiên ta phải làm là tạo ra một đường kết nối với hệ quản trị cơ sở dữ liệu nào đó, dựa vào đường kết nối này để lấy dữ liệu về sau đó xử lý và gởi dữ liệu lên lưu trữ ở hệ quản trị cơ sở dữ liệu đó. I. Đối tượng Connection Đối tượng Connection dùng để tạo ra một đường kết nối với hệ quản trị cơ sở dữ liệu nào đó. Đối tượng Connection bao gồm 3 thông tin chính: Tên cơ sở dữ liệu Giao thức (driver/provider) tương ứng với cơ sở dữ liệu trên User ID và password 1. Tạo một Đối tượng Connection: Cú pháp: = Server.CreateObject(“ADODB.Connection”) %> 2. Một số phương thức và thuộc tính của đối tượng Connection. a. Phương thức Open: Được sử dụng để mở một liên kết với cơ sở dữ liệu, cú pháp: .open . Chuỗi kết nối để xác đinh tên cơ sở dữ liệu, giao thức nào được mở. Ví dụ: + Mở một đường kết nối đến hệ quản trị cơ sở dữ liệu Microsoft Access 97 với cơ sở dữ liệu vd.mdb Nguyễn Hoàng Hà 32
  33. Giáo trình ASP +Mở một đường kết nối đến server: NHHA, hệ quản trị cơ sở dữ liệu Microsoft SQL server với cơ sở dữ liệu SACH, User name: Sa, Password log vào SQL Server: 111298. Chú ý: Thứ tự của giao thức, User, Password, là không quan trọng nhưng phải cách nhau bởi ; b. Phương thức Close. Sau khi hoàn tất việc truy xuất và thực hiện trên cơ sở dữ liệu chúng ta nên đóng kết nối. Cú pháp: .Close c. Thuộc tính cursorlocation Thuộc tính cursorlocation thiết lập hoặc trả về vị trí của cursor service: phía client hay server. Con trỏ được sử dụng để : - Kiểm soát sự điều hướng mẫu tin - Kiểm soát khả năng thay đổi trong cơ sở dữ liệu - Kiểm soát khả năng cập nhật dữ liệu. Cú pháp: .cursorlocation= Trong đó: định vị =2: adUseServer định vị=3: adUserclient d. Thuộc tính State Thuộc tính state trả về giá trị mô tả trạng thái của đối tượng: open (mở), closed (đóng), connecting (đang kết nối), executing (đang thực thi) hay retrieving (đang lấy dữ liệu). Giá trị mặc định là 0 Bảng giá trị của các giá trị State Hằng Giá trị AdStateClosed 0 AdStateOpen 1 AdStateConnecting 2 AdStateExecuting 4 AdStateFetching 8 Nguyễn Hoàng Hà 33
  34. Giáo trình ASP Ví dụ: Giá trị mặc định: Gia trị khi dang mo: Gia tri sau khi dong ket noi: II. Đối tượng Recordset Đây là đối tượng quan trong và được sử dụng thường xuyên. Recordset thưòng được sử dụng để lấy thông tin trong các bảng, query (truy vấn) hay các stored procedure (thủ tục lưu trữ) trong cơ sở dữ liệu. Trong toàn bộ phần này ta thao tác trên bảng sách (c:\sach.mdb) SACH MASACH TENSACH TACGIA NXB Tạo một đối tượng Recordset. = server.createObject(“ADOBD.Recordset ”) Một sô phương thức của đối tượng Recordset. Phương thức Open. Cú pháp: .open Source, ActiveConnection, cursorType, LockType + Source (nguồn) có thể: - Tên bảng: Nếu muốn lấy toàn bộ bảng. - Câu lệnh SQL: Nếu muốn lấy dữ liệu theo yêu cầu nào đó: Ví dụ: Hãy hiển thị tên sách của tác giả “Quách Tuấn Ngọc” Select tensach from SACH where tacgia=’Quách Tuấn Ngọc’ - Thủ tục lưu trữ (Stored Procedure): Nếu dùng SQL server, query: nếu dùng Access. + ActiveConnection: Cách thức truy nhập dữ liệu trực tiếp qua một chuỗi kết nối hay thông qua đối tượng Connection. Trong một chương trình ta có thể mở nhiều đường kết nối, để lấy dữ liệu về theo đường nào ta phải chỉ rỏ. Nguyễn Hoàng Hà 34
  35. Giáo trình ASP Ví dụ: Mở một đường kết nối đến cơ sở dữ liệu csdl.mdb (Access2000) Lấy toàn dữ liệu trong bảng SACH về đối tượng rs để xử lý: + CursorType: Kiểu con trỏ mà cơ sở dữ liệu sử dụng khi mở Recordset: Con trỏ (Cursor) dùng để điều khiển sự định hướng các mẫu tin. Bao gồm bốn loại con trỏ: Hằng số Giá trị Ý nghĩa AdOpenForwardOnly 0 Đây là con trỏ mặc định, với con trỏ này, ta chỉ có thể truy xuất tuần tự (từ trên xuống) trong Recordset . AdOpenKeySet 1 Con trỏ động. Cho phép sửa đổi, thêm hay xoá ngay cả khi Recordset đang được mở bởi User khác. Con trỏ động hổ trợ sự tới lui trong Recordset nhưng không hổ trợ bookmark. AdOpenDynamic 2 Giống như con trỏ động nhưng không cho truy xuất đến những record đang đuợc các user khác truy xuất. Con trỏ này cho phép di chuyển tiến lùi trên Recordset, nó hổ trợ bookmark trong Recordset . AdOpenStatic 3 Con trỏ tỉnh. Không cho phép thay đổi record khi nó đang mở bởi user khác. +LockType: Kiểu khoá sẽ được sử dụng trong Recordset . Giá Hằng số trị Ý nghĩa Khoá mặc định, với loại khoá này các trường AdLockReadOnly 1 trong Recordset chỉ có thể đọc chứ không thể cập nhật hay xoá. Cho phép thay đổi dữ liệu trên Recordset , sự AdLockpessimistic 2 thay đổi này có tác dụng ngay lập tức trên Data Source (nguồn dữ liệu). Khoá mẫu tin hiện thời chỉ khi ta gọi phương AdLockOptimistic 3 thức Update. AdLockBachOptimistic 4 Thực hiện việc cập nhập theo lô Nguyễn Hoàng Hà 35
  36. Giáo trình ASP Ví dụ: Lấy dữ về để cập nhật, xoá, sửa trong cơ sở dữ liệu csdl.mdb bảng SACH. Phương thức Find Phương thức Find được sử dụng để tìm một record trong một Recordset thoả mản điều kiện nào đó. .Find , SkipCurrent, SearchDirection, Start - Criteria: Chuổi điều kiện câầntìm ví dụ: “tensach=’Ctdl’” - SkipCurrent: Mặc định là true, bỏ qua record hiện hành. - SearchDirection: Tìm tiến hay lùi (adSearchForward), mặc định là iến( adSearchBackward). - Start: Đánh dấu vị trí bắt đầu tìm. mặc đình là record hiện hành. Vì dụ: Tìm xem trong bảng SACH có tếnach là ctdl hay không ? Tương tự như phương thức Find ta có đặc tính Filter được sử dụng để lọc một danh sách các mẫu tin trong danh sách thoả mản điều kiện nào đó. Ví dụ lọc ra các cuốn sách của Quach Tuan Ngoc Rs.filter “’tacgia=’Quach Tuan Ngoc’” c. Phương thức Addnew Phương thức này cho phép tạo một mẫu tin mới, nhưng nó chỉ được cập nhật vào cơ sở dữ liệu khi ta gọi các phương thức Update hay UpdateBatch. d. Phương thức Update Phương thức Update dùng để cập nhật lại mẫu tin hiện thời trong cơ sở dữ liệu. e. Phương thức Delete. Phương thức delete cho phép xoá mẫu tin hiện thời trong Record. f. Phương thức Move Nguyễn Hoàng Hà 36
  37. Giáo trình ASP Phương thức move cho phép di chuyển đến 1 mẫu tin nào đó trước hay sau mẫu tin hiện hành. Cú pháp: . Move Numrecords Trong đó: + Numrecords: Số mẫu tin sẽ di chuyển đến: - Giá trị âm: di chuyển lùi. -Giá trị dương: di chuyển tới Ví dụ 1: Hãy viết chương trình để nhập dữ liệu bảng SACH: File1.htm ta xây dựng giao diện như sau: g. Một số thuộc tính của đối tượng RecordSet Thuộc tính Ý nghĩa BOF Trả về True nếu vị trí Record hiện thời nằm phía trước Record đầu tiên, ngược lại là False EOF Trả về Tru nếu vị trí record hiện thời nằm phía sau record cuối cùng, ngược lại là false RecordCount Trả về số record trong RecordSet Movefirst Di chuyển đến mẫu tin đầu tiên MoveLast Di chuyển đến mẫu tin cuối cùng MoveNext Di chuyễn đến mẫu tin kế tiếp MovePrevious Di chuyển đến mẫu tin phía trước Nguyễn Hoàng Hà 37
  38. Giáo trình ASP Tên: txtms Tên: Nhap Tên: txtts Tên:txttg Tên:txtnxb Khi nhấn vào nút NHAP thì liên kết sanh file nhap.asp . Nội dung của file nhap.asp như sau: Nguyễn Hoàng Hà 38
  39. Giáo trình ASP Ví dụ 2: Hiển thị thông tin của bảng SACH Mã sách Tên sách Tác Giả Ví dụ 3: Như ví dụ 2 nếu hiển thị thông tin tất cả các quyển sách trên một trang web thì rất nặng. Để khắc phục điều này ta phân ra từng trang mỗi trang là một số cố định các mẫu tin: <% dim trang,x,y trang=Request.QueryString("trang") if trang <1 then trang=1 set cn=server.CreateObject("ADODB.CONNECTION") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\CSdl.mdb" Nguyễn Hoàng Hà 39
  40. Giáo trình ASP set rs=server.CreateObject("ADODB.recordset") rs.CursorLocation =3 rs.open "select * from sach",cn,2,3 rs.PageSize =2 rs.AbsolutePage =trang x=rs.PageSize y=rs.AbsolutePage %> Ma sach Ten sach Tac Gia = rs.AbsolutePosition %>   Nguyễn Hoàng Hà 40
  41. Giáo trình ASP Ví dụ 4: Giả sử đã có cơ sở dữ liệu có quan hệ như sau: Hãy thiết kế giao diện sau: Để thiết kế giao diện như trên ta tạo ra một bảng 2 dòng một 3cột, sau đó trộn 3 cột của dòng đầu thành 1. + Tạo 1 bảng (Table->Insert -> Table) 3 dòng 2 cột + Trộn cột: bôi đen các cột cần trộn -> chọn Merge Cells. + Đặt tên cho file này là: index.asp Nguyễn Hoàng Hà 41
  42. Giáo trình ASP 2. (1) Gợi ý: + Insert->Form ->One-Line Textbox + Kích đôi vào Text Box để đặt tên (Name: ) +Kích đôi vào Submit để đôi tên thành Tìm Kiếm (Value/Label: ) +Kích vào Retset, nhấn delete để xoá +Nhấn Tab HTML để hiển thị code: Sửa lại: + Tạo 1 bảng (Table->Insert -> Table) 3 dòng 1 cột + Tao liên kết: Insert->HyperLink . Trong mục URL: gỏ xemgiohang.asp và dangky.asp + Đặt tên cho file này là: phai.asp 3. Tạo và lưu thành file trai.asp 4. Tạo trang Web index.asp như sau: Nguyễn Hoàng Hà 42
  43. Giáo trình ASP Gợi ý: + Tạo một bảng 2 dòng 3 cột: Sau đó sử dụng: để liên kết các file Ví dụ : + Lưu file với tên index.asp 4. Tạo và lưu file với tên: chitietcd.asp (1) + Tạo thêm file chitetcdinc.asp có nôi dung (1) + Nút Dua hang vao gio liên kết sang file muahang.asp + Tiếp tục mua hàng liên kết sang file index.asp 5. Tạo và lưu file với tên file muahang.asp (1) + Tạo thêm file muahanginc.asp có nội dung (1) +Tiếp tục mua hàng liên kết sang file index.asp Nguyễn Hoàng Hà 43
  44. Giáo trình ASP + Xoá giỏ hàng liên kết sang file xoagiohang.asp +Thanh toán liên kết sang file dangky.asp 6. Tạo và lưu thành file dangky.asp (1) T1 T2 T3 T4 T5 T6 + Tạo thêm file dangkyinc.asp có nôi dung (1) +Dang ky mua hang liên kết sang file thanhtoan.asp + Ti (i=1 6) tên của các text box Nguyễn Hoàng Hà 44
  45. Giáo trình ASP 7. Tạo file thanhtoan.asp như sau (1) + Tạo thêm file thanhtoaninc.asp có nội dung (1) Nguyễn Hoàng Hà 45