Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Asp

4,517 views

Published on

Nguyễn Văn Thịnh
Nguyễn Thị Tú

Published in: Technology, Sports

Asp

  1. 1. LẬP TRÌNH WEB ĐỘNG VỚI NGÔN NGỮ ASP Thời lượng : 30 LT + 30 TH TRUNG TÂM TIN HỌC NGOẠI NGỮ TRÍ ĐỨC
  2. 2. Bài 1: Tổng quan về ASP <ul><li>I. Giới thiệu chung </li></ul><ul><li>Active Server Page(ASP) là môi trường kịch bản dùng trên máy chủ để tạo và chạy các ứng dụng Web động, tương tác CSDL có hiệu quả cao </li></ul><ul><li>Trang ASP là trang Web trong đó có sự kết hợp của các thành phần HTML và các ngôn ngữ kịch kịch bản như javacript, vbscript,.. </li></ul><ul><li>Thành phần cơ bản của một trang ASP </li></ul><ul><ul><li>-   Dữ liệu văn bản </li></ul></ul><ul><ul><li>-   Các tag HTML </li></ul></ul><ul><ul><li>-   Các đoạn chạy phía Client nằm trong thẻ <Script>..</Script> </li></ul></ul><ul><ul><li>-   Các đoạn mã ASP được chạy trên phía Server nằm trong thẻ <% và %> </li></ul></ul>
  3. 3. <ul><li>ASP cho phÐp dïng 2 srcript lµ VBScript hoÆc JavaScript. Lùa chän Script ®­îc ®Æt ngay t¹i dßng ®Çu file: </li></ul><ul><li><%@LANGUAGE = “VBSCRIPT”%> </li></ul><ul><li><%@LANGUAGE = “JSCRIPT”%> </li></ul><ul><li>NgÇm ®Þnh lµ sử dụng VBScript. </li></ul><ul><li>Ngoài ASP ta có thể sử dụng JSP, PHP để tạo trang web động </li></ul><ul><li>Sơ đồ hoạt động của trang web động </li></ul>Client Trình duyệt Web Web Server ASP ADO OLEDB ODBC DB Server DBMS SQL server HTTP
  4. 4. <ul><li>Mỗi trang ASP được lưu với phần mở rộng là .asp </li></ul><ul><li>Hoạt động của trang ASP: khi một trang ASP được yêu cầu bởi web brower thì web brower sẽ duyệt tuần tự trang ASP và chỉ dịch các script. Tuỳ theo người xây dựng quy định mà kết quả do web server dịch sẽ trả về lần lượt cho trình duyệt hay chỉ trả về khi đã dịch xong tất cả các script. Kết quả trả về sẽ là một trang web viết theo cấu trúc HTML </li></ul><ul><li>Môi trường làm việc của ASP </li></ul><ul><ul><li>IIS ( I nternet I nformation S ervices) t </li></ul></ul><ul><ul><li>PWS(Personal Web Server) </li></ul></ul><ul><li>Sử dụng Script cho một phần của trang </li></ul><ul><ul><li><Script language=“Tên ngôn ngữ” Runat=“Server | Client”> </li></ul></ul><ul><ul><li>---Nội dung --- </li></ul></ul><ul><ul><li></Script> </li></ul></ul>
  5. 5. <ul><li>Nhập xuất dữ liệu trong ASP </li></ul><ul><li>Xuất dữ liệu của đoạn chương trình chạy phía Client dùng phương thức document. write </li></ul><ul><li>Xuất dữ liệu trong đoạn chương trình phía Server ta dùng phương thức Response. write </li></ul><ul><ul><li>Xuất chuỗi ký tự: Response. write “Ngôn ngữ ASP” </li></ul></ul><ul><ul><li>Xuất hằng số : Response. write 5 </li></ul></ul><ul><ul><li>Xuất giá trị của biến x : Response. write x </li></ul></ul><ul><li>Nhập dữ liệu ta dùng phương thức Request </li></ul>
  6. 6. II. Tóm tắt ngôn ngữ VBScript <ul><li>Lời chú thích : Chú thích trong VBScript được bắt đầu bằng dấu (‘) nhằm làm cho mã lệnh rõ ràng dễ hiểu. Khi thực thi trang asp thì các dòng chú thích được bỏ qua </li></ul><ul><li>Hằng số : là các giá trị không thể thay đổi trong tính toán. Khai báo hằng bằng từ khoá Const. VD: Const lop = “CN1K4A” </li></ul><ul><li>Biến số : là giá trị có thể thay đổi trong quá trình tính toán. Khai báo biến bằng từ khoá Dim và không cần định rõ kiểu cho biến. </li></ul><ul><ul><li>Tên biến không phân biệt chữ hoa/ chữ thường, dài không quá 255 ký tự. </li></ul></ul><ul><ul><li>Tên biến phải bắt đầu bằng một ký tự chữ và không chứa dấu (.) </li></ul></ul><ul><ul><li>VD: Dim x </li></ul></ul>
  7. 7. <ul><li>Mảng : là tập hợp các phần tử được định nghĩa và truy xuất dựa trên chỉ số. </li></ul><ul><li>Khai báo mảng một chiều Dim Ten_mang(so phan tu). Phần tử đầu tiên của mảng có chỉ số = 0 và ta dùng cấu trúc ten_mang(i) để truy cập đến các phần tử của mảng (i là số nguyên ) </li></ul><ul><li>Khai báo mảng hai chiều Dim ten_mang(row, col) , phần tử đầu tiên của mảng 2 chiều có chỉ số là (0,0). Để truy cập đến phần tử ở dòng i, cột j ta ta dùng ten_mang(i,j) </li></ul><ul><li>VBScript cho phép khai báo một mảng có kích thước động và cho phép dùng hàm ReDim để thay đổi kich thước của mảng động. VBScript cho phép khai báo một mảng có 60 chiều </li></ul>
  8. 8. <ul><li>5. Các kiểu dữ liệu: Trong VBScript chỉ có một kiểu dữ liệu duy nhấtlà Variant và kiểu dữ liệu này có thể chứa các loại dữ liệu từ kiểu chuỗi, kiểu số cho đến các loại dữ liệu có cấu trúc đồng thời nó cũng là kiểu dữ liệu trả về của các hàm và thủ tục </li></ul><ul><li>6. Các toán tử trong VBScript : gồm có các phép toán xử lý chuỗi, so sánh, phép gán và các phép toán số học </li></ul>
  9. 9. <ul><li>7. Câu lệnh điều kiện rẽ nhánh </li></ul><ul><li>Cú pháp lệnh: </li></ul><ul><li>if (bt dk) then …… </li></ul><ul><li>if (bt dk) then ……… else ……… </li></ul><ul><li>if (bt dk) then </li></ul><ul><li>khối lệnh </li></ul><ul><li>elseif btđk then </li></ul><ul><li>khối lệnh </li></ul><ul><li> else </li></ul><ul><li>end if </li></ul><ul><li>Select case (ten_bien) </li></ul><ul><li> Case <gt1> Khoi_lenh1 </li></ul><ul><li> …………… </li></ul><ul><li> Case Else Khoi_lenh i </li></ul><ul><li> End Select </li></ul>
  10. 10. <ul><li>8. Cấu trúc lặp Do ….Loop </li></ul><ul><li>Lặp khi điều kiện của Loop còn đúng </li></ul><ul><li>Cú pháp: </li></ul><ul><li>Do ………… While <bt đk> </li></ul><ul><li>khối lệnh </li></ul><ul><li>Loop </li></ul><ul><li>Do </li></ul><ul><li>khối lệnh </li></ul><ul><li>Loop While <bt đk> </li></ul><ul><li>Do Until <bt đk> </li></ul><ul><li>khối lệnh </li></ul><ul><li>Loop </li></ul><ul><li>Do </li></ul><ul><li>khối lệnh </li></ul><ul><li>Loop Until <btđk> </li></ul>
  11. 11. <ul><li>9. While…Wend : lặp trong khi điều kiện kiểm tra của While còn đúng </li></ul><ul><li>Cú pháp: While <bt đk> </li></ul><ul><li>khối lệnh </li></ul><ul><li>Wend </li></ul><ul><li>10. Cấu trúc For….Next : lặp với số lần xác đinh trước </li></ul><ul><li>Cú pháp: </li></ul><ul><li>For (i= chi so dau) To (chi so cuoi) </li></ul><ul><li>khối lệnh </li></ul><ul><li>Next </li></ul><ul><li>For (i= chi so dau) To (chi so cuoi) Step (buoc nhay) </li></ul><ul><li>khối lệnh </li></ul><ul><li>Next </li></ul>
  12. 12. <ul><li>10. Cấu trúc For Each…Next: lặp với mỗi phần tử trong tập hợp </li></ul><ul><li>Cú pháp: </li></ul><ul><li>For Each phan _tu in tạp _hop </li></ul><ul><li>khối lệnh </li></ul><ul><li>Next </li></ul><ul><li>11. Khai báo hàm và thủ tục </li></ul><ul><li>Hàm : được sử dụng trong biểu thức tính toán </li></ul><ul><li>Function Ten_ham(danh sach tham so) </li></ul><ul><li>Khối lệnh </li></ul><ul><li>End Function </li></ul><ul><li>Thủ tục : gọi thủ tục bằng lệnh Call ten_thu_tuc </li></ul><ul><li>Sub Ten_thu_tuc(danh sach tham so) </li></ul><ul><li>Khối lệnh </li></ul><ul><li>End Sub </li></ul>
  13. 13. Bài 2: Các đối tượng trong ASP <ul><li>Đối tượng: là khái niệm trừu tượng có khả năng lưu trữ dữ liệu và thao tác trên dữ liệu theo yêu cầu. Với mỗi một đối tượng thì dữ liệu được gọi là các thuộc tính của đối tượng và thao tác được gọi là phương thức của đối tượng </li></ul><ul><li>Các đối tượng trong ASP cho phép người lập trình giao tiếp, tương tác với cả server và client </li></ul><ul><li>Trong ASP có 2 loại đối tượng chính </li></ul><ul><ul><li>Đối tượng cơ bản: Application, Sesssion, Server, Request, Response, ObjectContext </li></ul></ul><ul><ul><li>Các thành phần xây dựng sẵn: Dictionary, FilesystemObject, AdRotator, Browser capabilities,… </li></ul></ul>
  14. 14. I. Đối tượng Request <ul><li>Đối tượng Request cung cấp tất cả các thông tin mà client cung cấp khi yêu cầu một trang hay submit một form </li></ul><ul><li>1 Các thành phần của đối tượng Request </li></ul><ul><li>Request cung cấp 5 tập hợp cho phép người dùng truy xuất thông tin về yêu cầu của brower đối với server </li></ul><ul><li>Cú pháp chung: </li></ul><ul><li>Request[.collection|property|method](variable) </li></ul><ul><li>1.1 Tập hợp QueryString </li></ul><ul><li>Tập hợp QueryString nhận về các giá trị trong một form hoặc trong chuỗi HTTP query </li></ul><ul><li>Cú pháp Request.QueryString(variable) </li></ul><ul><li>Query = giá trị trong chuỗi HTTP query string được chỉ định bởi giá trị đi sau dấu ‘?’ trong câu lệnh request </li></ul>
  15. 15. <ul><li><a href= &quot;test.asp?txt=query string test&quot;>Link with a query string</a> </li></ul><ul><li>VD: </li></ul><ul><li><html> </li></ul><ul><li><body> </li></ul><ul><li><a href= &quot;querystring1.asp?Lop=CVK4Y&quot; > Example </a> </li></ul><ul><li><% </li></ul><ul><li>Response.Write(Request.QueryString) </li></ul><ul><li>%> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul><ul><li>Kết quả: Example Lop=CVK4Y </li></ul>
  16. 16. <ul><li>1.2. Tập hợp ServerVariable : Chứa các thông tin về biến môi trường của Web Server. Nó bao gồm tập giá trị của các header HTTP được gửi từ client cùng với request. Các thành phần của tập hợp cùng là các giá trị readonly </li></ul><ul><li>Cú pháp Request: Resquet.ServerVarriable(variable) </li></ul><ul><li>Mỗi một biến tương ứng sẽ trả về một giá trị </li></ul><ul><li>1.3. Tập hợp Cookies : là file văn bản được lưu tại client. Cookies được trình duyệt của client gửi kèm trong HTTP request </li></ul><ul><li>Cú pháp : Request.Cookies(name) [(key)|.attribute] </li></ul><ul><li>Trong đó: </li></ul><ul><ul><li>Name: tên của cookies thường có kiểu chuỗi </li></ul></ul><ul><ul><li>Key: khoá của cookie cần lấy giá trị (kiểu chuỗi) </li></ul></ul><ul><ul><li>Attribute: thông tin của cookie </li></ul></ul>
  17. 17. <ul><li>Thuộc tính Attribute là một trong các thông số : </li></ul><ul><ul><li>Domain(read only): cookie chỉ được gửi thông tin cho đối tượng của Domain này </li></ul></ul><ul><ul><li>Expires(write only): chỉ định ngày mà Cookies hết hiệu lực </li></ul></ul><ul><ul><li>HasKeys(read only): xác định khoá của cookie có tồn tại hay không </li></ul></ul><ul><ul><li>Path(write only): xác lập đường dẫn để cookie gửi các request </li></ul></ul><ul><ul><li>Secure(write - only): xác định sự bảo mật của cookie </li></ul></ul><ul><li>Chú ý: Request.Cookies thường được viết trước thẻ <html>và có thể được dùng để tạo Cookies </li></ul>
  18. 18. <ul><li>1.4. Tập hợp ClientCertificate : là tập các giá trị của các field hay entry trong clien certificate mà người dùng báo cho server khi truy xuất một trang hay tài nguyên </li></ul>
  19. 19. <ul><li>1.5. Tập hợp Form : Nhận các giá trị của thành phần trong form được gửi bằng phương thức Post. Các thành phần của tập hợp đều là giá trị có thuộc tính read only </li></ul><ul><li>Cú pháp: Request.Form(element) [(index)|.Count] </li></ul><ul><li>Trong đó: </li></ul><ul><ul><li>Element: tên của một thành phần trong form </li></ul></ul><ul><ul><li>Index: tham số tuỳ chọn cho phép người dùng có thể truy cập đến một trong những giá trị từ một đến Count trong form(count max = 100KB) </li></ul></ul>
  20. 20. <html> <body> <form action= &quot;form.asp&quot; method= &quot;post&quot; > First name: <input type= &quot;text&quot; name= &quot;Firstname&quot; value= &quot;Donald&quot; > <br> Last name: <input type= &quot;text&quot; name= &quot;Lastname=&quot; value= &quot;Duck&quot; > <br> <input type= &quot;submit&quot; value= &quot;Submit&quot; > </form> <% Response.Write(Request.Form) %> </body> </html>
  21. 21. <ul><li>2. Thuộc tính của đối tượng Request </li></ul><ul><li>Cung cấp thông tin về số byte dữ liệu mà người dùng chuyển lên trình chủ, thường dùng trong trường hợp trình chủ nhận các dữ liệu nhị phân từ phía trình khách </li></ul><ul><li>Thuộc tính TotalByte: Request.TotalByte </li></ul><ul><li>3. Phương thức của đối tượng Request </li></ul><ul><li>Phương thức BinaryRead được dùng để lấy dữ liệu đã được client POST lên Server. Phương thức này trả về một mảng các giá trị </li></ul><ul><li>Cú pháp: Request.BinaryRead(count) </li></ul><ul><li>Trong đó count là số nguyên chỉ rõ số byte cần đọc </li></ul><ul><li>Phương thức này không nhân được dữ liệu nếu trước đó đã truy xuất đên Request.Form và ngược lại </li></ul>
  22. 22. II. Đối tượng Response <ul><li>Đối tượng Response gửi tất cả các thông tin đã xử lý từ server cho các client yêu cầu và thường được sử dụng để giao tiếp với người dùng, điều khiển việc chia sẻ thông tin </li></ul><ul><li>Cú pháp: Response.colletion|property|method </li></ul><ul><li>1. Các thành phần của đối tượng Response </li></ul><ul><li>Đối tượng Response chỉ có tập hợp cookies và đối tượng này có quyền xác lập giá trị của bất kỳ cookies nào mà người dùng muốn đặt trên hệ thông client. Trong trường hợp cookies không tồn tại thì nó sẽ được tạo ra </li></ul><ul><li>Cú pháp: </li></ul><ul><li>Response.Cookies(cookie) [(key)|attribute] = value </li></ul><ul><li>Ta có thể dùng đối tượng Request để nhận giá trị Cookie và dùng đối tượng Response để đặt giá trị Cookie </li></ul><ul><li>VD: Đếm số lần vào thăm một trang web của user </li></ul>
  23. 23. <ul><li><% </li></ul><ul><li>dim count ‘ Biến đếm </li></ul><ul><li>response.cookies(&quot;count&quot;).Expires=date+365 </li></ul><ul><li>count=request.cookies(&quot;count&quot;) </li></ul><ul><li>if count=&quot;&quot; then </li></ul><ul><li>response.cookies(&quot;count&quot;)=1 </li></ul><ul><li>response.write(&quot;Chao ban, day la lan dau tien ban vao trang web nay .&quot;) </li></ul><ul><li>else </li></ul><ul><li>response.cookies(&quot;count&quot;)=count+1 </li></ul><ul><li>response.write(&quot;Ban da vao trang web nay &quot;) </li></ul><ul><li>response.write( &quot;&quot;& count) </li></ul><ul><li>if count=1 then </li></ul><ul><li>response.write &quot; lan !&quot; </li></ul><ul><li>else </li></ul><ul><li>response.write &quot; lan !&quot; </li></ul><ul><li>end if </li></ul><ul><li>end if </li></ul><ul><li>%> </li></ul>
  24. 24. <ul><li>VD: Dùng Response.Cookies tạo ra một setcookies. asp với các giá trị mới </li></ul><ul><li><% </li></ul><ul><li>Response.Cookies(&quot;user&quot;)(“He&quot;)=“CV&quot; </li></ul><ul><li>Response.Cookies(&quot;user&quot;)(“Khoa&quot;)=“K4&quot; </li></ul><ul><li>Response.Cookies(&quot;user&quot;)(“Truong&quot;)=“ĐH QG TP HCM&quot; </li></ul><ul><li>Response.Cookies(&quot;user&quot;)(“Nam&quot;)=“2&quot; </li></ul><ul><li>%> </li></ul>
  25. 25. <ul><li>2. Thuộc tính của Response </li></ul><ul><li>2.1 Thuộc tính Buffer : Dùng để xác định sự lưu kết quả được tạo bởi ASP trong vùng đệm. </li></ul><ul><li>Cú pháp: Response.Buffer =[True||Flase] </li></ul><ul><ul><li>True: Các script được lưu trong vùng đệm cho đến khi ASP xử lý xong tất cả các script </li></ul></ul><ul><ul><li>Flase: kết quả sau khi xử lý các script được gửi đi ngay </li></ul></ul><ul><li>Giá trị Buffer phải được xác lập trược tag <HTML> trong tập tin .asp </li></ul><ul><li>2.2 Thuộc tính CacheControl :Dùng để xác định sự lưu trữ kết quả của proxy server </li></ul><ul><li>Cú pháp: Response. CacheControl =[Private||Public] </li></ul><ul><ul><li>Private:là giá trị mặc định quy định proxy server không được lưu kết quả </li></ul></ul><ul><ul><li>Public: proxy server được lưu kết quả </li></ul></ul>
  26. 26. <ul><li>2.3 Thuộc tính Charset : là thuộc tính kiểu chuỗi cho phép ghép tên của tập ký tự vào vùng context – type của đối tượng Response </li></ul><ul><li>Cú pháp: Response.Charset(charsetname) </li></ul><ul><li>2.4 Thuộc tính Content type: quy định dạng dữ liệu mà web server trả về cho client. Giá trị mặc định là text/html </li></ul><ul><li>Cú pháp: Response.ContentType(charsetname) </li></ul><ul><li>2.5 Thuộc tính Expires : chỉ định thời gian trang web sẽ được lưu trên trình duyệt </li></ul><ul><li>Cú pháp: Response. Expires=[minute] </li></ul><ul><li>2.6 Thuộc tính IssClientConnected : Kiểm tra sự kết nối giữa client và server </li></ul><ul><li>Cú pháp: Response. IssClientConnected =[True||Flase] </li></ul><ul><li>Giá trị True là còn sự kết nối và Flase là không còn kết nối </li></ul>
  27. 27. <ul><li>3. Phương thức của đối tượng Response </li></ul><ul><li>3.1 Method AddHeader </li></ul><ul><li>AddHeader(tên, nội_dung): Thêm một header HTTP mới và một giá trị cho HTTP response </li></ul><ul><li>Cú pháp : Response.AddHeader(tên, nội_dung) </li></ul><ul><li>VD: </li></ul><ul><li><%Response.AddHeader &quot;WARNING&quot;,&quot;Error message text&quot;%> </li></ul><ul><li>3.2 Method AppendToLog </li></ul><ul><li>AppendToLog: Thêm một chuỗi vào cuối mục log của trình chủ </li></ul><ul><li>Cú pháp : Response.AppendTolog(string) </li></ul><ul><li>3.3 Method BinaryWrite </li></ul><ul><li>Binary: Cho phép ghi dữ liệu trực tiếp xuống Browser, phương thức này chủ yếu dùng để ghi dữ liệu ảnh từ CSDL xuống Browser </li></ul><ul><li>Cú pháp: Response.BinaryWrite(data) </li></ul>
  28. 28. <ul><li>3.4 Method Clear </li></ul><ul><li>Clear: dùng để xoá tất cả các phần nội dung kết xuất HTML được trình chủ đưa vào bộ nhớ đệm mà không xoá phần header. Nếu dùng phương thức xoá thì thuộc tính Buffer phải đặt là True </li></ul><ul><li>Cú pháp: Response.Clear </li></ul><ul><li>3.5 Method End </li></ul><ul><li>End: dùng để dừng việc xử lý một script và trả về kết quả hiện tại. Khi thuộc tính buffer = true thì server sẽ trả về giá trị được lưu trong vùng đệm xuống browser. Có thể gọi phương thức Clear trước khi gọi phương thức End để tránh việc server đưa kết quả xuống browser </li></ul><ul><li>Cú pháp : Response.End </li></ul>
  29. 29. <ul><li>3.6 Method Redirect </li></ul><ul><li>Redirect : Dùng để kết nối người dùng đến một trang web khác được chỉ định trong đường dẫn URL </li></ul><ul><li>Cú pháp: Response. Redirect(URL) </li></ul><ul><li>3.7 Method Write </li></ul><ul><li>Write :dùng để xuất dữ liệu ra tập tin kết quả dạng HTML để gửi cho Browser. Dữ liệu có thể là số, chuỗi,.. </li></ul><ul><li>Cú pháp : Response. Write (text) </li></ul>
  30. 30. III. Đối tượng Session <ul><li>Đối tượng Session được dùng để chứa thông tin hoặc các thay đổi thiết lập cho một phiên kết nối của người dùng. Biến dùng trong session nắm giữ thông tin về những người dùng riêng biệt được tạo ra bằng một cookies duy nhất cho mỗi người dùng. Thông tin trong session chứa thông tin về một người dùng và được dùng chung cho tất cả các trang trong một ứng dụng </li></ul><ul><li>Tập hợp của đối tượng Session </li></ul><ul><li>1.1 Tập hợp Contents: Chứa tất cả các phần tử đã được gắn thêm vào đối tượng Session trong quá trình thực thi script </li></ul><ul><li>Cú pháp: Session.Content(key) </li></ul><ul><li>Trong đó key là tên của phần tử cần lấy </li></ul>
  31. 31. <ul><li>1.2 Đối tượng StaticObject </li></ul><ul><li>Đối tượng StaticObject chứa tất cả các đối tượng gắn vào các session với các tag HTML<object> </li></ul><ul><li>Cú pháp : Session. StaticObjects(key) </li></ul><ul><li>2. Các thuộc tính của đối tượng StaticObjects </li></ul><ul><li>2.1 CodePage: cho biết tập ký tự sẽ được dùng để hiển thị nội dung của trang </li></ul><ul><li>Cú pháp: Session.CodePage(=codepage) </li></ul><ul><li>2.2 LCID: dùng để thiết lập hay nhận về một con số nguyên mà nó xác định một vùng nào đó đồng thời cho phép hiển thi dữ liệu ngày giờ và tiền tệ theo vùng đó </li></ul><ul><li>Cú pháp: Session.LCID(=LCID) </li></ul><ul><li>2.3 SessionID: Trả về một số ID duy nhất cho mỗi người dùng, ID này do server tạo ra và không thể thay đổi được giá trị </li></ul><ul><li>Cú pháp: Session.SessionID </li></ul>
  32. 32. <ul><li>2.4 TimeOut: dùng để thiết lập hay nhận về khoảng thời gian dành cho mỗi đối tượng Session trong ứng dụng(tính theo phút). Thời gian mặc định cho một trang là 20 phút </li></ul><ul><li>Cú pháp: Session.TimeOut[=number] </li></ul><ul><li>3. Các phương thức của đối tượng Session </li></ul><ul><li>3.1 Method Abandon: Dùng để kết thúc session của người dùng </li></ul><ul><li>Cú pháp : Session.Abandon </li></ul><ul><li>3.2 Method Contents.Remove: dùng để xoá một phần tử ra khỏi tập Contents của đối tượng Session </li></ul><ul><li>Cú pháp : Session.Contents.Remove(name|index) </li></ul><ul><li>Name|Index để chỉ rõ tên và địa vị trí của phần tử trong tập Contents </li></ul><ul><li>Có thể dùng cú pháp Session.Contents.Remove(all) để xoá tất cả các biến trong Contents </li></ul>
  33. 33. <ul><li>3. Sự kiện của Session </li></ul><ul><li>Session_Onstart: xuất hiện khi trình chủ tạo một session mới và mọi hoạt động của sự kiện được đặt trong tập global. asa </li></ul><ul><li>Session_OnEnd: xuất hiện khi trình chủ kết thúc và hoạt động của sự kiện cũng được đặt trong tập global. asa </li></ul>
  34. 34. IV Đối tượng Application <ul><li>Đối tượng Application dùng để kết nối các file để xử lý hoặc phục vụ một mục đích chung. Application thường được dùng để lưu các biến và các trang có thể truy cập đến các biến để lấy thông tin và thường được truy cập bởi nhiều người dùng trong ứng dụng </li></ul><ul><li>Tập hợp của đối tượng </li></ul><ul><li>1.1 Tập hợp Contents: Chứa tất cả các phần tử đã được gắn thêm vào đối tượng trong quá trình thực thi script </li></ul><ul><li>Cú pháp: Application.Contents(Key) </li></ul><ul><li>Trong đó Key là tên của phần tử cần lấy </li></ul><ul><li>1.2 Tập hợp StaticObjects chứa tất cả các đối tượng được gắn vào ứng dụng với tag HTML <object> </li></ul><ul><li>Cú pháp: Application.StaticObject<Key> </li></ul>
  35. 35. <ul><li>2. Các phương thức của đối tượng Application </li></ul><ul><li>2.1 Method Remove: Dùng để xoá một phần tử ra khỏi tập Contents.Remove </li></ul><ul><li>Cú pháp: Application.Contents.Remove(name|index) </li></ul><ul><li>Có thể dùng cú pháp Application.Contents.Remove(all) để xoá tất cả các phần tử trong đối tượng Application </li></ul><ul><li>2.2 Method Lock và Unlock </li></ul><ul><li>Phương thức Lock ngăn cản người dùng khác không được thay đổi biến môi trường còn phương thức Unlock cho phép người dùng thay đổi giá trị các biến trong đối tượng Application </li></ul><ul><li>Cú pháp : Application.Lock và Application.Unlock </li></ul><ul><li>3. Sự kiện của đối tượng Application </li></ul><ul><li>Application_OnStart: xuất hiện khi bắt đầu phiên kết nối </li></ul><ul><li>Application_OnEnd: xuất hiện khi ứng dụng kết thúc </li></ul>
  36. 36. V. Đối tượng Server <ul><li>Cung cấp các phương thức cho phép truy cập trên server đồng thời là đối tượng dùng để quản lý những đặc trưng của IIS và các hoạt động liên quan đến dịch vụ HTTP </li></ul><ul><li>Thuộc tính của đối tượng </li></ul><ul><li>Thuộc tính ScriptTimeout: quy định thời gian lớn nhất mà các lệnh kịch bản còn được thực hiện. Giá trị mặc định là 90 giây và nó sẽ không còn hiệu lực khi server thực hiện kịch bản </li></ul><ul><li>Cú pháp: Server.ScriptTimeout = NumSeconds </li></ul><ul><li>2. Phương thức của đối tượng </li></ul><ul><li>2.1 Method CreateObject </li></ul><ul><li>Dùng để tạo một thực thể của một đối tượng, đối tượng này chỉ có hiệu lực trong một trang và sẽ bị huỷ khi server xử lý xong trang ASP </li></ul><ul><li>Cú pháp: Server.CreateObject(ID) với ID là kiểu của Object </li></ul>
  37. 37. <ul><li>2.2 Method HTMLEncode </li></ul><ul><li>Dùng để mã hoá một chuỗi ký tự </li></ul><ul><li>Cú pháp: Server.HTMLEncode(string) </li></ul><ul><li>2.3 Method URLEncode </li></ul><ul><li>Dùng để mã hoá một chuỗi địa chỉ URL </li></ul><ul><li>Cú pháp: ServerURLEncode(URL string) </li></ul><ul><li>2.4 Method Transfer </li></ul><ul><li>Chuyển tất cả cá thông tin về trạng thái của các biến Session, Application, các dữ liệu trong tập Request của tập tin ASP hiện thời cho tập tin Asp khác </li></ul><ul><li>Cú pháp: Server.Transfer(path) </li></ul>
  38. 38. VI. Chỉ thị #include và tệp tin global.asa <ul><li>Chèn tập tin </li></ul><ul><li>Khi muốn chèn nội dung của một tập tin asp vào tập tin asp khác trược khi server thực thi dùng chỉ thị #include </li></ul><ul><li>Nội dung chèn vào chứa các hàm toàn cục, các biến toàn cục, các header, footer dùng chung cho nhiều trang </li></ul><ul><li>Cú pháp: <!--#include file = filename--> </li></ul><ul><li>hoặc <!--#include virtual = filename--> </li></ul><ul><li>Trong đó filename là tên của tập tin chứa các nội dung cần chèn </li></ul><ul><li>Từ khoá file chỉ đường dẫn tương đối đến tập tin, đường dẫn này bắt đầu bằng thư mục chứa tập tin </li></ul><ul><li>Từ khoá virtual chỉ ra đường dẫn đến tập tin bắt đầu bằng thư mục ảo </li></ul><ul><li>Lưu ý: dòng khai báo #include không được đặt trong các đoạn kịch bản </li></ul>
  39. 39. <ul><li>2. Tập tin global.asa </li></ul><ul><li>global. asa là file cấu hình đặt các script xử lý hay các sự kiện, các hàm, thủ tục, biến mang tính toàn cục </li></ul><ul><li>File global. Asa phải được đặt trong thư mục gốc của ứng dụng và mỗi ứng dụng chỉ được phép có một file golbal duy nhất </li></ul><ul><li>Trong file global chỉ được phép cài đặt và xử lý các sự kiện: </li></ul><ul><ul><li>Application_OnStart </li></ul></ul><ul><ul><li>Application_OnEnd </li></ul></ul><ul><ul><li>Session_OnStart </li></ul></ul><ul><ul><li>Session_OnEnd </li></ul></ul><ul><ul><li>Mẫu file golbal. asa </li></ul></ul>
  40. 40. <ul><li><script language = “vbscript” runat = “server”> </li></ul><ul><li>Sub Application_OnStart </li></ul><ul><li>………… . </li></ul><ul><li>End Sub </li></ul><ul><ul><li>Sub Session_OnStart </li></ul></ul><ul><ul><li>………… . </li></ul></ul><ul><ul><li>End Sub </li></ul></ul><ul><li>Sub Session_OnEnd </li></ul><ul><li>………… . </li></ul><ul><li>End Sub </li></ul><ul><ul><li>Sub Application_OnEnd </li></ul></ul><ul><ul><li>………… . </li></ul></ul><ul><ul><li>End Sub </li></ul></ul><ul><ul><li></Script> </li></ul></ul>
  41. 41. Bài 3: Đối tượng xây dựng sẵn <ul><li>Đối tượng Dictionary </li></ul><ul><li>Dùng để lưu trữ thông tin theo cặp tên/ giá trị </li></ul><ul><li>Dictionary được xem như dữ liệu kiểu mảng </li></ul><ul><li>Đặc điểm: </li></ul><ul><ul><li>Đối tượng Dictionary dùng từ khoá key để xác định các phần tử </li></ul></ul><ul><ul><li>Khi xoá một phần tử khỏi đối tượng Dictionary thì các phần tử còn lại sẽ tự động thay thế </li></ul></ul><ul><ul><li>Dictionary được xây dựng với nhiều chức năng và cho phép định vị các phần tử dựa trên nội dung </li></ul></ul>
  42. 42. <ul><li>Tạo đối tượng </li></ul><ul><li>Đối tượng Dictionary được tạo bằng phương thức CreateObject của đối tượng Server </li></ul><ul><li><% </li></ul><ul><li>Dim Dic </li></ul><ul><li>Set Dic=Server.CreateObject(Scripting.Dictionary) </li></ul><ul><li>%> </li></ul><ul><li>Huỷ đối tượng Dictionary </li></ul><ul><li>Set Dic=nothing </li></ul><ul><li>2. Thuộc tính của đối tượng Dictionary </li></ul><ul><li>2.1 CompareMode: dùng để thiết lập hoặc nhận chế độ so sánh các khoá trong đối tượng Dictionary </li></ul><ul><li>Cú pháp: Dictionary.CompareMode[mode] </li></ul><ul><li>Mode nhận một trong các giá trị sau: </li></ul><ul><ul><li>0 = vbBinaryCompare – So sánh nhị phân </li></ul></ul><ul><ul><li>1 = vbTextCompare – So sánh dạng văn bản </li></ul></ul><ul><ul><li>2 = vbDatabaseCompare – So sánh cơ sở nhị phân </li></ul></ul>
  43. 43. <ul><li>2.2 Count: Trả về số phần tử trong đối tượng Dictionary </li></ul><ul><li>Cú pháp: Dictionary.Count </li></ul><ul><li>2.3 Key: Dùng để đổi tên của một khoá đã tồn tại trong đối tượng Dictionary </li></ul><ul><li>Cú pháp: Dictionary.Key(key) [=newkey] </li></ul><ul><li>3. Các phương thức của đối tượng Dictionary </li></ul><ul><li>3.1 Method Add: dùng để thêm phần tử vào đối tượng </li></ul><ul><li>Cú pháp: Dictionary.add(key, value) </li></ul><ul><li>3.2 Method Exists: kiểm tra một khoá đã có trong đối tượng hay chưa </li></ul><ul><li>Cú pháp: Dictionary. Exists(key, value) </li></ul><ul><li>3.3 Method Items: dùng để thao tác trên dữ liệu của các khoá </li></ul><ul><li>Nhờ vào phương thức Items ta có thể lấy được một mảng giá trị của các khoá </li></ul><ul><li>Cú pháp: Dictionary.Items </li></ul>
  44. 44. <ul><li>3.4 Phương thức Keys </li></ul><ul><li>Trả về một mảng các khoá trong đối tượng Dictionary </li></ul><ul><li>Cú pháp: Dictionary.Keys </li></ul><ul><li>3.5 Method Remove </li></ul><ul><li>Dùng để xoá các phần tử trong đối tượng Dictionary </li></ul><ul><li>Cú pháp: Dictionary.Remove và Dictionary.RemoveAll </li></ul>
  45. 45. II. Đối tượng FileSystemObject <ul><li>Là đối tượng cung cấp thông tin về hệ thống tập tin, thư mục trên trình chủ và cho phép thao tác với các tập tin và thư mục </li></ul><ul><li>Tạo đối tượng FileSystemObject </li></ul><ul><li><% </li></ul><ul><li>Dim fso </li></ul><ul><li>Set fso = Server.CreateObject(“Scripting.FileSystemObject”) </li></ul><ul><li>%> </li></ul><ul><li>Khi thao tác với đối tượng kết thúc cần phải huỷ bằng cách </li></ul><ul><li>set fso = nothing </li></ul><ul><li>2. Thuộc tính của đối tượng </li></ul><ul><li>Thuộc tính Drives cho biết tập các ổ đĩa trên máy tính </li></ul><ul><li>Cú pháp :[drivecoll=] FileSystemObject.Drives </li></ul>
  46. 46. <ul><li>3. Phương thức của đối tượng </li></ul><ul><li>3.1 Phương thức CreateFolder: tạo thư mục mới </li></ul><ul><li>Cú pháp: FileSystemObject.CreateFolder (Foldername) </li></ul><ul><li>3.2 Phương thức CreateTextfile tạo tập tin văn bản mới trong thư mục hiện hành và trả về đối tượng TextStream dùng để đọc hoặc ghi dữ liệu trên file </li></ul><ul><li>Cú pháp: FileSystemObject.CreateTextFile (filename) </li></ul><ul><li>3.3 Phương thức DeleteFile: dùng để xoá một hay nhiều tập tin </li></ul><ul><li>Cú pháp: FileSystemObject.DeleteFile (filename[, bReadOnly) </li></ul><ul><li>bReadOnly = false thì tập tin có thuộc tính ReadOnly sẽ không bị xoá và ngược lại </li></ul><ul><li>3.4 Phương thức DeleteFolder: xoá một hay nhiều thư mục </li></ul><ul><li>Cú pháp: </li></ul><ul><li>FileSystemObject.DeleteFolder (Foldername[, bReadOnly) </li></ul>
  47. 47. III. Đối tượng Adrotator <ul><li>Dùng để hiển thị các ảnh khác nhau mỗi khi người dùng yêu cầu hoặc refresh một trang. Các thông tin về ảnh hiên thị được đạt trong tập tin văn bản </li></ul><ul><li>Tạo đối tượng </li></ul><ul><li>Set ad = Server.CreateObject(“MSWC.AdRotator”) </li></ul><ul><li>ad.GetAdvertisement(“textfile.txt”) </li></ul><ul><li>2. Thuộc tính của đối tượng </li></ul><ul><li>Border: kích thước đường viền </li></ul><ul><li>Clickable: chi định đường liên kết </li></ul><ul><li>TargetFrame: tên frame hiển thị trong phần quảng cáo </li></ul><ul><li>3. Phương thức của đối tượng </li></ul><ul><li>Phương thức GetAdvertisement: trả về đoạn HTML hiển thị mục quảng cáo trên trang Web </li></ul><ul><li>AdRotator.GetAdvertisement(path) </li></ul>
  48. 48. Bài 4: ADO và các kết nối CSDL <ul><li>I. Giới thiệu </li></ul><ul><li>ADO (ActiveX Data Object) là kỹ thuật làm việc với các CSDL được dùng để cung cấp các khả năng kết nối và xử lý trên CSDL </li></ul><ul><li>Để xây dựng được kết nối với CSDL cần thông qua các bước sau: </li></ul><ul><ul><li>Kết nối với CSDL thông qua OLEDB hoặc ODBC </li></ul></ul><ul><ul><li>Xây dựng câu truy vấn </li></ul></ul><ul><ul><li>Xử lý các kết quả trả về từ truy vấn </li></ul></ul><ul><ul><li>Ngắt kết nối với CSDL, giải phóng các tài nguyên hệ thống </li></ul></ul><ul><li>ADO là sự kết hợp CSDL dựa trên DAO(Data Access Object) và RDO(Remove Data Object) </li></ul><ul><li>ADO là một phần của OLE DB(Object Linking and Embedding for Databases) </li></ul>
  49. 49. <ul><li>ODBC (Open DataBase Connectivity) là giao diện lập trình chuẩn cho các ứng dụng trên Windows do Microsoft đề xuất và sử dụng ngôn ngữ chuẩn là SQL để truy xuất CSDL </li></ul><ul><li>Trình điều khiển ODBC thực chất là một thư viện liên kết động (.dll) chức các chỉ thị gọi hàm ODBC và các ứng dụng sẽ kích hoạt ODBC để truy xuất CSDL tương ứng </li></ul><ul><li>II. Kết nối với CSDL </li></ul><ul><li>1 Tạo kết nối thông qua OLEDB và ODBC </li></ul><ul><li>Mục đích tạo kết nối là cung cấp địa chỉ của CSDL cho hệ thống thông qua một chuỗi ký tự lưu trữ thông tin về dữ liệu gọi là Connection string </li></ul>
  50. 50. <ul><li>Connection string chứa các thông tin : </li></ul><ul><ul><li>Thông tin về hệ QT CSDL: Access, MS SQL Server, Oracle </li></ul></ul><ul><ul><li>Thông tin về tập tin của CSDL </li></ul></ul><ul><ul><li>Mô hình kết nối CSDL </li></ul></ul><ul><li>Bảng liệt kê các OLE DB connection string cho một số hệ QT CSDL phổ biến </li></ul>Provider= SQLOLEDB.1; Data Source= “path.sql” Microsoft SQL Provider=Microsoft.Jet.OLEDB.4.0; Data Source = “path.mdb” Microsoft Access OLE DB Connection string Data Source
  51. 51. <ul><li>ODBC connecstring cho một số hệ QT CSDL thông dụng </li></ul>Driver={SQL Server }; Server = “đường dẫn đến database trên server” Microsoft SQL Driver={Microsoft Access Driver(*.mdb) }; DBQ = “đường dẫn đến tập tin *.mdb” Microsoft Access ODBC Connection string Data Source Driver
  52. 52. Mô hình kết nối CSDL ADO
  53. 53. <ul><li>2. Tạo connection string với DSN(Data Source Name) thông qua ODBC </li></ul><ul><li>Xây dựng connection string bằng cách tạo Data Source Name(DSN) trong ODBC. Một DSN được phân thành 3 cấp là User, System và File. Trong một DSN gồm các thông tin : </li></ul><ul><ul><li>Tên của DSN </li></ul></ul><ul><ul><li>Tệp tin CSDL đang trỏ đến </li></ul></ul><ul><ul><li>Con trỏ đến các driver kết nối với tập tin CSDL </li></ul></ul><ul><ul><li>UserID và Password để truy xuất data store </li></ul></ul><ul><ul><li>Các bước tạo DSN cho CSDL Access </li></ul></ul><ul><ul><li>Vào Control Panel/ Administrator Tools/Data Source(ODBC) </li></ul></ul><ul><ul><li>Chọn add để tạo DSN mới, chọn driver=Access </li></ul></ul><ul><ul><li>Đặt tên DSN </li></ul></ul><ul><ul><li>Chọn Select để chỉ đường dẫn tới CSDL </li></ul></ul>
  54. 54. <ul><li>3. Tạo kết nối CSDL thông qua OLEDB </li></ul><ul><li>- Sử dụng đối tượng connection để tạo kết nối </li></ul><ul><li><% </li></ul><ul><li>‘ Tạo connecion string </li></ul><ul><li>set conn=Server.CreateObject(&quot;ADODB.Connection&quot;) </li></ul><ul><li>conn.Provider=&quot;Microsoft.Jet.OLEDB.4.0&quot; conn.Open &quot;c:/path/filename.mdb“ </li></ul><ul><li>set comm=Server.CreateObject(&quot;ADODB.Command&quot;) comm.ActiveConnection=conn </li></ul><ul><li>response.write(comm.ActiveConnection)conn.close </li></ul><ul><li>%> </li></ul>
  55. 55. III. Các đối tượng của ADO <ul><li>1 Đối tượng Connection </li></ul><ul><li>Là đối tượng hỗ trợ cho việc tạo và quản lý kết nối CSDL cần xử lý đồng thời mô tả kết nối tới một nguồn dữ liệu OLEDB </li></ul><ul><li>1.1 Thuộc tính của đối tượng </li></ul><ul><li>- Thuộc tính Connection string : thông tin về chuỗi kết nối CSDL </li></ul><ul><ul><li>Provider: tên trình cung cấp sẽ sử dụng kết nối </li></ul></ul><ul><ul><li>DSN: Tên nguồn dữ liệu ODBC sẽ kết nối </li></ul></ul><ul><ul><li>Username: tên người dùng sẽ kết nối </li></ul></ul><ul><ul><li>Passworrd: mật mã truy xuất tới CSDL nguồn </li></ul></ul><ul><ul><li>File: tệp tin sẽ kết nối đến </li></ul></ul><ul><li>Thuộc tính Attributes: xác định thời điểm bắt đầu một giao dịch mới </li></ul><ul><li>Thuộc tính ConnectionTimeout: xác định thời gian đợi kết nối trược khi trả lại thông báo lỗi. Mặc định là 15 giây </li></ul>
  56. 56. <ul><li>1.2 Phương thức của đối tượng </li></ul><ul><li>- Phương thức Execute: cho phép thực thi một câu lệnh SQL </li></ul><ul><li>- Cú pháp: </li></ul><ul><li>set rs=conn.Execute(commandText, RecordAffected, Options) </li></ul><ul><li>Trong đó: </li></ul><ul><li>commandText: câu lệnh SQL, tên bảng </li></ul><ul><li>options gồm có : </li></ul>Command Text là stored, procedure hoặc câu truy vấn 4 adCmdStore Command Text là tên bảng 2 AdCmdTable Command Text là câu lệnh SQL 1 adCmdText Mặc định 0 adCmdUnknown Loại Giá trị Hằng
  57. 57. <ul><li>- Phương thức Close: dùng để đóng kết nối đang mở </li></ul><ul><li>Cú pháp: conn.close </li></ul><ul><li>- Phương thức Open: mở một kết nối tới CSDL </li></ul><ul><li>Cú pháp: conn.open ConnectionString, UserID, Passwword </li></ul><ul><li>2. Đối tượng Command </li></ul><ul><li>- Cho phép thao tác và thay đổi CSDL. Đối tượng Command phải có các khai báo trước và sau khi sử dụng </li></ul><ul><li>Khai báo và khởi tạo thể hiện của đối tượng Command </li></ul><ul><li>Khởi tạo các thuộc tính của đối tượng </li></ul><ul><li>2.1 Thuộc tính của đối tượng </li></ul><ul><li>- ActiveConnection: xác định đối tượng Connection dùng cho đối tượng Command </li></ul><ul><li>- CommandText: xác định tên bảng, tên thủ tục lưu trữ hay câu lệnh SQL cần mở </li></ul><ul><li>- CommandType: các thuộc tính quy định cho CommandText </li></ul>
  58. 58. <ul><li>2.2 Phương thức của đối tượng </li></ul><ul><li>- Phương thức CreateParameter: Dùng để tạo một đối tượng tham số mới cho tập hợp parameter </li></ul><ul><li>- Cú pháp: </li></ul><ul><li>set paramObj=dataCmd.CreateParameter(name,[Type,Direction,Size,Value]) </li></ul><ul><li>- Trong đó: </li></ul><ul><li>Type: Loại dữ liệu của tham số </li></ul><ul><li>Direction: xác định tham số input hoặc output hoặc cả hai </li></ul><ul><li>Size: kích thược tối đa của tham số </li></ul><ul><li>Value: Giá trị tham số </li></ul><ul><li>- Phương thức Execute: thực thi lệnh trong thuộc tính CommandText </li></ul><ul><li>- Cú pháp: </li></ul><ul><li>set rs=dataCmd.Execute(RecordAffected,Parameter, Options) </li></ul><ul><li>RecordAffected: bản ghi chịu tác động của lệnh </li></ul><ul><li>Parameter: mảng các tham số </li></ul><ul><li>Option: xác định loại lệnh tìm thấy trong CommandText </li></ul>
  59. 59. <ul><li>3. Đối tượng Recordset(tập hợp bản ghi) </li></ul><ul><li>3.1 Thuộc tính của đối tượng </li></ul><ul><li>- AbsolutePage: xác định trang để di chuyển con trỏ </li></ul><ul><li>- ActiveConnection: xác định đối tượng Connection của tệp tin </li></ul><ul><li>3.2 Phương thức của đối tượng </li></ul><ul><li>- AddNew: Thêm bản ghi mới với các giá trị xác định </li></ul><ul><li>Cú pháp: rs.addnew fields, values </li></ul><ul><li>- CancelBatch: huỷ bản ghi đang cập nhật </li></ul><ul><li>Cú pháp: rs.CancelBatch recordAffected </li></ul><ul><li>- CancelUpdate: Huỷ bản ghi đang cập nhật </li></ul><ul><li>Cú pháp: rs.CancelUpdate </li></ul><ul><li>- Close: đóng tập tin </li></ul><ul><li>Cú pháp: rs.Close </li></ul><ul><li>- GetRow: tạo bảng gồm nhiều bản ghi từ tập các bản ghi </li></ul><ul><li>Cú pháp: set myArray=rs.getrow(rows,start,fields) </li></ul>
  60. 60. <ul><li>- Move: di chuyển con trỏ hiện tại tới số bản ghi xác định </li></ul><ul><li>Cú pháp: rs.Move NumRecs, start </li></ul><ul><li>- MoveFirst: di chuyển con trỏ về bản ghi đầu tiên </li></ul><ul><li>Cú pháp: rs.MoveFirst </li></ul><ul><li>- MoveLast: di chuyển con trỏ về bản ghi cuối cùng </li></ul><ul><li>Cú pháp: rs.MoveLast </li></ul><ul><li>- MoveNext: di chuyển con trỏ về bản ghi kế tiếp </li></ul><ul><li>Cú pháp: rs.MoveNext </li></ul><ul><li>- Requery: truy xuất lại CSDL và cập nhật tập bản ghi </li></ul><ul><li>Cú pháp: rs.Requery </li></ul><ul><li>- Update: Cập nhật bản ghi hiện hành </li></ul><ul><li>Cú pháp: rs.Update fields,values </li></ul><ul><li>- Delete: cho phép xoá tập tin trong Recordset </li></ul><ul><li>Cú pháp: rs.Delete <tham số> </li></ul><ul><li>Tham số : </li></ul><ul><li>adAffectCurrent: xoá bản ghi hiện tại </li></ul><ul><li>adAffectGroup: xoá bản ghi thoả mãn điều kiện lọc </li></ul>
  61. 61. <ul><li>3.3 Lưu trữ dữ liệu trả về </li></ul><ul><li>ADO sử dụng đối tượng Recordset để lưu trữ kết quả trả về từ câu truy vấn Select và Recordset có thể coi như một mảng các bản ghi. Thông thường có 2 cách để lấy được dư liệu trả về đặt vào biến Recordset </li></ul><ul><li>- dùng phương thức Execute của đối tượng Connection cho câu truy vấn và trả về kết quả cho Recordset </li></ul><ul><li>- Dùng phương thức Open kết hợp với đối tượng Connection đã tạo ra </li></ul><ul><li>3.4 Hiển thị dữ liệu trả về </li></ul><ul><li>Khi thưc hiện lấy dữ liệu của một trường trong bản ghi hiện tại ta lấy chuỗi tên của trường là đối số cho đối tượng Recordset hay làm đối số của thuộc tính Fields trong đối tượng Recordset </li></ul><ul><li>VD: rs(&quot;Hoten&quot;) tương đương với cách dùng rs.Fields(&quot;Hoten&quot;) </li></ul>
  62. 62. <ul><li>4. Đối tượng Record </li></ul><ul><li>- Đối tượng Record lưu trữ một hàng trong Recordset hoặc một file, một thư mục trong đối tượng File System </li></ul><ul><li>- Trước khi sử dụng đối tượng cần khai báo: </li></ul><ul><li>Dim objRec </li></ul><ul><li>Set ibjRec=Server.CreateObject(&quot;ADODB.Record&quot;) </li></ul><ul><li>4.1 Phương thức của đối tượng </li></ul><ul><li>- Cancel: huỷ thao tác thực hiện trên Record </li></ul><ul><li>Cú pháp: objRec.Cancel </li></ul><ul><li>- Close: đóng một đối tượng trên Record </li></ul><ul><li>Cú pháp: objRec.Close </li></ul><ul><li>- CopyRecord: copy một file hay một thư mục </li></ul><ul><li>- DeleteRecord: xoá một file hay một thư mục </li></ul><ul><li>- Open: mở một record đã tồn tại hoặc toạ file mới, thư mục mới </li></ul><ul><li>- MoveRecord: di chuyển một file hay một thư mục </li></ul>
  63. 63. <ul><li>5. Đối tượng Stream </li></ul><ul><li>Đối tượng này dùng để lưu trữ luồng dữ liệu dạng text hoặc nhị phân </li></ul><ul><li>Khai báo sử dụng </li></ul><ul><li>Set objStream=Server.CreateObject(&quot;ADODB.Stream&quot;) </li></ul><ul><li>6. Stored Procedure </li></ul><ul><li>Tập các câu lệnh T-SQL được biên dịch trước </li></ul><ul><li>Dễ dàng truyền tham số vào stored procedure và xử lý dữ liệu </li></ul><ul><li>Thực thi stored procedure thông qua đối tượng RecordSet, Command </li></ul><ul><li>Cú pháp: CREATE PROC[EDURE] procedure_name [{@parameter data_type} [OUTPUT] AS sql_statement [...n] </li></ul><ul><li>EXEC procedure_name </li></ul>

×