Tải bản đầy đủ (.pdf) (82 trang)

ASPpdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (408.56 KB, 82 trang )

<span class='text_page_counter'>(1)</span>Tìm hieå u veà ASP. 1. I.Active Server Pages (ASP) laø gì ?. Microsoft Active Server Pages (ASP) là mộ t mô i trườ ng kị ch bả n dự a trê n server (server-side scripting) cho phé p tạo hoặ c xây dự ng cá c ứ ng dụ ng Web mạ nh chứ a cá c thẻ HTML, vă n bả n và cá c lệ nh script hay cá c ứ ng dụ ng Web độ ng , giao tiế p giữ a Client và server mộ t cá ch hiệ u quả . Cá c trang ASP có thể gọ i cá c thà nh phầ n ActiveX để thự c hiệ n cá c cô ng việ c như kế t nố i vớ i vớ i mộ t database hoặ c thự c hiệ n mộ t tính toá n kinh doanh. Vớ i ASP, bạ n có thể đưa nộ i dung tương tá c vớ i cá c trang Web củ a bạ n hoặ c xâ y dự ng toà n bộ cá c ứ ng dụ ng Web sử dụ ng cá c trang HTML như giao tiế p vớ i khá ch hà ng cuû a baï n.. z Trang ASP:. Moã i trang .asp coù theå bao goà m moä t trong caù c thaø nh phaà n sau: HTML, Scrip củ a ngô n ngữ VB Scrip hoặ c Jscrip, Text trong đó cá c tag HTML và Text sẽ đượ c xử lý bình thườ ng như đố i vớ i cá c vă n bả n HTML (.html) thô ng thườ ng, cá c script sẽ đượ c mộ t bộ phận (engine) củ a ASP thô ng dị ch và thi hà nh trê n server .Coù theå xem trang ASP nhö moä t trang HTML coù boå sung caù c ASP Script Command z Hoạ t độ ng củ a trang ASP:. Sau khi mô i trườ ng ASP thự c hiệ n việ c thự c thi cá c file .asp xong nó sẽ trả lạ i kế t quả ở dạ ng HTML cho Web Server, tiế p theo Browser sẽ nhận đượ c nộ i dung cầ n trình bà y từ Web Server thô ng qua giao thứ c HTTP. Mộ t trang ASP cũ ng sẽ đượ c Brower tham khả o tớ i bình thườ ng như là nó đã tham khả o tớ i mộ t trang HTML củ a Web.. XXXXX XXXXX YYYYY YYYYY. XXXXX XXXXX ZZZZZZ ZZZZZZ Browser. Web Server. X:HTML Y:ASP script Z:ASP Script result(HTML). Trang Asp khi ở trê n Web Server và khi đượ c đưa ra Browser Löu haønh noä i boä.

<span class='text_page_counter'>(2)</span> Tìm hieå u veà ASP. 2. z Sơ đồ một ứ ng dụ ng trê n Web ASP:. Web Server : là nơi tiế p nhậ n và trả lờ i cá c yê u cầ u củ a Web user, đồ ng thờ i cũ ng thự c hiệ n việ c kế t nố i đế n hệ DBMS trê n Database Server theo yê u cầ u truy cậ p dữ kiệu củ a trang ASP. ADO cung cấ p giao diệ n lậ p trình cho ngườ i phát triễ n xây dự ng cá c lệ nh truy cậ p CSDL, cá c lệ nh nà y đượ c chuyể n đế n cho hệ DBMS để thự c thi thô ng qua cá c thà nh phầ n OLE DB (và ODBC). Kế t quả truy vấ n dữ liệ u sẽ đượ c Web Server đưa ra hiể n thị treâ n Browser. Database Server: nơi diễ n ra việ c thự c thi cá c thao tá c CSDL như truy vấ n, cậ p nhậ t cũ ng như bà o đả m tính toà n vẹn dữ liệ u củ a hệ DBMS. Browser: giao diệ n vớ i ngườ i dù ng, tiế p nhậ n cá c yê u cầ u củ a ngườ i sử dụ ng cuõ ng nhö hieå n thò keá t quaû yeâu caà u.. Web Browser. ASP. ADO. OLEDB. ODBC. Web Server. DMS (SQL server). Database Server. SƠ ĐỒ MỘ T Ứ NG DỤ NG TRÊ N WEB z Moä t vaø i ñaë c ñieå m cuû a ASP:. - Việ c chè n cá c Scrip và o file HTML là m cho quá trình xử lý tạ o ra vă n bả n HTML ( Dynamic Pages ) đồ ng thờ i vớ i việ c xử lý cá c Script , điề u bà y sẽ Löu haønh noä i boä.

<span class='text_page_counter'>(3)</span> 3. Tìm hieå u veà ASP. là m cho hoạ t độ ng củ a trang Web sẽ trở nê n linh độ ng hơn , uyể n chuyể n hôn. - Cá c file .asp cũ ng tương thích vớ i file HTML, và việ c viế t cá c scrip đơn giả n , khô ng phả i biê n dị ch hay liê n kế t như việ c lậ p trình thô ng thườ ng, ASP cung cấ p cá c đố i tượ ng tiệ n lợ i cho nhiề u thao tá c như: Request , Response , Server , Apllication , Session. Cá c đố i tượ ng có sẵ n nà y củ a mô i trườ ng ASP sẽ giú p cho việ c giao tiế p dữ liệ u giữ a Client và Server thự c sự tiệ n lợ i, cũ ng như việ c quả n lý ứ ng dụng mộ t cách linh hoạ t nhờ vào cá c bieá n Session, Application.. II Caù c thaø nh phaà n & cuù phaù p ASP : ASP bao goà m caù c thaø nh phaà n sau : 1. Cá c bộ dị ch ngô n ngữ VBScript và Jscript . 2 .Thư việ n cá c đối tượ ng, chuyê n dùng để truy xuấ t Database thô ng qua ODBC Driver (Active Server Data Object – ADO).Thư việ n cá c đố i tượ ng hỗ trợ cho việ c viế t các trang ASP . Mộ t file ASP thự c chấ t là mộ t vă n bản, nó có thể bao gồ m cá c thành phầ n sau: +Vaê n Baû n (Text) + Caù c HTML tag + Cá c Script . Mỗ i Script nà y sẽ thự c hiệ n mộ t cô ng việ c nà o đó , giố ng như cá c phá t biể u củ a mộ t ngô n ngữ lập trình. Mộ t Script là mộ t chuỗ i caù c leä nh script, noù coù theå laø : 1. Moä t pheù p gaù n giaù trò cho moä t bieá n 2. Mộ t yê u cầ u Web server gử i thô ng tin đế n Brower . 3. Tổ hợ p cá c lệ nh riê ng rẽ thà nh mộ t thủ tụ c hay mộ t hà m giố ng như trong cá c ngô n ngữ lậ p trình. Việ c thi hà nh mộ t script là quá trình gử i chuỗ i cá c lệ nh tớ i Scripting Engine, tạ i đâ y ASP sẽ thô ng dị ch cá c lệ nh nà y và chuyể n tiế p cho má y tính. Script được viế t bằ ng mộ t ngô n ngữ vớ i các luậ t được đặ t tả nào đó , nế u ta muố n sử dụ ng mộ t script language nà o thì trê n server phả i chạ y Script Engine cho ngô n ngữ đó . Trong ASP cung cấ p hai Script Engine là VBScript và Jscript ( vớ i VBSCRIPT là mặ c nhiê n). Tuy nhiê n ASP khô ng phả i là ngô n ngữ Script , mà nó chỉ cung cấ p mộ t Löu haønh noä i boä.

<span class='text_page_counter'>(4)</span> 4. Tìm hieå u veà ASP. mô i trườ ng để xử lý cá c Script mà ta chè n và o trong cá c file .asp , việ c chè n nà y phaû i tuaâ n theo moä t cuù phaù p nhaá t ñò nh cuû a ASP. Cuù phaù p 1.Daá u ngaê n caù ch (Delimiter): Trong vă n bả n ASP ta sử dụ ng cá c dấ u <% và %> để ngă n cách phầ n vă n bả n HTML vớ i phầ n Script , hay cụ thể là bấ t cứ mộ t phá t biể u Script nà o cũ ng đề u phả i nằ m giữ a hai ngă n cá ch <% và %> Ví duï : <% say = "Hello" %> là mộ t script thự c hiệ n việ c gá n chuỗ i Hello và o bieá n say ♦ Biể u thứ c đơn : Bạ n cầ n đưa và o(include) bê n trong dấ u ngă n cách ASP nhiề u biể u thứ c cho ngô n ngữ scripting đầ u tiê n. Ví dụ , vớ i dò ng sau là kế t quả cuố i cù ng củ a vă n bản vớ i thờ i gian hiệ n hành củ a server : This page was last refeshed at<% =now %> Trong trườ ng hợ p nà y , Web server trả về giá trị now củ a hàm VBScript từ browser vớ i text . 2.Caâ u leä nh (Statement): Mộ t câ u lệ nh trong VBScript hay trong ngô n ngữ script khá c là mộ t cấ u trú c dù ng để thự c hiệ n mộ t thao tá c, câ u lệ nh phả i đượ c khai bá o hoặ c đị nh nghĩ a trong ngô n ngữ scripting. Cá c ngô n ngữ script trong ASP cung cấ p cho ta haà u heá t caùc caá u truù c ñieà u khieå n : IF…ELSE, For, While, DO WHILE… cuø ng. Löu haønh noä i boä.

<span class='text_page_counter'>(5)</span> 5. Tìm hieå u veà ASP. vớ i nhữ ng kiể u dữ liệ u cơ bả n như integer , char, string, Array …sau sử dụ ng Ví dụ : sử dụ ng câ u lệ nh If củ a VBScript <% if Time >=#12:00:00 AM# And Time < #12 :00:00 PM# then greeting ="Good Morning!"; else greeting ="Hello!"; end if %> dò ng sau sẽ gở i giá trị trong Green tơí Client browser <FONT COLOR= "Green"> <%=greeting%> </FONT> 3.SCRIPT tag: Cá c phá t biể u , biể u thứ c , lệ nh, hay thủ tụ c mà bạ n sử dụ ng bê n trong hai dấ u ngă n cá ch <% và %> phả i đượ c nhìn nhậ n bở i ngô n ngữ Script mặ c đị nh hoặ c ngô n ngữ Script đượ c khai bá o ở đầ u trang ASP. Ngô n ngữ scripting mặ c đị nh củ a ASP là VBScript , tuy nhiê n vớ i ASP ta vẫ n có thể sử dụ ng cá c ngô n ngữ lậ p trình khá c bê n trong bằ ng cá ch sử dụ ng thẻ <SCRIPT> và </SCRIPT> Ví du: <SCRIPT LANGUAGE="JSCRIPT"> <!-- hide Script from old browsers for(i=0;i<10;i++ ) Löu haønh noä i boä.

<span class='text_page_counter'>(6)</span> 6. Tìm hieå u veà ASP. docoment.write("for loop"+ i+"<br>") docoment.write("second line of for loop"+ i+"<br>") //end script hiding--> </SRIPT> </BODY> </HTML> trong file ASP sau xử lý JScript trong hà m MyFunction <HTML > <BODY> <%Call MyFunction %> </BODY> </HTML>. <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT> function MyFunction () { Response.Write("MyFunction Called") } </SCRIPT> Chuù yù : beân trong tag <SCRIPT></SCRIPT> phaû i laø caù c thuû tuï c,khoâ ng coù moä t biể u thứ c xuấ t hay phá t biể u nà o nằ m bê n ngoà i các thủ tụ c. 4.Include file: Khi tạ o mộ t ứ ng dụng Web, bao gồ m nhiề u trang ASP, nế u như tò an bộ cá c trang đề u cầ n sử dụng nhữ ngthô ng tin chung nà o đó chẳ ng hạ n như cá c hằ ng,giá trị …để trá nh lạ i việ c đị nh nghĩ a lạ i cá c giá trị nà y ta có thể sử dụ ng cơ chế include Löu haønh noä i boä.

<span class='text_page_counter'>(7)</span> 7. Tìm hieå u veà ASP. file củ a ASP (giố ng như trong ngô n ngữ lậ p trình cổ điể n).Để include mộ t file trong trang ASP ta sử dụ ng cú phá p sau: <!--#include Virtual/File="filename" -- > Ví duï : <!--#include Virtual="whatever.asp"-- > Bạ n phả i đị nh nghĩ a kiể u Virtual hoặ c file Trong đó qui đị nh file đượ c include phả i có phầ n mở rộ ng là .inc hoặ c .asp , phầ n filename bao gồ m cả đường dẫ n và tê n file. ¾ sử dụ ng từ khó a virtual: Tham số Virtual dù ng để chỉ đị nh rằ ng đườ ng dẫ n đượ c bắ t đầ u vớ i mộ t thư muï c aû o(Virtual Directory) Vd: <!--# include virtual = " /whatever.asp" -- > Seõ include baá t kyø taä p naø o treâ n site cuû a baï n(whatever laø naè m treâ n thö muï c gố c củ a web server) nhưng bạn phả i cung cấ p tê n tậ p tin vớ i 1 đườ ng dẫ n ¾sử dụ ng từ khó a file Tham số file dù ng để chỉ đị nh đườ ng dẫ n Relative,đượ c bắ t đầ u vớ i tên thư mụ c chứ a file cầ n include.Chẳ ng hạ n nế u bạ n có 1 file trong thư mụ c myapp và file header1.inc trong myapp/header , doø ng sau seõ cheø n header1.inc vaø o trong file cuû a baï n . <!--#include file ="header/header1.inc"--> Chú ý rằ ng đườ ng dẫ n để include file headers / header1.inc thì có liên quan đế n việ c include file , nế u nội dung củ a script nà y có cú pháp include là thư mụ c /myapp, cú phá p sẽ khô ng hoạt độ ng . ASP includes files trướ c khi thự c thi lệ nh script.Vì thế , bạ n khô ng thể sử dụ ng mộ t lệ nh script để xâ y dự ng tê n củ a 1 file include.chẳ ng hạ n script sau khô ng thể. Löu haønh noä i boä.

<span class='text_page_counter'>(8)</span> 8. Tìm hieå u veà ASP. mở file Header1.inc bở i vì ASP chiế m để thự c thi chỉ thị include trướ c khi gá n mộ t teâ n file cho giaù trò name <!-- This script will fail --> <% name=(header1 & ".inc") %> <!--#include file="<%= name %>"--> Lệ nh script và thủ tục phả i hoà n toà n bao hà m dấ u ngă n cá ch<% và %> trong script,tag HTML <SCRIPT> và </SCRIPT> hoặ c tag HTML <OBJECT>vaø </OBJECT>. ¾sử dụ ng server script: Để bổ sung 1 client Script,mặ c dù ASP sử dụ ng Script server site để xử lý vă n bả n,bạ n có thể mở rộ ng bằ ng cá ch sử dụ ng nó để phá t sinh ra client side script sau đượ c xử lý bở i client browser.ASP là m điề u nà y bằ ng cá ch kế t hợ p client_side script bao gồ m nhữ ng chú thích HTML củ a server _side script và bao gồ m cả dấu ngaê n caù ch: <SCRIPT LANGUAGE="VBScript"> <!-client script <% server script %> client script <% server script %> client script ... --> </SCRIPT>. Löu haønh noä i boä.

<span class='text_page_counter'>(9)</span> 9. Tìm hieå u veà ASP. Vớ i chứ c nă ng trong scripts củ a bạ n, bạn có thể tạo ra 1 ứ ng dụ ng thú vị . Chẳ ng hạn script sau sử dụ ng mộ t database để cung cấ p mẫu tin script client như là kế t quả hà nh độ ng củ a user. Trong Script sau ASP tìm dữ liệ u từ Database và phá t ra mỗ i chương trình con cho mỗ i dò ng dữ liệu. Chương trình con đó điề u khiể n cá i gì xả y ra khi 1 user click vaø o lieâ n keá t trong trang hieå n thò trong client browser Chuù yù : Trong script nà y sẽ khô ng có hà m củ a chính bả n thâ n nó .Nó cho thấ y ở đâ y chỉ minh họ a chứ c nă ng củ a ASP nế u sử dụ ng trang liê n kế t vớ i Database,serverside scripting và client-side scripting. Löu yù : • Việ c include file có thể gâ y nê n mộ t vò ng lặ p nế u file đượ c include lạ i gọ i include mộ t file khá c ,hay file ban đầ u. • Vì Asp sẽ include file trướ c khi xử lý cá c Script cho nê n ta khô ng thể sử dụ ng mộ t lệ nh mà lệ nh nà y lạ i tạo ra mộ t lờ i gọ i include, hoặ c sử duï ng include nhö sau laø sai: <% name =(header1&".inc")%> <!--#include file ="<%=nameù >"-- >. • Ta cũ ng khô ng thể mở dấ u <% trong mộ t file include và đóng %> trong moä t file include khaù c.ví duï sau laø sai: <!-- This script will fail --> <%For i = 1 To n statements in main file <!--#include file="header1.inc" --> Löu haønh noä i boä.

<span class='text_page_counter'>(10)</span> 10. Tìm hieå u veà ASP. Next %> Script sau sẽ hoạ t động đượ c: <!-- This script would work--> <% For i = 1 to n statements in main file %> <!--#include file="header1.inc" --> <% Next %>. III.CÁ C ĐỐ I TƯỢ NG CƠ BẢ N CỦ A ASP: ASP cung cấ p cho ngườ i lậ p trình cá c đối tượ ng có sẵ n, mỗ i đố i tượ ng nà y sẽ thự c hiệ n mộ t chứ c nă ng riê ng nà o đó , cá c đố i tượ ng có sẵn(built-in oject) bao goà m: Tê n đố i tượ ng. Chứ c nă ng. Request. Lấ y thô ng tin từ mộ t user. Respone. Gử i thô ng tin tớ i mộ t user. Server. Điề u khiể n mô i trườ ng hoạ t động củ a ASP. Session. Lưu giữ thô ng tin về mộ t session củ a user. Application. Chia sẻ thô ng tin giữ a cá c user trong cù ng mộ t ứ ng duï ng.. III.1.Đố i tượ ng Request. Vớ i đố i tượ ng Request ,cá c ứng dụ ng ASP có thể dễ dà ng lấ y đượ c thô ng tin gử i tớ i từ user Löu haønh noä i boä.

<span class='text_page_counter'>(11)</span> 11. Tìm hieå u veà ASP. Đố i tượ ng Request cho phé p truy xuấ t chi tớ i bấ t kỳ thô ng tin nà o user gử i tớ i bằ ng giao thứ c HTTP như: 1. Caù c thoâ ng tin chuaå n naè m trong caù c bieá n Server (Variable Server) 2. Cá c tham số đượ c gử i tớ i bằng phương thứ c POST 3 .Cá c thô ng tin được gử i tớ i bằ ng phương thứ c GET 4. Cá c cookies( là thô ng tin củ a user được gử i kè m theo) tớ i từ Browser 5. Caù c Client Certificates Đố i tượ ng Request tìm kiế m cá c giá trị mà client browser đưa và o server trong khi coù moä t yeâ u caà u HTTP Cuù phaù p: Request.collection|property|method Collections Cookies. Giá trị của cá c cookie gở i trong yê u cầ u HTTP. Form. Giá trị cá c phầ n tử form trong thâ n củ a yê u cầ u HTTP. QueryString. Giaù trò cuûa caù c bieá n trong trong chuoã i truy vaá n HTTP. ServerVariables Properties TotalBytes. Giá trị của cá c biế n mô i trườ ng đã đượ c xá c đị nh trướ c Tổ ng số byte client đang gở i trong thâ n củ a yê u cầ u. Cá c tham số biế n là chuỗ i ký tự chỉ rõ mụ c (item) đượ c tìm kiế m từ một collection hoặ c đượ c sử dụ ng như là mụ c và o đố i vớ i mộ t phương thứ c (method) hoặ c mộ t property Ghi chuù : Tấ t cả cá c biế n có thể đượ c truy cậ p mộ t cá ch trự c tiế p bằ ng cá ch gọ i cú phá p Request(variable) mà khô ng cầ n tê n collection.Trong trườ ng hợ p nà y, Web server tìm kiế m cá c collection theo thứ tự sau: Löu haønh noä i boä.

<span class='text_page_counter'>(12)</span> 12. Tìm hieå u veà ASP. 1. QueryString 2. Form 3. Cookies 4. ClientCertificate 5. ServerVariables. 1 . Là m việ c vớ i cá c HTML FORM Sử dụ ng đố i tượ ng Request ,bạn có thể tạo và xử lý thô ng tin vớ i HTML FORM., HTLM FORM là cá ch thứ c thô ng thườ ng để trao đổ i thô ng tin giữ a Web server vaø user, noù cung caá p nhieà u caù ch nhaä p thoâ ng tin cuû a user : Text boxes, Buttons, Check boxes cho phé p user tương tá c vớ i trang Web và Submit thô ng tin tớ i mộ t Web Server. Ví dụ : Tạo mộ t FORM để user có thể nhậ p và o họ tê n,tuổ i và đưa và o mộ t nút để submit thô ng tin tớ i Web server. FORM cũ ng chứ a mộ t điều khiể n hidden để đưa thê m thô ng tin tớ i Web server. <FORM METHOD="POST" ACTION="myfile.asp"> <INPUT TYPE="text" NAME="firstname"> <INPUT TYPE="text" NAME="lastname"> <INPUT TYPE="text" NAME="age"> <INPUT TYPE="hidden" NAME="userstatus" VALUE= "new"> <INPUT TYPE="submit" VALUE="Enter"> </FORM> III.2Xử lý FORM nhậ p và o vớ i ASP. Khi mộ t FORM submit thô ng tin tớ i Web server,Web browser củ a user yê u caà u file.asp chæ ñò nh trong thuoä c tính ACTION cuû a theû HTML <FORM>. File.asp chứ a đoạ n script thực hiệ n việ c xử lý giá trị FORM như hiể n thị mộ t bảng nộ i dung. Löu haønh noä i boä.

<span class='text_page_counter'>(13)</span> 13. Tìm hieå u veà ASP. kế t quả hoặ c truy vấ n thô ng tin từ mộ t cơ sở dữ liệ u.Bạ n có thể sử dụ ng file .asp để thu thậ p giá trị HTML FORM mộ t trong 3 cá ch: y File.html chứ a cá c form và submit giá trị củ a nó tớ i mộ t file.asp. y File.asp có thể tạ o form và chuyể n giá trị tớ i mộ t file asp khá c. y File.asp có thể tạ o form và gử i thô ng tin tớ i chính nó đó là đế n file.asp mà chứ a đự ng form. III.3 Laá y thoâ ng tin nhaä p vaø o FORM. Sử dụ ng QueryString Collection QueryString collection laá y laï i caù c giaù trò form ñöa vaø o Web server củ a bạ n như là mộ t chuỗ i sau sau mộ t dấ u ? trong yê u cầ u URL. Việ c sử dụ ng Querystring collection là m cho việ c truy xuấ t thô ng tin trở nê n dễ dà ng hơn Cuù phaù p Request.QueryString(variable)[(index)|.Count] Caù c tham soá variable teâ n cuû a bieá n trong chuoã i query HTTP. index Cho pheù p baï n truy vaá n moä t trong caù c giaù trò cho variable.Noù coù theå laø baá t kỳ số nguyê n nà o trong khoả ng từ 1 tớ i Request.QueryString(variable).Count. ♦ Nế u phương thứ c gở i từ form là POST thì Querystring chứ a tấ t cả thô ng tin gử i tớ i như là 1 tham số sau trang URL. ♦ Nế u phương thứ c gở i từ form là GET thì Querystring Collection chứ a toà n bộ thô ng tin gử i tớ i như là cá c tham số đi đằng sau dấ u “?” trong URL . Như vậ y nế u phương thứ c là GET thì toà n bộ thô ng tin gở i tớ i sẽ nằ m trong Querystring Collection. Löu haønh noä i boä.

<span class='text_page_counter'>(14)</span> 14. Tìm hieå u veà ASP. Ví dụ : nế u ví dụ trướ c đó sử dụ ng phương thứ c GET(ACTION= “GET”) và ngườ i sử dụ ng gõ và o Jeff, Smith, và 30 ,sau đó yê u cầ u URL sẽ đượ c gở i tớ i server là : http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=ne w Myfile.asp có thể chứ a đoạ n script xử lý như sau: Hello, <%= Request.QueryString("firstname") %> <%= Request.QueryString("lastname") %>. You are <%= Request.QueryString("age") %> years old. <% If Request.QueryString("userstatus") = "new user" then Response.Write"This is your first visit to this Web site!" End if %> Trong trườ ng hợ p nà y,Web sever củ a bạ n sẽ trả về đoạ n vă n bả n sau tớ i Web browser cuû a user: Hello, Jeff Smith. You are 30 years old. This is your first visit to this Web site! Khi coù nhieà u bieá n cuøng moä t teân vaø moã i bieá n coù giaù trò khaù c nhau.Khi đó , QueryString collection có mộ t tham số dù ng để truy cậ p nhiề u giá trị xuấ t hiệ n trong thâ n củ a yê u cầ u.Bạ n có thể sử dụng đặ c tính Count để đế m số lầ n maø moä t kieå u ñaë c tröng giaù trò xuaá t hieä n . Ví dụ :mộ t FORM chứ a mộ t list box vớ i nhiề u mụ c có thể trả lạ i như sau: ?food=apples&food=olives&food=bread Để hiể n thị nhiề u kiể u giá trị , List.asp có thể chứ a đoạ n script sau: <%Total = Request.QueryString("food").Count%> <%For i = 1 to Total%> <%= Request.QueryString("food")(i) %> <BR> <%Next%> vaø keá t quaû hieå n thò laø : apples olives bread. Löu haønh noä i boä.

<span class='text_page_counter'>(15)</span> 15. Tìm hieå u veà ASP. III.4.Sử dụ ng Form Collection. Form collection chứ a toà n bộ cá c giá trị mà user nhậ p và o FORM sau đó gử i bằng phương thứ c POST. Phương thứ c POST gở i dữ liệu FORM trong thâ n yê u cầ u HTTP,có thể gở i khô ng giớ i hạ n số ký tự tớ i server Cuù phaù p Request.Form(element)[(index)|.Count] Caù c thamsoá element tê n củ a phầ n tử form collection cầ n truy vấ n. index Mộ t thamsố lự a chọn cho phé p bạ n truy vấ n mộ t trong cá c giá trị đố i vớ i mộ t thamsố .Nó có thể là bấ t kỳ số integer nằ m trong vù ng từ 1 đế n Request.Form(thamsoá ).Count. Ghi chuù Form collection đượ c chỉ mục bở i tê n trong thâ n củ a yê u cầ u. Giá trị củ a Request.Form(element) laø moä t daõ y cuû a taá t caû caù c giaù trò cuûa element xuaá t hieä n trong thaâ n cuû a yeâ u caà u.Baï n coù theå xaù c ñò nh soá giaù trò cuû a moä t thamsoá baè ng caù ch goï iRequest.Form(element).Count. Để tham khả o mộ t giá trị đơn củ a mộ t phầ n tử form có nhiề u giá trị ,bạ n phả i chỉ đị nh mộ t giá trị cho index.Thamsố index có thể là bấ t kỳ số nà o giữ a 1 và Request.Form(element).Count. Ví duï : neá u user ñieà n vaø o FORM baè ng caù ch ñöa vaø o moä t danh saù ch teâ n thì baïn coù thể lấ y lạ i cá c tê n vớ i đoạ n script sau: <% For i = 1 to Request.Form.Count %> <% =Request.Form("names")(i) %> <% Next %> Löu haønh noä i boä.

<span class='text_page_counter'>(16)</span> 16. Tìm hieå u veà ASP. 2.Sử dụ ng ServerVariables collection ServerVariables collection lấ y lạ i cá c giá trị cá c biến mô i trườ ng đã được xá c đị nh trướ c.. ServerVariables cung cấ p thô ng tin từ tiê u đề HTTP vớ i mộ t yeâ u caà u cuû a user . Cuù phaù p Request.ServerVariables (server environment variable) Tham soá server environment variable: là tê n củ a biế n mô i trườ ng. Bạ n có thể sử dụ ng vò ng lặ p để lặ p thô ng qua tê n cá c biế n server.Ví dụ ,đoạ n script sau sẽ in ra tấ t cả cá c giá trị củ a cá c biế n mô i trườ ng trong mộ t bả ng. <TABLE> <TR><TD><B>ServerVariable</B></TD><TD><B>Value</B></TD></TR> <% For Each name In Request.ServerVariables %> <TR><TD><%=name%> </TD> <TD> <%= Request.ServerVariables(name) %> </TD> </TR> </TABLE> <% Next %> Ví dụ :sử dụ ng đố i tượ ng Request để hiển thị mộ t số biế n môi trườ ng . <HTML> <!-- This example displays the content of several ServerVariables. --> ALL_HTTP server variable = <%= Request.ServerVariables("ALL_HTTP") %> <BR> CONTENT_LENGTH server variable = <%= Request.ServerVariables("CONTENT_LENGTH") %> <BR> Löu haønh noä i boä.

<span class='text_page_counter'>(17)</span> 17. Tìm hieå u veà ASP. CONTENT_TYPE server variable = <%= Request.ServerVariables("CONTENT_TYPE") %> <BR> QUERY_STRING server variable = <%= Request.ServerVariables("QUERY_STRING") %> <BR> SERVER_SOFTWARE server variable = <%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR> </HTML>. Ví dụ : sử dụ ng ServerVariables collection để chèn tê n server và o trong mộ t sieâ u lieâ n keá t (hyperlink). <A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %> /scripts/MyPage.asp">Link to MyPage.asp</A>. III.5.Gử i thô ng tin trong cù ng mộ t file.asp:. - Vớ i ASP bạ n phả i đị nh nghĩ a độ ng 1 form trong 1 file.asp mà đặ t giá trị đầ u và o trả lạ i chính bả n thâ n nó . - ASP cho phé p mộ t file.asp có chứ a From, khi user điề u khiể n cá c giá trị và o From rồ i gử i (Submit) thì chính file.asp sẽ nhận đượ c cá c thamtin nà y và xử lyù . III.6.Đố i tượ ng Response. Bạ n có thể sử dụ ng đố i tượ ng Response để gở i kế t xuấ t tớ i client. Cuù phaù p Response.collection|property|method Collections Cookies. Chæ ñò nh giaù trò cookie vaø thieá t laä p caù c giaù trò Löu haønh noä i boä.

<span class='text_page_counter'>(18)</span> 18. Tìm hieå u veà ASP. cookie .. Properties Buffer ContentType. Expires. Chỉ ra liệ u trang kế t xuấ t đượ c đệ m hay khô ng. Chæ ñò nh kieå u noä i dung HTTP(vd:”Text/HTML”) khi đá p ứ ng. Chỉ đị nh thờ i gian trướ c khi mộ t trang lưu trữ trê n browser keá t thuù c.. Status. Server traû veà giaù trò cuû a traï ng thaù i doø ng .. Methods AddHeader. Thiế t lậ p tê n (name) tiê u đề HTML bằ ng giá trị (value).. Clear End. Hủ y bỏ vùng đệ m kế t xuấ t HTML. Dừ ng xử lý tậ p tin .asp và gở i trả kế t quả hiệ n haø nh.. Redirect Write. Chỉ dẫ n browser kế t nố i tớ i một URL khá c. Xuấ t mộ t biế n tớ i trang hiệ n hà nh như là mộ t chuoã i.. III.6.1 Gở i nộ i dung Để gở i trở lạ i mộ t trang chứ a vă n bả n,hình ả nh và cá c nộ i dung khá c tớ i browser bê n trong dấ u ngă n cá ch ASP hoặ c từ một thủ tụ c. Sử dụ ng phương thứ c Write củ a đố i tượ ng Response. Cuù phaù p Response.Write variant Löu haønh noä i boä.

<span class='text_page_counter'>(19)</span> 19. Tìm hieå u veà ASP. Tham soá variant Dữ liệ u để xuấ t. Tham số nà y có thể là bấ t kỳ dữ liệ u nà o mà ngô n ngữ script hổ trợ (kể cả các ký tự ,chuỗ i,số nguyê n). Ví dụ 1: câ u lệ nh gở i lờ i chà o khá c nhau tớ i user tù y thuộ c vào user đã viế ng thă m trang trướ c đó bao nhiê u lầ n : <% If FirstTime = True Then Response.Write "<H3 ALIGN=CENTER>Welcome to the Overview Page</H3>" Else Response.Write "<H3 ALIGN=CENTER>Welcome Back to the Overview Page</H3>" End If %> Bê n ngoà i mộ t thủ tụ c, bạ n khô ng cầ n phả i sử dụ ng phương thứ c Response.Write để gở i nộ i dung trở lạ i tớ i user.Nộ i dung nà y thì khô ng nằ m trong dấ u ngă n cá ch scripting mà đượ c gở i trực tiế p tớ i browser . Ví dụ 2: đoạ n script sau sẽ có kế t xuấ t như đoạ n script trướ c : <H3 ALIGN=CENTER> <% If FirstTime Then %> Welcome to the Overview Page. <% Else %> Welcome Back to the Overview Page. <% End If %> </H3> III.6.2Gở i cookie tớ i browser Mộ t Cookie đượ c coi như mộ t dấ u hiệ u đi kè m theo ngườ i sử dụ ng trong quá trình trao đổ i thô ng tin giữ a Client browser và Web server hoặ c giữ a Web. Löu haønh noä i boä.

<span class='text_page_counter'>(20)</span> 20. Tìm hieå u veà ASP. server và Client browser . Cookies cung cấ p cho 1 kiể u củ a thamtin từ sự giao kế t vớ i ngườ i sử dụ ng Cá c script củ a ASP có thể sử dụ ng Cookies collection để thiế t lậ p giá trị củ a mộ t Cookie. Khi dù ng Response.Cookies nế u cookie được đặ c tả chưa tồ n tạ i thì nó sẽ đượ c tạ o mớ i, nế u Cookie đã tồ n tạ i thì nó sẽ lấ y giá trị mớ i, giá trị cũ sẽ bị loạ i bỏ . Cuù phaù p: Response.Cookies(cookie)[(key)|.attribute] = value. Caù c tham soá cookie Teâ n cuû a cookie. key Tham số lự a chọ n.Nế u key đượ c chỉ đị nh, cookie là mộ t từ điể n và key thì thieá t laä p giaù trò (value). attribute Chỉ đị nh thô ng tin về cookie đó .Cá c thuộ c tính có thể là : Teâ n Domain. Expires HasKeys. Moâ taû Nế u chỉ định, cookie chỉ đượ c gở i tớ i yêu cầ u củ a vù ngs domain đó. Ngaø y cookie keá t thuù c. Cookie seõ keá t thuù c khi session keá t thuù c. Chỉ đị nh cookie chứ a cá c khó a hay khô ng. Löu haønh noä i boä.

<span class='text_page_counter'>(21)</span> 21. Tìm hieå u veà ASP. Nế u chỉ định,cookie chỉ đượ c gở i yê u cầ u tớ i đườ ng dẫ n Path. nà y.Nế u khô ng,đườ ng dẫ n củ a chương trình ứ ng dụng đượ c duø ng .. Secure. Chỉ đị nh có đượ c bả o đả m hay khô ng.. Value Giá trị để gá n và o key hoặ c attribute. Ví duï : baï n coù theå thieá t laä p giaù trò cho moä t cookie vaø gaù n caù c giaù trò vaø o caù c thuoä c tính (attribute) cuû a noù <% Response.Cookies("Type") = "Chocolate Chip" Response.Cookies("Type").Expires = "July 31, 1997" Response.Cookies("Type").Domain = "msn.com" Response.Cookies("Type").Path = "/www/home/" Response.Cookies("Type").Secure = FALSE %>. III.6.3 Chuyể n hướ ng điề u khiể n browser Thay vì gở i mộ t nộ i dung tớ i user, ta có thể gở i một thô ng bá o đế n browser để nó chuyể n tớ i mộ t URL khá c bằ ng cá ch sử dụng phương thứ c Redirect. Cuù phaù p Response.Redirect URL Tham soá URL. Löu haønh noä i boä.

<span class='text_page_counter'>(22)</span> 22. Tìm hieå u veà ASP. Đị a chỉ URL (Uniform Resource Locator) mà ta chuyể n hướ ng điề u khiể n tớ i. Ví dụ : bạ n muố n khi khá ch thă m Web site củ a bạ n thì họ đă ng ký trướ c khi sử duï ng noù .Ta taï o moä t Form coù teâ n laø register.asp : ---register.asp--<HTML> <HEAD><TILTE>Register</TILTE></HEAD> <BODY> <H4>Registration:</H4> <FORM ACTION = "/regresults.asp" METHOD = "POST"> <P>Please enter your first name: <INPUT NAME = "FirstName" TYPE=“TEXT” SIZE = 30> <P>Please enter your last name: <INPUT NAME = "LastName" TYPE=“TEXT” SIZE = 20> <BR><INPUT TYPE = SUBMIT VALUE=“Register”> </FORM> </BODY> </HTML> Sau đó để kiể m tra xem user có đưa và o đầ y đủ thô ng tin hay khô ng. Nế u khô ng thì chuyể n hướ ng điề u khiể n về lạ i trang đă ng ký là “register.asp”. ---regresults.asp--<% If Request.Form(“FirstName”)=“” Then Response.Redirect “/register.asp” %> <HTML> <HEAD><TILTE>Registration Results</TILTE></HEAD> <BODY> <% Löu haønh noä i boä.

<span class='text_page_counter'>(23)</span> 23. Tìm hieå u veà ASP. Thank you <% =Request.Form(“FirstName”) %> for registering! %> </BODY> </HTML> Chú ý : Nế u sử dụ ng Response.Redirect sau khi mộ t nộ i dung đã đượ c gử i về cho user thì seõ xaû y ra loã i. III.6.4 Đệ m trang Bình thườ ng, khi mộ t trang ASP đượ c xử lý trê n server, kế t xuấ t đượ c gở i tớ i browser ngay lậ p tứ c sau khi mỗ i lệ nh trong trang đượ c thực thi. Khi bạ n muố n đệ m kế t xuấ t củ a mộ t trang ASP thì server sẽ khô ng gở i đá p ứ ng nà o tớ i client cho đế n khi tấ t cả cá c server script trong trang hiệ n hà nh đã đượ c xử lý hoặ c là cho đế n khi phương thứ c Flush hoặ c End đượ c gọ i. Buffer property khô ng thể thiế t lậ p khi server đã gử i nộ i dung về client, vì thế để thiế t lậ p ta phả i gọ i Response.Buffer ở đầ u trang. Cuù phaù p Response.Buffer [= flag] Caù c tham soá flag Chỉ đị nh trang kế t xuấ t có đượ c đệ m hay khô ng. Giaù trò. Moâ taû. FALSE. Khô ng đệm.Server gở i kế t xuấ t tớ i client buffer đượ c xử lý . Server khô ng gở i kế t xuấ t tớ i client cho đế n khi tấ t cả cá c đoạ n. TRUE. script ASP trê n trang hiê n hà nh đã đượ c xử lý hoặ c cho đế n khi phương thứ c Flush hoặ c End đượ c gọ i.. Löu haønh noä i boä.

<span class='text_page_counter'>(24)</span> 24. Tìm hieå u veà ASP. Giaù trò Buffer maë c ñò nh cho taá t caû caù c trang ASP laø FALSE. Tuy nhieâ n baï n có thể đặ t buffer củ a đố i tượ ng Response là TRUE để thi hà nh cá c script trong mộ t trang trướ c khi gở i tớ i user Ví dụ : đoạn script nà y sẽ hiể n thị cá c số từ 1 đế n 100 nhưng tấ t cả nộ i dung củ a trang đượ c gở i cù ng mộ t lú c tớ i browser cho đế n khi đoạ n script xử lý xong. <% Response.Buffer = True %> <HTML> <HEAD><TILTE>Buffer Example</TILTE></HEAD> <BODY> <% For i=1 To 100 Response.Write i & “<BR>” Next %> </BODY> </HTML> Có thể sử dụ ng Buffer để xá c đị nh tạ i mộ t số điể m nà o đó của trang đượ c xử lý , mà ở đó ta khô ng muố n gử i nộ i dung trướ c đó tớ i ngườ i sử dụ ng,lú c đó có thể sử dụ ng phương thứ c Redirect để kế t nố i ngườ i sử dụ ng vớ i URL khá c, hoặ c sử dụ ng phương thứ c Clear để xó a Buffer và gở i nộ i dung khá c tớ i ngườ i sử dụ ng. Ví duï : ---Choose.asp--<HTML> <BODY> <HEAD><TILTE></TILTE></HEAD> <H4></H4> <FORM ACTION = "jump.asp" METHOD = "GET"> <SELECT NAME=“whichpage” > <OPTION SELECTED VALUE=“news” >News </OPTION> Löu haønh noä i boä.

<span class='text_page_counter'>(25)</span> 25. Tìm hieå u veà ASP. <OPTION VALUE=“sport” >Sport</OPTION> <OPTION VALUE=“music” >Music</OPTION> </SELECT> <BR><INPUT TYPE = SUBMIT VALUE=“Choose” >. </FORM> </BODY> </HTML> ---jump.asp--<% Response.Buffer = True %> <HTML> <HEAD><TILTE> </TILTE></HEAD> <BODY> <% which=Request.QueryString(“whichpage”) Select Case which case “news” Response.Redirect “/news.asp” case “sport” Response.Redirect. “/sport.asp”. case “music” Response.Redirect. “/music.asp”. %> </BODY> </HTML> III.6.5 Thieá t laä p kieåu noä i dung cuû a trang ContentType property chỉ rõ kiể u nộ i dung củ a thâ n đá p ứng(kiể u MIME). Caù c kieå u phoå bieá n laø : “text/HTML”, “image/GIF”, “application/msword” , , , “text/rtf”. Nế u ContentType khô ng đượ c chỉ đị nh,mặ c đị nh là text/HTML. Löu haønh noä i boä.

<span class='text_page_counter'>(26)</span> 26. Tìm hieå u veà ASP. Cuù phaù p Response.ContentType [= ContentType ] Tham soá ContentType Chuỗ i mô tả nộ i dung kiể u dữ liệ u. Chuỗ i nà y thườ ng đượ c đị nh dạ ng là type/subtype sao cho type là loạ i nộ i dung tổ ng quá t và subtype là kiể u nộ i dung ñaë c tröng. Ví dụ 1: để hiể n thị source code củ a mộ t vă n bả n HTML, bạ n thiế t lậ p ContentType property thà nh “text/plain” ,thâ n củ a đá p ứ ng đượ c gở i như là mộ t vă n bả n bình thườ ng hơn là một trang HTML. < % Response.ContentType= “text/plain” %> <HTML> <HEAD><TILTE>HTML Document</TILTE></HEAD> <BODY> <H1>This is an HTML Document </H1> </BODY> </HTML> Khi đó browser sẽ hiể n thị trang nhậ n đượ c như mộ t trang vă n bả n bình thườ ng chứ khô ng phả i là mộ t trang HTML. Ví dụ 2: để hiể n thị trang trê n Web browser là mộ t trang HTML, bạ n thiế t laä p ContentType property thaø nh “text/HTML” <% Response.ContentType = "text/HTML" %> <HTML> <HEAD><TILTE>HTML Document</TILTE></HEAD> <BODY> <H1>This is an HTML </H1> </BODY> </HTML>. Löu haønh noä i boä.

<span class='text_page_counter'>(27)</span> 27. Tìm hieå u veà ASP. III.6.6 Maõ traï ng thaù i Status property chỉ đị nh giá trị củ a dò ng trạ ng thá i trả về bở i server trong mộ t đá p ứ ng HTTP, property nà y khô ng sử a đổ i tiê u đề . Giá trị cá c trạ ng thá i đượ c ñò nh nghó a trong ñaë c taû HTTP. Cuù phaù p: Response.Status = StatusDescription Tham soá StatusDescription Mộ t chuỗ i gồ m có 3 chữ số cho biế t mã trạ ng thá i. Ví dụ : trả về mã trạng thá i 401 Not Authorized nế u ai đó truy tìm trang ASP trong ngaø y Wednesday <% If WEEKDAY(WEEKDAY(DATE))=“Wednesday” Then Response.Status=“401 Not Authorized” Response.End Else %> <HTML> <HEAD><TILTE>Not Wednesday</TILTE></HEAD> <BODY> Today is not Wednesday. </BODY> </HTML> <% End If %> III.7.Đố i tượ ng Server. Đố i tượ ng server cung cấ p truy cậ p tớ i cá c phương thứ c và đặ c tính (property) trê n server.Hầ u hết cá c phương thứ c và đặ c tính (property) server như là cá c chứ c nă ng tiệ n ích. Cuù phaù p Server.property|method Löu haønh noä i boä.

<span class='text_page_counter'>(28)</span> 28. Tìm hieå u veà ASP. Properties ScriptTimeout. Khoả ng thờ i gian mà mộ t script có thể chạ y trướ c khi hế t thờ i gian (time out).. Methods CreateObject. Tạ o mộ t thự c thể (instance) củ a mộ t đối tượ ng hoặ c thà nh phaà n server .. HTMLEncode Maõ hoù a chuoã i thaø nh daï ng HTML . MapPath URLEncode. Aù nh xạ đườ ng dẫ n ảo ,đườ ng dẫ n tuyệ t đố i hay tương đố i trê n server hiệ n hà nh và o mộ t đườ ng dẫ n vậ t lý . Mã hó a chuỗ i kí tự thà nh dạ ng URL.. III.7.1 ScriptTimeout ScriptTimeout property chỉ định khoả ng thờ i gian tố i đa mộ t script có thể chạ y trướ c khi nó đượ c kế t thú c. Khoả ng thờ i gian nà y sẽ khô ng ả nh hưở ng trong khi đang xử lý mộ t thà nh phầ n server. Cuù phaù p Server.ScriptTimeout = NumSeconds Caù c tham soá NumSeconds Chỉ đị nh số giâ y tố i đa mà một script có thể chạ y trướ c khi kế t thú c nó. Giaù trò maëc ñò nh laø 90 giaâ y. Ghi chuù : Baï n khoâ ng theå thieá t laä p giaù trò nhoû hôn giaù trò chæ ñò nh. Ví dụ trong mộ t số trườ ng hợ p, bạ n muố n thi hà nh mộ t đoạ n script mà thờ i gian củ a nó dà i hơn 90 giâ y mà khô ng muố n chỉ mộ t phầ n của đoạ n script đượ c hiể n thị thì khi đó ta có thể sử dụ ng ScriptTimeout property để thự c thi đoạ n script đoạ n script đó . <% Server.ScriptTimeout = 100 %> Löu haønh noä i boä.

<span class='text_page_counter'>(29)</span> 29. Tìm hieå u veà ASP. <HTML> <HEAD><TILTE>ScriptTimeOut Example</TILTE></HEAD> <BODY> <% For i=1 To 10000 Response.Write i & “<BR>” Next %> </BODY> </HTML> III.7.2 CreateObject Phương thứ c CreateObject tạ o mộ t thự c thể (instance) củ a mộ t thà nh phầ n server để có thể sử dụ ng cá c phương thứ c và truy cậ p cá c property củ a thà nh phầ n đó . Cuù phaù p Server.CreateObject( progID ) Thamsoá progID Chỉ đị nh kiể u đố i tượ ng cầ n tạo .. Ví dụ : để xem mộ t Web browser có hỗ trợ cookie,frames,tables ta sử dụ ng moä t trong caù c thaø nh phaà n cung caá p cho ASP laø thaø nh phaà n Browser Capabilities. <HTML> <HEAD><TILTE>CreateObject Example</TILTE></HEAD> <BODY> <% ‘tạ o thực thể củ a thà nh phầ n Set objBrowser= Server.CreateObject("MSWC.BrowserType") %> Löu haønh noä i boä.

<span class='text_page_counter'>(30)</span> 30. Tìm hieå u veà ASP. ‘sử dụ ng cá c property Your browser has the properties: Cookies =<%=objBrowser.cookie%><BR> Tables = <%=objBrowser.tables%><BR> Frames = <%=objBrowser.frames%><BR> </BODY> </HTML> Ghi chuù : Mặ c đị nh, cá c đố i tượ ng tạ o bở i phương thứ c Server.CreateObject có page scope (phạ m vi trang) nghĩ a là server tự độ ng hủ y bỏ chú ng khi server xử lý xong trang ASP hieä n haø nh. Để tạ o mộ t đố i tượng vớ i phạm vi là session hay application ,bạ n có thể sử dụ ng thẻ <OBJECT> và thiế t lậ p thuộ c tính SCOPE cho SESSION hoặ c APPLICATION, hoặ c là lưu trữ đố i tượng trong biế n session hoặ c application . Tạ o thà nh phầ n vớ i Session scope (phạm vi session) Mộ t đố i tượ ng session-scope đượ c tạ o ra cho mỗ i session mớ i trong mộ t ứ ng dụ ng và đượ c giả i phó ng khi session kế t thú c.Do đó , có mộ t đố i tượng trê n session hoạ t độ ng. Biế n session có thể được sử dụ ng mà mộ t user yê u cầu. Để tạ o mộ t đố i tượ ng session scope, bạ n có thể sử dụ ng thẻ <OBJECT> trong tậ p tin Global.asa hoặ c là sử dụ ng phương thứ c Server.CreateObject trê n trang ASP . Ví dụ 1: sử dụ ng phương thứ c Server.CreateObject <% Set Session(objAd) = Server.CreateObject("MSWC. Adrotator")%> Ví dụ 2: sử dụ ng thẻ <OBJECT> trong tậ p tin Global.asa <OBJECT RUNAT=Server SCOPE=Session ID=objAd PROGID="MSWC.Adrotator"> </OBJECT> Tạ o thà nh phầ n vớ i Application scope (phạ m vi Application). Löu haønh noä i boä.

<span class='text_page_counter'>(31)</span> 31. Tìm hieå u veà ASP. Mộ t đố i tượ ngAn application-scope object là mộ t thự c thể đơn củ a mộ t đố i tượ ng đượ c tạ o ra khi ứ ng dụ ng bắ t đầ u. Đố i tượ ng nà y đượ c chia sẽ bở i tấ t cả cá c gien yeâ u caà u. Ví dụ 1: sử dụ ng phương thứ c Server.CreateObject <% Set Application(objAd) = Server.CreateObject("MSWC.Adrotator")%> Ví dụ 2: sử dụ ng thẻ <OBJECT> trong tậ p tin Global.asa <OBJECT RUNAT=Server SCOPE=Application ID=objAd PROGID="MSWC.Adrotator"> </OBJECT>. Bạ n khô ng thể tạ o mộ t thự c thể (instance) có tê n trù ng vớ i cá c đố i tượ ng có saü n. Ví duï: <% Set Response = Server.CreateObject("Response") %>. III.7.3 HTMLEncode Phương thứ c HTMLEncode dù ng để mã hó a mộ t chuỗ i thà nh dạ ng HTML . Cuù phaù p Server.HTMLEncode( string ) Tham soá string Chuỗ i để mã hó a. Ví duï : <HTML> <HEAD><TILTE>HTMLEncode Example</TILTE></HEAD> <BODY> <% Löu haønh noä i boä.

<span class='text_page_counter'>(32)</span> 32. Tìm hieå u veà ASP. Response.Write “<B>The bold tag </B>" Response.Write “<BR>” Response.Write Server.HTMLEncode("<B>The bold tag </B>") %> </BODY> </HTML> keá t quaû hieå n thò laø : The bold tag &lt;B&gt;The bold tag &lt;/B&gt; III.7.4 MapPath Phương thứ c MapPath á nh xạ mộ t đườ ng dẫ n tương đố i hoặ c ả o tớ i mộ t thư muï c vaä t lí treâ n server Cuù phaù p Server.MapPath( Path ) Tham soá Path Chỉ đị nh đườ ng dẫ n tương đố i hoặ c ả o á nh xạ thà nh mộ t thư mụ c vậ t lý .Nế u Path bắ t đầ u vớ i 1 forward (/) hoặ c backward slash hay (\) thì phương thứ c MapPath trả về mộ t đườ ng dẫ n nế u Path là mộ t đườ ng dẫ n ảo đầ y đủ .Nế u Path khô ng bắ t đầ u vớ i mộ t slash (/ hoặ c\ ), phương thứ c MapPath trả về mộ t đườ ng dẫ n tương đố i tớ i thư mục củ a tậ p tin .asp đang thự c thi. Ví dụ : tậ p tin data.txt đượ c đị nh vị trong thư mụ c,C:\Inetpub\Wwwroot\Script, như là tậ p tin test.asp chứ a đoạ n script sau. Thư mụ c C:\Inetpub\Wwwroot thì đượ c thieá t laä p nhö laø thö muï c chuû cuû a server. Đoạ n script sau sử dụ ng biế n server là PATH_INFO để á nh xạ đườ ng dẫ n vaä t lyù cuû a taä p tin hieä n haø nh. Löu haønh noä i boä.

<span class='text_page_counter'>(33)</span> 33. Tìm hieå u veà ASP. <%= server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR> keá t quaû laø: C:\inetpub\wwwroot\script\test.asp<BR> Nế u khô ng bắ t đầ u vớ i ký tự slash (/ hoặ c \) thì chú ng được á nh xạ tương đố i tớ i thư mụ c hiệ n hà nh, trong trườ ng hợ p nà y là C:\Inetpub\Wwwroot\Script . <%= server.mappath("data.txt")%><BR> <%= server.mappath("script/data.txt")%><BR> keá t quaû laø: c:\inetpub\wwwroot\script\data.txt<BR> c:\inetpub\wwwroot\script\script\data.txt<BR> III.7.5 Maõ hoù a moä t chuoã i query Phương thứ c ULREncode mã hó a mộ t chuỗ i thà nh dạ ng URL.Ví dụ , tấ t cả cá c khoả ng trắ ng đượ c chuyể n đổ i thà nh dấ u cộ ng. Cuù phaù p Server.URLEncode( string ). Caù c thamsoá string Chuỗ i để mã hó a. Ví duï 1: <%= Server.URLEncode("The paragraph tag: <P>") %> khi đó kế t quả mã hó a là : The+paragraph+tag%3A+%3CP%3E Ví duï 2: <% Response.Write(Server.URLEncode("")) %> Löu haønh noä i boä.

<span class='text_page_counter'>(34)</span> 34. Tìm hieå u veà ASP. khi đó kế t quả mã hó a là : http%3A%2F%2Fwww%2Emicrosoft%2Ecom Ưù ng dụ ng cơ bả n ASP gồ m có mộ t thư mụ c ả o trê n server và tấ t cả tà i liệ u và tậ p tin mà nó ở trong thư mụ c ả o. Khi sử dụng nhữ ng ứ ng dụ ng cơ bả n của ASP bạ n có thể sử dụ ng cá c loạ i đố i tượ ng sau: • Application state: tấ t cả thô ng tin gắ n liề n vớ i mộ t ứ ng dụ ng có thể được dù ng cho tấ t cả nhữ ng user củ a mộ t ứ ng dụ ng . • Session state: nhữ ng thô ng tin thì chỉ có thể đượ c dù ng cho mộ t user. III.8.Đố i tượ ng Session. Đố i tượ ng Session đượ c sử dụ ng để lưu trữ và tìm lạ i thô ng tin về mộ t user session. Cá c giá trị lưu trữ trong đố i tượ ng Session khô ng bị loạ i bỏ đi khi user di chuyể n từ trang nà y sang trang khá c trong ứ ng dụ ng, Web server tự động tạ o ra mộ t đố i tượ ng Session khi mộ t trang Web trong ứ ng dụ ng đượ c yê u cầu bở i mộ t user chưa có session. Server hủ y bỏ đố i tượ ng Session khi nó hế t thờ i gian hay đượ c hủ y bỏ . Thự c tế , mộ t Session chỉ thuộ c về một user. Dữ liệ u Session thườ ng gắ n liề n vớ i một user, nó quả n lý các thô ng tin về user đang sử dụ ng mộ t ứ ng dụng . Cuù phaù p Session.collection|property|method Collections Contents Properties SessionID. Chứ a cá c mụ c (item) mà bạ n thê m và o session vớ i cá c lệ nh script . Trả về đị nh danh session đố i vớ i user.. Löu haønh noä i boä.

<span class='text_page_counter'>(35)</span> 35. Timeout. Tìm hieå u veà ASP. Khoả ng thờ i gian đối vớ i cá c session trong ud.. Methods. Hủ y bỏ mộ t đố i tượng Session và giả i phó ng tà i nguyê n củ a. Abandon. noù .. Events Se_OnStart Se_OnEnd. Xả y ra khi ngườ i sử dụ ng đầ u tiê n yê u cầu mộ t trang trong moä t chöông trìng ud Xaû y ra khi session keá t thuù c. III.8.1.Lưu trữ thông tin Session Nế u bạn cầ n lưu trữ dữ liệ u trong đố i tượ ng Session thì lưu trữ trong mộ t collection củ a đố i tượ ng Session. Thô ng tin lưu trữ trong đố i tượ ng Session thì có giaù trò thoâng qua session vaø coù session scope. Ví dụ : lưu trữ dữ liệ u trong 2 biế n củ a đố i tượ ng Session <HTML> <HEAD><TILTE>Session Example</TILTE></HEAD> <BODY> <% Session("Name") = "John" Session("age") = 20 %> </BODY> </HTML> Để truy tìm lạ i thô ng tin từ đối tượ ng Session, truy cậ p tê n biế n. Ví duï : hieå n thò giaù trò hieä n haø nh cuû a Session("Name") vaø Session("age") <HTML> <HEAD><TILTE>Session Example</TILTE></HEAD> <BODY> <% Response.Write Session("Name") & “<BR>” Löu haønh noä i boä.

<span class='text_page_counter'>(36)</span> 36. Tìm hieå u veà ASP. Response.Write Session("age") & “<BR>” %> </BODY> </HTML>. ƒ Quaû n lyù caù c session Bắ t đầ u và kế t thú c Session Mộ t Session có thể bắ t đầ u bằng 3 cá ch : ♦ User muố n yê u cầ u mộ t URL đượ c đị nh nghĩ a trong tậ p tin .asp và tậ p tin Global.asa cho ứ ng dụ ng bao gồ m cả thủ tụ c Session_OnStart ♦ User lưu trữ giá trị trong đố i tượ ng Session ♦ User yê u cầ u mộ t tậ p tin asp trong mộ t trình ứ ng dụng và tậ p tin Global.asa củ a ứ ng dụ ng sử dụ ng thẻ <OBJECT> để khở i tạ o mộ t đối tượ ng vớ i session scope. Mộ t session tự độ ng kế t thú c nế u user khô ng có yê u cầ u hoặ c refresh mộ t trang trong mộ t ứ ng dụ ng trong mộ t khoả ng thờ i gian. Giá trị nà y mặ c đị nh là 20 phú t. Bạ n có thể thay đổ i giá trị mặc đị nh cho mộ t ứ ng dụ ng bằ ng cá ch thieá t laä p Session Timeout property. Ví dụ : đặ t lạ i khoả ng thờ i gian là 40 phú t. <% Session.Timeout = 40 %> Ngoà i ra, bạ n cũ ng có thể kế t thú c mộ t session vớ i phương thứ c Abandon củ a đố i tượ ng Session .Ví dụ: <% Session.Abandon %>. Löu haønh noä i boä.

<span class='text_page_counter'>(37)</span> 37. Tìm hieå u veà ASP. III.8.2.Nhaä n daï ng moä t Session ASP gaù n moã i user session moä t ñò nh danh duy nhaá t. Moã i session coù moät đị nh danh duy nhấ t đượ c phá t sinh bở i server khi session đượ c tạ o ra.Để tìm lạ i session ID, sử dụ ng SessionID property củ a đố i tượ ng Session. Cuù phaù p Session.SessionID Ví duï : <HTML> <HEAD><TILTE>SessionID Example</TILTE></HEAD> <BODY> Your session ID is :<% =Session.SessionID %> </BODY> </HTML> III.8.3.Timeout Timeout chỉ đị nh khoả ng thờ i gian đã gán đố i tượ ng Session cho ứ ng dụ ng (tính bằ ng phú t). Nế u ngườ i sử dụ ng khô ng refresh(là m tươi) hoặ c yê u cầ u mộ t trang trong mộ t khoả ng thờ i gian, session kế t thú c. Cuù phaù p Session.Timeout [ = nMinutes] Tham soá nMinutes Chỉ đị nh số phú t mà mộ t session có thể vẫ n cò n trướ c khi server kế t thú c nó mộ t cách tự độ ng, mặ c đị nh là 20 phú t. Ví dụ : hiể n thị Timeout property và đặ t lạ i giá trị Timeout mớ i. <HTML> <HEAD><TILTE>Timeout Example</TILTE></HEAD> Löu haønh noä i boä.

<span class='text_page_counter'>(38)</span> 38. Tìm hieå u veà ASP. <BODY> Timeout=<% =Session.Timeout %><BR> <% Session.Timeout=30 %> Your new time out is: <% =Session.Timeout %> </BODY> </HTML> Lưu ý : Bạn khô ng thể đặ t lạ i khoả ng thờ i gian nhỏ hơn giá trị mặ c đị nh. III.8.4.Cá c sự kiệ n Session Đố i tượ ng Session có 2 sự kiệ n: Session_OnEnd đượ c kích khở i khi mộ t session bắ t đầ u và Session_OnStart đượ c kích khở i khi mộ t session kế t thú c. Cả 2 sự kiệ n này phả i được đị nh vị trong tậ p tin Global.asa. Nó chứ a toà n bộ thô ng tin về ứ ng dụng Web site củ a bạ n. Tậ p tin Global.asa có cấ u trú c sau: <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnEnd End Sub </SCRIPT>. <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Session_OnStart End Sub </SCRIPT> Tham soá ScriptLanguage Chỉ đị nh ngô n ngữ scripting sử dụ ng để viế t cá c script sự kiệ n. Nó có thể là bấ t kỳ ngô n ngữ scripting đượ c hỗ trợ như là VBScript hoặ c JScript. Ghi chuù : Löu haønh noä i boä.

<span class='text_page_counter'>(39)</span> 39. Tìm hieå u veà ASP. Bạ n khô ng thể sử dụ ng cá c thẻ HTML hoặ c phương thứ c Response.Write bê n trong taä p tin Global.asa. Bạ n khô ng thể gọ i phưong thứ c MapPath trong đoạ n script Session_OnEnd. Bạ n nê n chú ý rằ ng bấ t kỳ script sự kiệ n Session_OnStart nà o theo sau là mộ t lờ i gọ i tớ i phương thứ c Redirect thì khô ng đượ c thực thi. Vì thế , bạ n nê n gọ i phương thứ c Redirect sau cù ng trong script sự kiệ n củ a bạ n.Ví dụ như: <SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart ' đoạ n script khở i tạ o Session Response.Redirect "http:/server/app/StartHere.asp" End sub </SCRIPT>. Tuy nhiê n, bạ n khô ng thể lưu trữ mộ t đố i tượ ng có sẵ n trong đố i tượ ng Session.Ví duï nhö: <% Set Session("var1") = Session Set Session("var2") = Request Set Session("var3") = Response Set Session("var4") = Server Set Session("var5") = Application %> Bạ n có thể sử dụ ng đố i tượ ng session để thiế t lậ p nhữ ng đố i tượ ng hoặ c biế n có session scope. Scope là sự mở rộ ng mà nó là 1 đố i tượ ng thà nh phầ n hoặ c biế n. Löu haønh noä i boä.

<span class='text_page_counter'>(40)</span> 40. Tìm hieå u veà ASP. coù giaù trò trong ASP. Moä t bieá n maø coù session scope thì noù chæ coù theå beâ n trong session đó.. III.8.5.Đố i tượ ng Application Đố i tượ ng Application dù ng để chia sẻ thô ng tin giữ a tấ t cả ngườ i sử dụ ng củ a mộ t ứng dụ ng. Mộ t ứ ng dụ ng trê n ASP đượ c đị nh nghĩ a như toà n bộ cá c tậ p tin .asp trong mộ t thư mụ c ả o và cá c thư mụ c con củ a nó . Mộ t số đặ c điể m củ a ứ ng duï ng ASP: Dữ liệ u có thể được chia sẻ giữ a cá c trang trong ứ ng dụ ng. Mộ t thự c thể củ a một đố i tượ ng có thể đượ c chia sẻ giữ a cá c trang trong ứ ng duï ng. Dừ ng mộ t ứ ng dụ ng mà khô ng ả nh hưở ng tớ i cá c ứ ng dụ ng khá c. Cuù phaù p Application.method Collections Chứ a tấ t cả cá c mụ c đã đượ c thê m và o Contents. đố i tượ ng Application thô ng qua cá c lệ nh script.. Methods Lock. Unlock. Ngă n cấ m cá c client khá c sử a đổ i đặ c tính đố i tượ ng Application . Cho phé p cá c client khá c sử a đổ i đặ c tính đố i tượ ng Application .. Events Application_OnEnd Xả y ra khi ứ ng dụ ng kế t thú c(ví dụ khi ngừ ng web server) Application_OnStart Xả y ra khi mộ t trang trong ứ ng dụ ng lầ n đầ u đượ c tham Löu haønh noä i boä.

<span class='text_page_counter'>(41)</span> 41. Tìm hieå u veà ASP. khả o đế n.. III.8.5.1.Sử dụ ng phương thứ c Lock và Unlock Để ngă n cấ m giá trị cá c biế n lưu trữ trong đố i tượ ng Application có thể bị hư khi có 2 client cố gắ ng truy cậ p dữ liệu cù ng mộ t lú c thì chú ng ta có thể sử dụ ng phương thứ c Lock và Unlock.Khi phương thứ c đang Lock diễ n tiế n thì khô ng có cá c đoạ n script khá c cố gắng thay đổi thô ng tin lưu trữ trong đố i tượng Application cho đế n khi phương thứ c Unlock đượ c gọ i. Cuù phaù p Application.Lock Application.Unlock Ví dụ : sử dụ ng biế n ứ ng dụ ng NumVisits để lưu trữ số lầ n một trang cụ thể đã đượ c truy cậ p.Phương thứ c Lock đượ c gọ i để chỉ có client hiệ n hà nh có thể truy cậ p hoặ c thay đổ i NumVisits.Sau đó gọi phương thứ c Unlock cho phé p nhữ ng ngườ i sử dụ ng khá c truy cậ p đối tượ ng Application. <% Application.Lock Application("NumVisits") = Application("NumVisits") + 1 Application.Unlock %> This application page has been visited <%= Application("NumVisits") %> times!. Löu haønh noä i boä.

<span class='text_page_counter'>(42)</span> 42. Tìm hieå u veà ASP. III.8.5.2.Cá c sự kiệ n Application Giố ng như đố i tượng Session, đố i tượ ng Application cù ng có 2 sự kiệ n: Sự kiệ n Application_OnStart xả y ra khi mộ t ứ ng dụ ng ASP bắ t đầ u và trướ c sự kiệ n Session_OnStart, sự kiệ n Application_OnEnd xả y ra khi ứ ng dụ ng kế t thú c và sau sự kiệ n Session_OnEnd. Cuù phaù p <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Application_OnEnd End Sub </SCRIPT>. <SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> Sub Application_OnStart End Sub </SCRIPT>. Tham soá ScriptLanguage Chỉ đị nh ngô n ngữ scripting sử dụ ng để viế t cá c script sự kiệ n.Nó có thể là bấ t kỳ ngô n ngữ scripting đượ c hỗ trợ như là VBScript hoặ c JScript. Ghi chuù Bạ n khô ng thể gọ i phương thứ c MapPath trong đoạ n script Application_OnEnd .. Löu haønh noä i boä.

<span class='text_page_counter'>(43)</span> 43. Tìm hieå u veà ASP. Ví dụ : hiể n thị thô ng tin cho mỗ i user củ a ứ ng dụng xem khi và o ứ ng dụ ng bằ ng cá ch sử dụ ng sự kiệ n Application_OnStart, sau đó cho phé p ngườ i sử dụ ng sử a đổ i lạ i thô ng tin. <SCRIPT LANGUAGE =VBScript RUNAT=Server> Sub Application _OnStart Application (“yourname” )= “Unknow” Application (“occuption” )= “Unknow” End Sub </SCRIPT> ---Display.asp--‘hiể n thị thô ng tin để user truy cậ p tậ p tin Display.asp có thể xem <HTML> <BODY> Thank you, <%=Application (“yourname”)%><br> You are <%=Application (“occuption”)%><br> </BODY> </HTML>. ---Change.asp--‘ thay đổ i giá trị mớ i và nhấ n Send để thay đổ i <html> <body> <Form Method=“GET” Action=“Result.asp” > Please enter your name: <input type="text" name="name" ><br> Please choose your occupation:<BR> Löu haønh noä i boä.

<span class='text_page_counter'>(44)</span> 44. Tìm hieå u veà ASP. <input type= "radio" name= "occup" >Studen <br> <input type= "radio" name= "occup" >Teacher <br> <input type= "radio" name= "occup" >Engineer <br> <input type="submit" value="Send" > </form> </body> </html>. ---Result.asp--‘đặ t lạ i giá trị nhậ n đượ c từ user trong tậ p tin Change.asp và chuyể n hướ ng kế t nố i user tớ i tậ p tin Display.asp để xem giá trị mớ i. <% If Not IsEmpty(Request .Form(“ newmsg” )) then Application.Lock Application(“yourname”) = Request.QueryString(“name” ) Application(“your_occup”) = Request.QueryString(“occup” ) Application .UnLock End If Response.Redirect “Display.asp” %> Bạ n khô ng thể lưu trữ mộ t đố i tượ ng có sẵ n trong đố i tượ ng Application. Ví dụ nhö: <% Set Application("var1") = Session Set Application("var2") = Request Set Application("var3") = Response Löu haønh noä i boä.

<span class='text_page_counter'>(45)</span> 45. Tìm hieå u veà ASP. Set Application("var4") = Server Set Application("var5") = Application %>. VI. CAÙ C THAØ NH PHAÀ N (COMPONENT) CUÛ A ASP Ngoà i cá c đố i tượ ng cơ bả n có sẵ n trong mô i trườ ng ASP, ASPviệ c tạ o cá c trang Web độ ng bằ ng ASP cò n đượ c trợ giú p nhờ mộ t số thư việ n cá c đố i tượ ng (Active X Component) củ a ActiveX Server. Cá c thà nh phầ n đượ c thiế t kế để chạ y trê n Web Server như mộ t ứ ng dụ ng Web cơ sở hợp thà nh cá c gó i nhỏ đặ c trưng chung là độ ng. Mỗ i thà nh phầ n đượ c sử dụ ng cho mộ t cô ng việ c chuyê n biệ tnhiệ m cho là mộ t thư việ n cá c lớ p (hay đố i tượ ng), đượ c thiế t kế ở dạ ng Automation Server, thự c hiệ n mộ t nhó m cô ng việ c chung nhấ t cho mộ t thao tá c nà o đó , chẳ ng hạ n như truy xuấ t database, truy xuấ t file… vì thế ngườ i phá t triể n ứ ng dụ ng Web baè ng ASP khoä ng caà n phaû i taï o laï i caù c ñaë c tính naø y. Bạ n có thể tạ o độ ng, tương tá c vớ i cá c trang Web bằ ng cá ch sử dụ ng cá c thà nh phầ n server đã đượ c included vớ i Active Server Pages (ASP) trong cá c đoạ n script cuû a baï n. Thaø nh phaà n File Access VI.1.Đố i tượ ng FileSystemObject. Thà nh phầ n File Access sử dụ ng đố i tượ ng FileSystemObject và TextStream để khô i phụ c lạ i và sử a đổ i thô ng tin lưu trữ trong file trê n server. Đố i tượ ng FileSystemObject cung cấ p thao tá c các tậ p tin vă n bả n từ bê n trong đoạ n mã củ a chú ng ta. Chú ng ta có thể tạo mộ t thực thể củ a đố i tượ ng FileSystemObject bằ ng cá ch sử dụ ng đoạ n script sau: Set objFSO=CreateObject(“Scripting.FileSystemObject”) Mỗ i khi chú ng ta có mộ t đố i tượ ng FileSystemObject, chú ng ta tạ o đố i tượ ng TextStream bằ ng cá ch sử dụ ng cá c phương thứ c củ a FileSystemObject Löu haønh noä i boä.

<span class='text_page_counter'>(46)</span> 46. Tìm hieå u veà ASP. VI.1.1Phương thứ c CreateTextFile Phương thứ c CreateTextFile tạ o mộ t file vă n bả n mớ i hoặ c viế t đè lên mộ t file đã tồ n tạ i. Phương thứ c này trả về mộ t đố i tượng TextStream mà chú ng ta có thể sử dụ ng để đọ c file hoặ c ghi và o file. Trướ c tiê n chú ng ta tạ o mộ t đố i tượ ng FileSystemObject, sau đó sử dụ ng đố i tượ ng nà y để tạ o đố i tượ ng TextStream. Cuù phaù p: [object.]CreateTextFile(filename[,overwrite]) Caù c tham soá : Object. Tê n củ a mộ t đố i tượ ng FileSystemObject. Filename. Đườ ng dẫ n và tê n file chú ng ta tạ o ra hoặ c ghi leâ n. Overwrite. TRUE ghi đè lê n mộ t file đã tồ n tạ i, ngượ c lạ i là FALSE. Ví dụ : tạo mộ t file mớ i và ghi dữ liệ u và o file.txt <% Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”) Set objNewFile=obj.CreateTextFile(“C:\MyFile\file.txt”,FALSE) objNewFile.Write(“Hello”) objNewFile.WriteLine(“Welcom”) objNewFile.Close %> VI.1.2.Phương thứ c OpenTextFile: Phương thứ c OpenTextFile mở mộ t file vă n bả n đã tồ n tạ i. Phương thứ c nà y trả về mộ t đố i tượ ng TextStream mà chúng ta có thể sử dụ ng để đọ c file hoặ c thê m dữ liệ u và o file. Trướ c tiê n, chú ng ta tạ o mộ t đố i tượ ng FileSystemObject sau đó sử dụ ng đố i tượ ng nà y để tạ o đố i tượng TextStream. Löu haønh noä i boä.

<span class='text_page_counter'>(47)</span> 47. Tìm hieå u veà ASP. Set objFSO=CreateObject(“Scripting.FileSystemObject”) Set objNewFile=obj.OpenTextFile (“C:\TextFile\Myfile.txt”) Cuù phaù p: [object.]OpenTextFile (filename[,iomode[ , create]]) Caù c tham soá : Object. Tê n củ a mộ t đố i tượ ng FileSystemObject.. Filename. Đườ ng dẫ n và tê n tậ p tin muố n mở .. Iomode. ForReading hoặ c ForAppending. Mặ c đị nh là ForReading.. Create. TRUE tạ o mộ t file mớ i hoặ c là FALSE nế u file đã tồ n tạ i rồ i.. Ví dụ1 : đọ c mộ t file sử dụng phương thứ c ReadLine <HTML> <HEAD> <TITLE>ReadingFile.asp</TITLE> </HEAD> <BODY> <% Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”) Set objTextFile=obj.OpenTextFile(“C:\MyFile\file.txt”, 1 , FALSE ) WHILE NOT objTextFile.AtEndOfStream Response.Write objTextFile.ReadLine(“Hello”) WEND objTextFile.Close %> </BODY> </HTML> Ví dụ 2 : thê m dữ liệ u và o file.txt <HTML> Löu haønh noä i boä.

<span class='text_page_counter'>(48)</span> 48. Tìm hieå u veà ASP. <HEAD> <TITLE>ReadingFile.asp</TITLE> </HEAD> <BODY> <% Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”) Set objTextFile=obj.OpenTextFile(“C:\MyFile\file.txt”,ForAppending) objTextFile.WriteBlankLines(2) objTextFile.WriteLine(“This is a new line”) objTextFile.Close %> </BODY> </HTML> VI.2..Đố i tượ ng TextStream Sử dụ ng cá c phương thứ c và property củ a đố i tượ ng TextStream để đọ c hay ghi dữ liệu và o file. Phương thứ c Close. Đó ng mộ t file.. Read(numchars). Đọ c numchars ký tự từ file.. ReadAll. Đọ c toà n bộ nộ i dung củ a file TextStream .. ReadLine. Đọ c mộ t dò ng từ file.. Skip(numchars). Nhả y qua numchars ký tự khi đọ c file.. SkipLine. Nhả y qua dò ng kế tiế p khi đọ c file.. Write(string). Ghi chuoã i leâ n file.. WriteLine([string]). Ghi chuỗ i và thê m ký tự xuố ng hà nglê n file.. WriteBlankLine(n). Ghi n doø ng leâ n file.. Properties Löu haønh noä i boä.

<span class='text_page_counter'>(49)</span> 49. Tìm hieå u veà ASP. AtEndOfLine. TRUE nế u con trỏ file ở cuố i dò ng trong mộ t file.. AtEndOfStream. TRUE nế u con trỏ file ở cuố i file.. Column. Trả về số cộ t hiệ n hà nh trong mộ t file, bắ t đầ u từ 1.. Line. Trả về số dò ng hiệ n hà nh trong mộ t file, bắ t đầ u từ 1.. Ví dụ 1 : sử dụ ng FileSystemObject để ghi dữ liệ u và o file <% Set objFile =Server. CreateObject("Scripting.FileSystemObject") Set objTextFile = objFile.CreateTextFile("c:\myfile.txt", True) objTextFile.WriteLine("This is a test.") objTextFile.Close %> Ví dụ 2 : sử dụ ng FileSystemObject để đọ c file <% Set objFile =Server.CreateObject("Scripting.FileSystemObject") Set objTextFile = objFile.CreateTextFile("c:\testfile.txt", True) While NOT objTextFile.AtEndOfStream Response.Write(objTextFile.ReadLine) Wend objTextFile.Close %> VI.3.Thaø nh phaà n Ad Rotator Thà nh phầ n Ad Rotator tạ o mộ t đố i tượ ng tự độ ng quay cá c hình ả nh quả ng cá o trê n mộ t trang Web. Mỗ i khi mộ t user mở hoặ c nạ p lạ i trang Web ,thà nh Löu haønh noä i boä.

<span class='text_page_counter'>(50)</span> 50. Tìm hieå u veà ASP. phầ n Ad Rotator hiể n thị mộ t thô ng bá o mớ i dự a trê n thô ng tin bạ n chỉ đị nh trong Rotator Schedule File Cuù phaù p: Set AdRotator = Server.CreateObject("MSWC.AdRotator") vớ i AdRotator là tê n củ a đố i tượ ng AdRotator. Properties Border Clickable. Chỉ đị nh kích thướ c đườ ng viề n củ a quả ng cá o banner. Cho biế t quả ng cá o banner có chứ c nă ng là mộ t siê u liê n kế t. Noù coù 2 giaù trò laø TRUE vaø FALSE.. TargetFrame Chỉ đị nh tê n củ a frame để hiể n thị thô ng bá o trong đó . Methods GetAdvertisement Laá y chi tieá t thoâ ng tin veà quaû ng caù o banner. Để tạ o mộ t thự c thể củ a thà nh phầ n Ad Rotator, chú ng ta sử dụ ng phương thứ c CreateObject củ a đố i tượng Server. <% Set objAd= Server.CreateObject("MSWC.AdRotator") %> Ví dụ : Hiể n thị cá c thô ng bá o khá c nhau mỗ i khi user xem trang Web, trong đó tậ p tin MyAdFile.txt chứ a thô ng tin về các quả ng cá o đượ c hiể n thị . <HTML> <HEAD> <TITLE>Adrotator Example</TITLE> </HEAD> <BODY> <% Set objAd = Server.CreateObject("MSWC.AdRotator") %> objAd.Border(0). ‘khô ng có đườ ng viề n. objAd.Clickable(TRUE) ‘laø moä t sieâ u lieâ n keát objAd.TargetFrame(“MyFrame”) ‘naï p vaø o frame teâ n MyFrame. Löu haønh noä i boä.

<span class='text_page_counter'>(51)</span> 51. Tìm hieå u veà ASP. strHTML=objAd.GetAdvertisement(“AdFiles\MyAdFile.txt”) Response.Write(strHTML). ‘ñöa HTML vaø o trong trang. %> </BODY> </HTML>. VI.4.Thaø nh phaà n Browser Capabilities Xá c đị nh khả nă ng, loạ i, kiể u củ a mỗ i browser như tê n,version,có hỗ trợ frame,table hay khoâ ng…) Khi mộ t browser kế t nố i tớ i web server, nó tự độ ng gở i tiê u đề User Agent HTTP. Tiê u đề nà y là mộ t chuỗ i ASCII đị nh dạ ng browser và version củ a nó Bạ n có thể thê m các property hoặ c đị nh nghĩ a browser mớ i bằ ng cá ch cậ p nhaä t file browscap.ini. Cuù phaù p Set BrowserType = Server.CreateObject("MSWC.BrowserType") vớ i BrowserType là tê n đố i tượ ng BrowserType. Ví dụ : sử dụ ng đố i tượ ng BrowserType hiể n thị mộ t bả ng cho biế t cá c khả naê ng cuû a browser hieä n haø nh <HTML> <HEAD> <TITLE>Browser Example</TITLE> </HEAD> <BODY> <% Set objBrow = Server.CreateObject("MSWC.BrowserType") %> <table border=1> <tr><td>Browser</td><td><%= objBrow.browser %> <tr><td>Version</td><td><%= objBrow.version %> </td></TR> Löu haønh noä i boä.

<span class='text_page_counter'>(52)</span> 52. <tr><td>Frames</td><td> <% if (objBrow.frames = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>Tables</td><td> <% if (objBrow.tables = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>BackgroundSounds</td><td> <% if (objBrow.BackgroundSounds = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>VBScript</td><td> <% if (bc.vbscript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> <tr><td>JScript</td><td> <% if (bc.javascript = TRUE) then %> TRUE <% else %> FALSE <% end if %> </td></TR> </table> </BODY> </HTML>. Löu haønh noä i boä. Tìm hieå u veà ASP.

<span class='text_page_counter'>(53)</span> 53. Tìm hieå u veà ASP. VI.5.Thaø nh phaà n Content Linking Tạ o nộ i dung củ a trang và liên kế t chú ng vớ i nhau giố ng như nhữ ng trang trong moä t quyeå n saù ch. Thaø nh phaà n Content Linking taï o Nextlink quaû n lyù danh saù ch caù c URL, noù coù thể phá t sinh và cậ p nhậ t bả ng nộ i dung và điề u khiể n liê n kết tớ i cá c trang trướ c đó và cá c trang sau đó . Cuù phaù p Set NextLink = Server.CreateObject("MSWC.NextLink") vớ i NextLink là tên củ a đố i tượ ng đượ c tạ o bở i phương thứ c Server.CreateObject . Cá c phương thứ c GetListCount(list). Trả về tổ ng số trang chứ a trong list file.. GetNextURL(list). Laá y URL cuû a trang keá tieá p trong list file.. GetPreviousDescription(list) Lấ y dò ng mô tả củ a trang trướ c đó trong list file . GetListIndex(list). Laá y vò trí cuû a trang hieä n haø nh trong list file.. GetNthDescription(list,n). Mô tả trang thứ Nth trong list file.. GetPreviousURL(list). Lấ y URL củ a trang trướ c đó trong list file.. GetNextDescription(list). Laá y moâ taû cuû a trang keá tieá p trong list file.. GetNthURL(list,n). Lấ y URL củ a trang thứ Nth trong list file.. VI.5.1.Taï o noä i dung cuû a moä t trang Xâ y dự ng bả ng nộ i dung trong trang : <ul> <% Set objNextLink = Server.CreateObject ("MSWC.NextLink") %> <% intCount = objNextLink.GetListCount ("contentlink.txt") For intLoop=1 To intCount %> Löu haønh noä i boä.

<span class='text_page_counter'>(54)</span> 54. Tìm hieå u veà ASP. <li> <a href="<%= NextLink.GetNthURL ("contentlink.txt",intLoop ) %> "> <%= objNextLink.GetNthDescription ("contentlink.txt",intLoopI) %> </a> <% Next %> </ul> <% intCount = objNextLink.GetListCount ("links\ contentlink.txt") <% intCoun=objNextLink.GetListCount ("/demo/contentlink.txt") VI.5.2. Duyeä t thoâ ng qua caù c trang Đoạ n script sau thê m và o nú t Back và nú t Next tớ i mộ t file HTML . <% Set objNextLink = Server.CreateObject ("MSWC.NextLink") strListFile=(“contentlink.txt”) intThisPage= objNextLink. GetListIndex(strListFile) If ( intThisPage > 1) Then %> <Input Type=Button Value=“<Back” Onclick=“location.href=’<%= objNextLink.GetPreviousURL (strListFile) %>’ ; "> <% End If %> <Input Type=Button Value=“Home” Onclick=“location.href=’content,asp %>’ ; "> If ( intThisPage < objNextLink. GetListCount(strListFile) Then %> <Input Type=Button Value=“Next>” Onclick=“location.href=’<%= NextLink.GetNextURL (strListFiel) %>’; "> <% End If %>. Thaø nh phaà n Database Access Löu haønh noä i boä.

<span class='text_page_counter'>(55)</span> 55. Tìm hieå u veà ASP. Ta có thể tạ o nhữ ng trang Web độ ng tá c độ ng lẫ n nhau bằ ng cá ch sử dụng cá c thaø nh phaà n Server sau trong Script Mộ t ứ ng dụ ng Web Database viế t bằ ng cá ch sử dụng thà nh phầ n Database Access cuû a ActiveX hay coø n goï i laø thö vieä n ADO (ActiveX Data Object). Ñaâ y cuõ ng chính là mộ t điểm mạ nh nhấ t củ a ASP trong việ c phá t triể n ứ ng dụ ng Web Database. Cá c đố i tượ ng củ a ADO cung cấ p cơ chế tạ o ra cá c kế t nố i (Connection) vớ i haà u heá t caùc kieå u Database, cuõ ng nhö vieä c truy xuaá t, caä p nhaä t caù c Database naø y. Hieä n nay thö vieä n ADO laø moä t coâ ng cuï maï nh nhaá t trong vieä c phaù t trieå n caù c ứ ng dụ ng Database trê n Internet. Trong phaà n naø y ta seõ xem xeù t caù c phaà n trong thö vieä n coâ ng cuï naø y. Giao dieä n ADO : ADO được thiế t kế mộ t cá ch đơn giả n nhấ t, nó giao tiế p vớ i database thô ng qua phương thứ c ODBC (Open Database Connectivity), chú ng ta có thể sử dụ ng chú ng vớ i bấ t kỳ loại Database nà o nế u như ODBC có driver hỗ trợ . (Hiệ n nay tồ n tạ i Driver cho hầ u hế t cá c loạ i Database, như Foxpro, Access, oracle, Spl server…tuy nhiê n các file cơ sở dữ kiệ u theo dạ ng bả ng như Exel, hoặ c File text thì ODBC khô ng hỗ trợ ). Cá c đố i tượ ng trong ADO Cá c đố i tượ ng chính trong ADO đó là : Connection, Commmand và RecordSet. Ngoà i ba đố i tượ ng chính nà y cò n có các đố i tượ ng con củ a nó cù ng vớ i cá c tham số , property, phương thứ c bê n trong. Sử dụ ng Connection ta có thể thiế t lậ p sự liê n kế t vớ i cơ sở dữ liệ u, thô ng qua đó ta có thể thự c hiệ n cá c query để lấ y ra cá c record hoặ c cậ p nhậ t mộ t record bằ ng sử dụ ng đố i tượ ng Command. Kế t quả thự c Löu haønh noä i boä.

<span class='text_page_counter'>(56)</span> 56. Tìm hieå u veà ASP. hiệ n cá c query trê n database sẽ đượ c lưu và o đố i tượ ng RecordSet, trê n đố i tượ ng naø y ta coù theå duyeä t vaø laá y ra moä t hay nhieà u Record. 1. Đố i tượng Connection Để sử dụ ng đố i tượ ng Connection, trướ c tiê n ta phả i tạ o ra mộ t thự c thể (instance) cho nó , đây thự c sự là thự c thể củ a đố i tượ ng nà y trong trang ASP. Để tạ o mộ t thự c thể (instance) đố i tượ ng Connection bạ n có thể sử dụ ng đoạ n script sau: <% Connection_name= Server.CreateObject (“ADODB.Connection”) %> Thô ng thườ ng trong mộ t ứ ng dụ ng nế u ta cầ n có mộ t liê n kế t vớ i Data Source cố đị nh cho tấ t cả trang thì khi đó ta sẽ đặ t thự c thể (instance) củ a Connection ở mứ c application scope bằ ng cá ch đưa phá t biể u tạ o thự c thể (instance) ở trê n và o sự kiệ n Application_OnStart: <% Sub Application_OnStart () Set objConn= Servcer.CreateObject (“ADODB.Connection”) End Sub %> hoặ c thiế t lậ p tầ m vự c cho Connection ở mứ c Sesstion như sau : <%. Löu haønh noä i boä.

<span class='text_page_counter'>(57)</span> 57. Tìm hieå u veà ASP. Sub Session_OnStart () Set objConn = Server.CreateObject (“ADODB. Connection”) End Sub %> Tuy nhieâ n ta coù theå xem xeù t theâ m vieä c toá i öu cho caù c Connection trong moä t ứ ng dụ ng có nhiề u ngườ i sử dụng truy xuấ t tớ i Database, đó là khả nă ng Connection Pooling cuû a ODBC 3.0. Connection Pooling Cá c ứ ng dụ ng cơ sở ứ ng dụ ng truyề n thố ng đề u tạ o mộ t nố i liê n kế t đơn tớ i Database mà nó sử dụ ng, cò n cá c ứ ng dụ ng Database trê n Web lạ i mở và đó ng cá c liê n kế t nà y ở mỗ i mộ t trang Web. Mộ t phương phá p cho cá c ứ ng dụng Database trê n Web là tạ o mộ t sự liê n kết liê n tụ c vớ i cơ sở dữ liệ u của từ ng ngườ i sử dụ ng và lưu trữ trong đố i tượ ng Session. Tuy nhiê n phương phá p nà y có thể là m gia tă ng số lượ ng cá c user có kế t nố i vớ i cơ sở dữ liệ u mà khô ng là m việ c và nó chỉ đạ t đượ c độ tin cậ y đố i vớ i cá c Web Site có sự lưu thô ng dữ liệ u thấ p (low-trafic) Phương phá p tiệ n lợ i trong việ c quả n lý cá c kế t nối vớ i cơ sở dữ liệ u củ a ứ ng dụ ng Web là quả n lý bằ ng Connection Pool củ a ODBC 3.0, nhằ m giả m bớ t số lượ ng liê n kế t rả nh rỗ i, ODBC sẽ mở cá c kế t nố i và quả n lý cá c kế t nối nà y. Mỗ i khi có mộ t yê u cầ u mớ i thì thự c hiệ n việ c kiể m tra xem có liê n kế t nà o trong Connection Pool đang rả nh khô ng, nế u khô ng có thì sẽ tạ o kế t nố i mớ i, nế u có thì nó sẽ lấ y liê n kế t rả nh nà y mà khô ng tạ o liê n kế t mớ i. Nế u mộ t liê n kế t rả nh nà o trong Connection Pool tồ n tạ i quá 60 giâ y thì nó sẽ tự độ ng loại bỏ . Löu haønh noä i boä.

<span class='text_page_counter'>(58)</span> 58. Tìm hieå u veà ASP. Connection Pooling đượ c kích hoạ t mặ c nhiê n trong ASP, ta có thể loại bỏ baè ng caù ch thieá t laä p giaù trò Register Entry Start Connection Pool veà giaù trò 0. Cá c phương thứ c và đặ c tính (property) củ a đố i tượ ng Connection Phương thứ c. Moâ taû. Open. Mở mộ t kế t nố i mớ i tớ i dữ liệu nguồ n.. Close. Đó ng lạ i mộ t kế t nố i .. Execute. Thự c thi mộ t query,SQL hoặ c mộ t thủ tụ c lưu trữ sẵ n.. Property CommandTimeout. Moâ taû Số giâ y chờ đợ i khi thự c thi mộ t lệ nh trướ c khi keá t thuù c.. ConnectionString. Thô ng tin dù ng để tạo kế t nố i tớ i nguồ n dữ lieä u.. ConnectionTimeout Số giâ y chờ đợ i khi tạ o ra mộ t kế t nố i trướ c khi keá t thuù c.. 1.1 Mở và đó ng mộ t kế t nố i Database Để thiế t lậ p mộ t liê n nố i vớ i database thì bạ n tạo thự c thể (instance) củ a đố i tượ ng Connection, sau đó ta có thể mở mộ t kế t nố i tớ i dữ liệ u nguồ n (DSN) để có thể truy xuấ t dữ liệ u . Cuù phaù p : Connection.Open ConnectionString,User,Passwosd Löu haønh noä i boä.

<span class='text_page_counter'>(59)</span> 59. Tìm hieå u veà ASP. trong đó ConnectionString : Chuoã i ñò nh nghó a teâ n cuû a Data Source Name (DSN), teâ n nà y đượ c khai bá o trong ODBC. User : Tê n ngườ i sử dụ ng đưa và o khi mở mộ t kế t nố i Password : Maä t maõ ñöa vaø o khi thieá t laäp moä t keá t noá i. Ví dụ : mở mộ t DSN có tê n là student,user="student" và password ="magic" <% Set objConn=Server.CreateObject("ADODB.Connection") objConn .Open "DSN=student;uid=student;pwd=magic" objConn.Close Set objConn=Nothing %> Sau khi xử lý xong dữ liệ u trê n data source, trướ c khi kế t thú c trang ta phả i đó ng lạ i cá c kế t nố i đã mở . Sử dụ ng phương thứ c Close củ a đố i tượ ng Connection để đó ng mộ t kế t nố i. objConn.Close Sau khi đó ng mộ t kết nố i, bạ n khô ng thể sử dụ ng kế t nố i để giao tiế p vớ i database. 1.2Thự c thi câ u lệ nh SQL vớ i kế t nố i Open: Sau khi đã kế t nố i vớ i Data Source, để thự c thi mộ t câ u lệ nh SQL hoặ c vớ i mộ t thủ tục, sử dụ ng phương thứ c Execute cho phé p thự c thi mộ t câ u lệ nh tá c độ ng Löu haønh noä i boä.

<span class='text_page_counter'>(60)</span> 60. Tìm hieå u veà ASP. lê n Data Source. Phương thứ c nà y có 2 dạng : Mộ t dạ ng đượ c sử dụ ng khi tìm kiế m kế t quả từ mộ t database và dạng khá c là đượ c sử dụ ng khi khô ng có kế t quả nà o đượ c trả về . Set recordset = connection.Execute(CommandText, RecordsAffected, Options) connection.Execute CommandText, RecordsAffected, Options trong đó recordset : Mộ t biế n đố i tượ ng Recordset chứ a kế t quả truy vấ n. CommandText : Chứ a query để thự c thi. Connection : Mộ t biế n đố i tượ ng Connection. RecordsAffected : chứ a số record mà lệ nh tá c động đế n. Options : Có cá c giá trị khá c nhau tương ứ ng vớ i mỗ i loạ i CommandText.. Giaù trò. Hằ ng tương ứ ng. 0. AdCmdUnknown. 1. AdCmdText. 2. AdCmdTable. 3. AdCmdStoredProc. Moâ taû CommandText Unknown. Giaù trò naøy laø maë c ñò nh khi ñò nh nghó a. CommandText laø moä t caâ u leä nh nhö caâ u leä nh SQL. Teâ n cuû a baû ng taï o recordset . Mộ t thủ tục trữ sẵ n (stored procedure) trong data source.. Trướ c khi bạ n có thể sử dụ ng nhữ ng hằ ng số nà y trong mộ t trang ASP, bạ n phaû i include moä t file ñaë c bieä t goï i laø ADOVBS.inc. Löu haønh noä i boä.

<span class='text_page_counter'>(61)</span> 61. Tìm hieå u veà ASP. Ví dụ 1 : sử dụ ng phương thứ c Execute để thự c thi mộ t câ u lệ nh SQL mà khoâ ng tìm kieá m laï i baá t kyø keá t quaû naø o. <!-- #include virtual="ADOVBS.INC"--> <% ‘tạ o mộ t instance (thự c thể ) củ a đố i tượng Connection Set objConn = Server.CreateObject("ADODB.Connection") ‘mở kế t nố i tớ i Database objConn.Open "DSN=student;uid=student;pwd=magic" ‘thự c thi mộ t thủ tục lưu trữ sẵ n tê n là MyPro objConn.Execute “MyProc”, adCmdStoredProc objConn.Close Set objConn=Nothing %> Ví dụ 2 : sử dụ ng phương thứ c Execute để trả kế t quả từ mộ t câ u truy vấ n SQL <!-- #include virtual="ADOVBS.INC"--> <% ‘tạ o mộ t thự c thể của đố i tượ ng Connection Set objConn = Server.CreateObject("ADODB.Connection") ‘Mở kế t nố i tớ i Database Löu haønh noä i boä.

<span class='text_page_counter'>(62)</span> 62. Tìm hieå u veà ASP. objConn.Open "DSN=student;uid=student;pwd=magic" ‘thự c thi câ u lệ nh SQL SQLtemp="SELECT * FROM MyTable WHERE Name= 'John' " objConn.Execute SQLtemp, adCmdText objConn.Close Set objConn=Nothing %> 2. Đố i tượng Command. Thay vì phả i sử dụ ng phương thứ c Execute củ a đố i tượ ng Connection để thự c thi mộ t thủ tụ c lưu trữ sẵ n hoặ c mộ t câ u lệ nh SQL, ta có thể sử dụ ng đố i tượ ng Command để thi hà nh cá c thao tá c vớ i cơ sở dữ liệ u như : thê m, xó a, cậ p nhậ t dữ liệ u hoặ c truy vấ n dữ liệ u trong mộ t bả ng. Chú ý : Để thự c thi mộ t truy vấ n khô ng sử dụ ng đố i tượ ng Command, đưa mộ t chuỗ i truy vấ n và o phương thứ c Execute củ a đố i tượ ng Connection hoặ c là tớ i phương thứ c Open củ a đố i tượng Recordset. Tuy nhiê n, đố i tượ ng Command cầ n đượ c sử dụ ng khi bạn muố n vẫn giữ lạ i lệ nh và thực thi lạ i nó , hoặ c sử dụ ng cá c tham soá truy vaá n. Việ c tạo mộ t thực thể (instance) cho đố i tượ ng Command cũ ng giố ng như đố i tượ ng Connection tứ c là ta cũ ng sử dụ ng phương thứ c Server.CreateObject. Ví duï : Set objCmd = Server.CreateObject (“ADODB.Command”) Tuy nhiê n để thự c sự sử dụ ng biế n đố i tượ ng nà y ta phả i xem xé t cá c đặ c tính và phương thứ c đi kè m theo nó . Löu haønh noä i boä.

<span class='text_page_counter'>(63)</span> 63. Phương thứ c CreateParameter. Tìm hieå u veà ASP. Moâ taû Tạ o mộ t đố i tượ ng Parameter trong Parameters collection.. Execute. Thự c thi câ u lệ nh SQL hoặ c thủ tụ c lưu trữ sẵ n chỉ đị nh trong CommandText property.. Property ActiveConnection. Moâ taû Đố i tượ ng Connection nà o đượ c sử dụ ng vớ i đố i tượ ng Command.. CommandText. Chỉ đị nh câ u lệ nh cầ n thự c thi.. CommandTimeout Xá c đị nh thờ i gian thự c thi lệ nh, giá trị thờ i gian nà y tính theo giâ y. CommandType. Cho bieá t kieå u cuû a query chæ ñò nh trong CommandText.. Prepared. Tạ o ra lệ nh chuẩ n bị trướ c khi thự c thi.. 2.1 Taï o moä t keá t noá i Active Connection : Sau khi đã có thự c thể (instance) củ a đố i tượ ng Connection đã đượ c kế t nố i vớ i cơ sở dữ liệ u và đố i tượ ng Command. Lú c này nế u muố n sử dụ ng đố i tượ ng Command ta phả i gán tê n củ a Connection thích hợp (Connection nà o kế t nố i tớ i cơ sở dữ liệ u cầ n là m việ c ) và o cho ActiveConnecttion củ a đố i tượ ng Command. Löu haønh noä i boä.

<span class='text_page_counter'>(64)</span> 64. Tìm hieå u veà ASP. Cuù phaù p name.ActiveConnection = Connection_name Ví duï : <% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DSN=student;uid=student;pwd=magic" objCmd.ActiveConnection = objConn.Open Sau khi đã thiế t lậ p kế t nố i vớ i đố i tượ ng Connection, ta có thể sử dụ ng phương thứ c Exexcute củ a đố i tượ ng Command gầ n giố ng như vớ i Connection . Tuy nhiê n, điể m khá c vớ i đố i tượ ng Connection là đố i vớ i đối tượ ng Command nế u ta có dự đị nh thi hà nh mộ t lệ nh nà o thì ta sẽ phả i khở i tạ o cá c giá trị cho CommandText, CommandType, …. Ví dụ : đoạ n chương trình thi hà nh mộ t câ u query trê n mộ t data source <% Set objConn = Server.CreateObject("ADODB.Connection") Set objCmd = Server.CreateObject(“ADODB.Command”) ‘taï o keá t noá i objConn.Open "DSN=student;uid=student;pwd=magic" objCmd.ActiveConnection = objConn.Open objCmd.CommandText="SELECT * FROM Contact WHERE State=’LA’" ‘cho bieá t CommandText laø moä t caâ u leä nh SQL objCmd.CommandType = 1 Löu haønh noä i boä.

<span class='text_page_counter'>(65)</span> 65. Tìm hieå u veà ASP. ‘bieâ n dò ch caâ u leä nh objCmd.Prepared = TRUE ‘thự c thi câ u lệ nh objCmd.Execute ‘giả i phó ng tà i nguyê n đã sử dụ ng Set objCmd.ActiveConnection = Nothing %> Chú ng ta có thể thiế t lậ p giá trị CommandTimeout đầ u tiê n để xá c đị nh khoả ng thờ i gian thực thi câ u lệ nh, mặ c đị nh là 30 giâ y, nế u để giá trị nà y là 0 thì ADO sẽ thự c thi cho đế n khi tá c vụ được hoà n tấ t. 2.2 Sử dụng tham số cho cá c lệ nh SQL. Nế u như query cầ n thự c hiệ n có yê u cầ u cá c tham số , thì ta phả i thê m các tham số nà y và o Parameter collection trướ c khi thự c hiệ n câ u lệ nh. Đố i vớ i phương thứ c Execute củ a đối tượ ng Connection khô ng có khả nă ng nà y. Sử dụ ng phương thứ c Execute củ a đố i tượ ng Command thự c thi câ u query chỉ ñò nh trong CommandText property. Cuù phaù p Set recordset = command.Execute(RecordsAffected, Parameters, Options) command.Execute RecordsAffected, Parameters, Options trong đó recordset : Mộ t biế n đố i tượ ng Recordset chứ a kế t quả truy vấ n.. Löu haønh noä i boä.

<span class='text_page_counter'>(66)</span> Tìm hieå u veà ASP. 66. command : Mộ t biế n đố i tượ ng đạ i diệ n cho đố i tượ ng Command. RecordAffected và Options có chứ c nă ng và giá trị giố ng như trong đố i tượ ng Connection. Parameter là mộ t dãy cá c giá trị tham số đượ c đưa và o vớ i mộ t câ u lệ nh SQL. Để tìm hiể u cá ch tạo ra danh sá ch cá c tham số của câ u lệ nh, ta hã y xem xé t cá c phương thứ c và property củ a Parameter collection. Phương thứ c. Moâ taû. Append. Theâ m moä t tham soá vaø o collection.. Delete. Xoá mộ t tham số trong collection.. Refresh. Cậ p nhậ t collection để phả n ánh sự thay đổ i cá c tham số .. Property. Moâ taû. Count. Traû veà soá tham soá trong collection.. Item. Laá y laï i giaù trò cuû a moä t tham soá trong collection.. Taï o vaø theâ m tham soá vaø o Collection Mỗ i mộ t phầ n tử củ a Parameter collection có thể coi như mộ t đố i tượ ng Parameter vaø chuù ng cuõ ng coù caù c ñaë c tính (property) rieâ ng cuû a mình. Property Attributes. Moâ taû Kiể u dữ liệ u mà tham số chấ p nhậ n. Löu haønh noä i boä.

<span class='text_page_counter'>(67)</span> 67. Direction. Tìm hieå u veà ASP. Thể hiệ n kiể u dữ liệ u mà tham số là Input hay Output, hay laø caû hai, hay nó là giá trị trả về từ mộ t thủ tụ c lưu trữ sẵ n (stored procedure).. Name. Teâ n cuû a tham soá .. NumericScale. Số chữ số thậ p phâ n trong tham số kieå u soá .. Precision. Số chữ số củ a tham số kiể u số.. Size. Kích thướ c lớ n nhấ t, tính theo byte, cuû a giaù trò tham soá .. Type. Kiể u dữ liệ u củ a tham số .. Value. Giaù trò gaùn cho tham soá .. Để tạ o mộ t đố i tượ ng Parameter mớ i, sử dụ ng phương thứ c CreateParameter củ a đố i tượ ng Command Cuù phaù p Set pamareter = command.CreateParameter(Name,Type,Direction,Size,Value) Để thê m mộ t tham số mớ i vào Parameter collection. Trướ c tiê n ta phả i tạ o mộ t thự c thể (instance) cho đố i tượ ng Parameter, sau đó thiế t lậ p cá c giá trị property cho nó và cuố i cù ng sử dụ ng phương thứ c Append. Ví dụ : tạ o mộ t tham số mớ i và thê m tham số nà y và o Parameter collection. Set objParam = objCmd.CreateParameter ( “State” , 128 , 1 , 2 , ”Ny” ) objCmd.Parameters.Append objParam Löu haønh noä i boä.

<span class='text_page_counter'>(68)</span> 68. Tìm hieå u veà ASP. Ví duï : <% ‘tạ o mộ t thự c thể của đố i tượ ng Command objCmd = Server.CreateObject(“ADODB.Command”) ‘taï o keá t noá i objConn.Open "DSN=student;uid=student;pwd=magic" objCmd.ActiveConnection = objConn.Open objCmd.CommandText="DeleteStateQuery" ‘cho biế t CommandText là mộ t thủ tụ c lưu trữ sẵ n objCmd.CommandType = 4 strValue=Request.Form(“txtState”) ‘khi submit từ mộ t form Set objParam = objCmd.CreateParameter ( “State” ) ‘chæ coù teâ n tham soá ObjParam.Type=adChar ‘ kieå u tham soá laø chuoã i ObjParam.Direction=adParamInput ‘moä t query ñöa vaø o tham soá ObjParam.Size=Len(strValue) ‘kích thướ c củ a chuỗ i ObjParam.Value=strValue ‘giaù trò chuoã i objCmd.Parameters.Append objParam ‘theâ m tham soá vaø o collection objCmd.Execute ‘thự c thi câ u lệ nh Set objCmd.ActiveConnection = Nothing ‘giả i phó ng tà i nguyê n đã sử dụ ng Löu haønh noä i boä.

<span class='text_page_counter'>(69)</span> 69. Tìm hieå u veà ASP. %> Tham khả o cá c đố i tượ ng collection Mỗ i khi chú ng ta có cá c tham số trong collection. Để lấ y giá trị củ a tham số trong collection ta có thể sử dụ ng Item property hoặ c sử dụng chỉ mục (index) hoặ c laø teâ n tham soá . Cuù phaù p objCmd.Parameters.Item(index) hoặ c objCmd.Parameters(index) hoặ c objCmd.Parameters.Item(tê n_tham_số ) hoặ c là objCmd.Parameters(tê n_tham_số ) Ví dụ : để lấ y giá trị củ a tham số State và 128 ở ví dụ trê n, ta có thể sử dụ ng caù c cuù phaù p objCmd.Parameters.Item(0) hoặ c objCmd.Parameters(0) hoặ c objCmd.Parameters.Item(“State”) hoặ c là objCmd.Parameters(“State”) tương tự objCmd.Parameters.Item(1) hoặ c objCmd.Parameters(1) hoặ c objCmd.Parameters.Item(128) hoặ c là objCmd.Parameters(128) Löu haønh noä i boä.

<span class='text_page_counter'>(70)</span> 70. Tìm hieå u veà ASP. Đọ c và hủy bỏ cá c tham số Chú ng ta có thể sử dụ ng vò ng lặ p For…Each để xuấ t ra tê n và giá trị củ a tấ t cả cá c tham số trong Parameter collection và đặ t chú ng trong trang hiệ n hà nh sử dụ ng phương thứ c Response.Write Ví duï : <% For Each objParam In objCmd.Parameters Response.Write “Parameter name = ” & objParam.Name & “<br>” Response.Write “Parameter value = ” & objParam.Value Next %> Để hủ y bỏ mộ t tham số trong Parameter collection, sử dụ ng phương thứ c Delete. Ví dụ : xoá tham số tê n State, chú ng ta có thể sử dụ ng tê n hoặ c chỉ mụ c củ a noù objCmd.Parameters.Delete “State” objCmd.Parameters.Delete 0 3. Đố i tượng Recordset. Bằ ng cá ch sử dụ ng cá c đố i tượng Connection và Command ta có thể thực thi cá c query để thê m và o, cậ p nhậ t hay xó a mộ t record trong data source. Tuy nhiê n trong cá c ứ ng dụ ng thì ta cũ ng phả i thự c hiệ n việ c lấ y ra mộ t số cá c record từ ADO, để hiể n thị giá trị củ a chú ng ta phả i sử dụ ng đố i tượ ng Recordset. Löu haønh noä i boä.

<span class='text_page_counter'>(71)</span> 71. Tìm hieå u veà ASP. Sử dụ ng Recordset để hiể n thị cá c record Mộ t Recordset có thể đượ c sử dụ ng để tượ ng trưng cho cá c record trong mộ t bả ng database. Nó có thể chứ a mộ t hoặ c nhiề u record (hà ng), mỗ i record có thể chứ a mộ t hoặ c nhiề u field (cộ t). Để tạ o mộ t thự c thể (instance) củ a đố i tượ ng Recordset, sử dụng phương thứ c Server.CreateObject : Set objRs = Server.CreateObject("ADODB.Recordset") Sau khi đã có biế n đố i tượ ng Recordset, ta có thể khở i tạ o giá trị cho nó bằ ng cá ch lưu kế t quả trả về mỗ i khi thự c thi phương thứ c Execute củ a đố i tượ ng Connection hay Command. Để hiể n thị cá c record trong Recordset, sử dụ ng vò ng laë p thoâ ng qua caù c record. Ví duï : <% Set objConn = Server.CreateObject(“ADODB.Connection”) ‘tạ o mộ t thự c thể (instance) củ a đối tượ ng Connection Set objRs = Server.CreateObject(“ADODB.Recordset”) objConn.Open "DSN=student;uid=student;pwd=magic" Set objRs = objConn.Execute(“SELECT * FROM MyTable” ) Do While objRs.EOF Response.Write objRs(“Name”) & “<br>” objRs.MoveNext Loop Löu haønh noä i boä.

<span class='text_page_counter'>(72)</span> Tìm hieå u veà ASP. 72. Set objRs.Close Set objConn.Close %> Là m việ c vớ i Fields Collection. Mỗ i đố i tượ ng Recordset có mộ t Fields collection chứ a dữ liệ u và thông tin về mỗi trườ ng (field) trong record hiệ n hà nh. Sử dụ ng Fields collection để lấy moã i record trong Recordset. Phương thứ c Refresh. Moâ taû Cậ p nhậ t collection để phả n ánh sự thay đổ i tớ i giá trị cá c field.. Property. Moâ taû. Count. Traû veà soá field trong collection.. Item. Laá y laï i noä i dung cuû a caù c field trong collection.. Để hiể n thị giá trị của cộ t trong bả ng, bạ n có thể sử dụ ng tê n củ a trườ ng (cộ t) hoặ c khi bạ n khô ng biế t tê n củ a trườ ng (cộ t) thì ta có thể sử dụ ng chỉ mụ c củ a trườ ng đó để hiể n thị . Chú ý : chỉ số củ a cá c filed trong record đượ c đá nh số từ 0 cho tớ i giá objRs.Fields.Count-1.. Löu haønh noä i boä.

<span class='text_page_counter'>(73)</span> 73. Tìm hieå u veà ASP. Ví duï : hieå n thò taá t caû caù c haø ng vaø coä t trong moä t baûng <HTML> <HEAD> <TITLE>Dislay Database Example</TITLE> </HEAD> <BODY bgcolor="#FFFFFF"> <% whichDSN="DSN=student;uid=student;pwd=magic" Mysql="Select * From MyTable " Set objConn = Server.CreateObject("ADODB.Connection") Conn.Open whichDSN Set objRs = Server.CreateObject("ADODB.Recordset") Mysql="Select * From MyTable " objRs = objConn.Execute("Select * From MyTable ") howmanyfields= objRs .Fields.Count –1 ‘chứ a số field trong Recordset %> <TABLE border=1> <TR> ‘hieå n thò teâ n cuû a caùc field Löu haønh noä i boä.

<span class='text_page_counter'>(74)</span> 74. <% for i=0 to howmanyfields %> <TD><b><%= objRs (i).Name %></b></TD> <% Next %> </TR> ‘hieå n thò taá t caû caù c field trong Recordset <% Do While Not objRs.eof %> <TR> <% for i =0 to howmanyfields %> <TD><% = objRs (i) %></TD> <% Next %> </TR> <% objRs .movenext Loop objRs.close set objRs=nothing objConn.close set objConn=nothing %> </TABLE> </BODY> Löu haønh noä i boä. Tìm hieå u veà ASP.

<span class='text_page_counter'>(75)</span> 75. Tìm hieå u veà ASP. </HTML> Caù c kieå u con troû (Cursor)vaø khoù a (Locking) Recordset Mộ t cursor xá c đị nh kiể u thao tá c có thể thự c hiệ n và kiể u thay đổ i mà cá c user khá c khi mở mộ t Recordset . Cò n kiể u locking xá c đị nh database sẽ xử lý trườ ng hợ p nhiề u user cố gắ ng thay đổ i mộ t record trong cù ng mộ t lú c. Để thự c hiệ n việ c này, đầ u tiê n bạ n tạ o mộ t thự c thể (instance) củ a đối tượ ng Recordset, sau đó sử dụ ng phương thứ c Open để mở mộ t Recordset. Cuù phaù p objRs .Open Source, ActiveConnection, CursorType, LockType, Options vớ i cá c tham số : Source: Mộ t đố i tượng Command, câ u lệ nh SQL, tê n bả ng hoặ c thủ tục lưu trữ saü n(stored procedure). ActiveConnection : Tê n củ a dt Connection đã được mở kế t nố i vớ i cơ sở dữ lieä u caà n laø m vieä c. CursorType : Kiể u củ a con trỏ đượ c sử dụ ng khi mở Recordset. CursorType sử dụ ng cá c kiể u cursor khi mở Recordset là : AdOpenForwardOnly : (Mặ c đị nh)Vớ i tham số này bạ n chỉ có thể duyệ t cá c record trong Recordset theo mộ t chiề u từ đầ u đế n cuố ùi . AdOpenKeyset : Recordset đượ c mở có khả nă ng cho phé p ta cậ p nhậ p cá c record (xó a, thay đổ i) . Tuy nhiê n, nế u user khá c thê m mộ t record mớ i, record naø y seõ khoâ ng xuaá t hieä n trong Recordset. Löu haønh noä i boä.

<span class='text_page_counter'>(76)</span> 76. Tìm hieå u veà ASP. AdOpenDynamic : Coù theå duyeä t theo taá t caû caù c chieà u (leâ n, xuoá ng) trong Recordset. Phả n á nh tấ t cả nhữ ng thay đổi (thê m vào, sử a đổ i, loạ i bỏ ) record trong Recordset do user thự c hiệ n. AdOpenStatic : Baï n coù theå duyeä t theo taá t caû caù c chieà u (leâ n, xuoá ng) trong Recordset. Khô ng phả n á nh tấ t cả nhữ ng thay đổ i record trong Recordset do user thự c hiệ n. LockType : Kiể u locking sử dụng khi mở Recordset. LockType sử dụ ng cá c kiể u locking khi mở Recordset là : adLockReadOnly : Mặ c đị nh. Khô ng thể thay đổ i cá c record trong Recordset. adLockOptimistic : Mộ t record chỉ bị lock (khó a) ngay sau khi thay đổ i dữ lieä u treâ n Recordset treâ n data source. adLockPessimistic : Mộ t record chỉ bị lock (khó a) khi bạ n gọi phương thứ c Update cuû a Recordset . adLockBatchOptimistic : Cá c record sẽ đượ c cậ p nhậ t theo bó (batch update). Options : Kiể u củ a query hoặ c bả ng đạ i diệ n bở i Source. Ví duï : <HTML> <HEAD> <TITLE>Cursor and Locking Example</TITLE> </HEAD> Löu haønh noä i boä.

<span class='text_page_counter'>(77)</span> 77. Tìm hieå u veà ASP. <% Set objConn = Server.CreateObject(“ADODB.Connection”) Set objRs = Server.CreateObject(“ADODB.Recordset”) objConn.Open "DSN=student;uid=student;pwd=magic" MySql=(“Select * From MyTable”) objRs.Open Mysql,objConn, adOpenForwardOnly, adLockReadOnly, adCmdText objRs.close set objRs=nothing objConn.close set objConn=nothing %> </BODY> </HTML> Sử a đổ i cá c record trong Recordset Bạ n có thể sử dụ ng mộ t số phương thứ c củ a Recordset để sử a đổ i các record trong moä t Recordset. Phương thứ c. Moâ taû. AddNew. Thê m mộ t record mớ i và o Recordset.. Löu haønh noä i boä.

<span class='text_page_counter'>(78)</span> 78. Close. Tìm hieå u veà ASP. Đó ng lạ i đố i tượ ng Recordset và cá c đố i tượ ng con củ a nó .. Delete. Xoá record hiệ n hà nh trong Recordset.. Requery. Thự c hiệ n lạ i query.. Update. Lưu cá c thay đổ i trê n record hiệ n hà nh.. Ví dụ : sử dụ ng phương thứ c AddNew để thê m mộ t record và o Recordset <HTML> <HEAD> <TITLE>AddNew Database Example</TITLE> </HEAD> <% Set objConn = Server.CreateObject(“ADODB.Connection”) Set objRs = Server.CreateObject(“ADODB.Recordset”) objConn.Open "DSN=student;uid=student;pwd=magic" MySql=(“Select Name From MyTable”) objRs.Open Mysql,objConn, adOpenForwardOnly, adLockReadOnly, adCmdText objRs.AddNew(“Name”)=“David”. Löu haønh noä i boä.

<span class='text_page_counter'>(79)</span> 79. Tìm hieå u veà ASP. objRs.Update objRs.close set objRs=nothing objConn.close set objConn=nothing %> </BODY> </HTML> Duyeä t caù c record treâ n Recordset. Đố i tượ ng Recordset bao gồ m mộ t số phương thứ c để dị ch chuyể n qua cá c record trong mộ t Recordset, record mà nó dị ch chuyể n tớ i là record hiệ n hà nh. Khi mở mộ t Recordset thì kiể u CursorType mặ c đị nh là adOpenForwardOnly nghĩ a là chú ng ta chỉ có thể dị ch chuyể n về phía trướ c, cò n nế u muố n dị ch chuyể n quanh mộ t Recordset thì ta cầ n mở Recordset vớ i kiể u CursorType là adOpenStatic (hoặ c adOpenDynamic, adOpenKeyset). Move : Dò ch chuyeå n vò trí cuû a record hieä n haø nh. MoveFirst : Dị ch chuyể n về record đầ u tiê n. MoveLast : Dò ch chuyeå n veà record cuoá i cuø ng. MoveNext : Dò ch chuyeå n veà record keá tieá p. MovePrevious : Dị ch chuyể n về record trướ c đó . Löu haønh noä i boä.

<span class='text_page_counter'>(80)</span> 80. Tìm hieå u veà ASP. Khi ta đã có mộ t Recordset, để hiể n thị truy xuấ t tớ i mỗ i Recordset trong đó ta có thể sử dụ ng cá c phương thứ c duyệ t như : MoveFirst, MoveLast , MoveNext , MovePrevious sẽõ lấy đượ c nộ i dung củ a record đầu tiê n, cuố i cù ng, kế tiế p hay record phía trướ c. Khi sử dụng cá c phương thứ c để dị ch chuyể n cá c vị trí khô ng xá c đị nh. Nế u record hieä n haø nh laø record laø record cuoá i cuø ng trong Recordset thì khi goï i phöông thứ c MoveNext thì sẽ gâ y ra lỗ i. Để tránh trườ ng hợ p nà y thì ta sử dụ ng cá c property củ a Recordset như BOF, EOF để xá c đị nh record hiệ n hà nh là đầ u tiê n hay laø cuoái cuø ng. Caù c property naø y coù yù nghó a nhö sau: BOF property có giá trị TRUE nghĩ a là con trỏ đang ở vị trí đầ u Recordset, khi Recordset mớ i đượ c mở thì BOF luô n có giá trị nà y. EOF property có giá trị TRUE nghĩ a là con trỏ đang ở vị trí cuố i cù ng củ a Recordset. Nế u khô ng có record nà o trong Recordset thì cả BOF lẫ n EOF đề u là TRUE. Ví dụ : sử dụ ng mộ t vò ng lặ p và phương thứ c MoveNext để duyệ t cá c record trong Recordset. <HTML> <HEAD> <TITLE>AddNew Database Example</TITLE> </HEAD> <%. Löu haønh noä i boä.

<span class='text_page_counter'>(81)</span> 81. Set objConn = Server.CreateObject(“ADODB.Connection”) Set objRs = Server.CreateObject(“ADODB.Recordset”) objConn.Open "DSN=student;uid=student;pwd=magic" MySql=(“Select Name From MyTable”) objRs.Open Mysql, objConn, adOpenDynamic, adCmdText objRs.MoveLast Do While Not objRs.BOF Response.Write “<br>” & objRs(“Name”) objRs.MovePrevious Loop objRs.Close set objRs=Nothing objConn.Close set objConn=Nothing %> </BODY> </HTML> Löu yù : BOF vaø EOF coù caù c ñieå m sau: Löu haønh noä i boä. Tìm hieå u veà ASP.

<span class='text_page_counter'>(82)</span> 82. Tìm hieå u veà ASP. • Nế u Recordset khô ng chứ a record nà o khi bạ n mở nó cả BOF và EOF là TRUE. • Khi BOF và EOF là TRUE, thuộ c tính vẫ n cò n là TRUE cho đế n khi bạ n di chuyể n tớ i mộ t record đang tồ n tạ i, ở thờ i điể m nà y giá trị BOF hay EOF sẽ trở thà nh FALSE. • Khi BOF hay EOF laø FALSE vaø record duy nhaá t trong recordset bò xoùa, thuộ c tính vẫ n giữ FALSE cho tớ i khi bạn cố di chuyể n tớ i 1 record khá c, ở thờ i điể m nà y cả BOF và EOF trở thà nh TRUE. • Và o lú c bạ n tạ o hay mở mộ t Recordset có chứ a ít nhấ t mộ t record , record đầu tiê n là record hiệ n hà nh và cả BOF và EOF là FALSE.. ,. Löu haønh noä i boä.

<span class='text_page_counter'>(83)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×