Docstoc

Bai giang ASP 3.0 Vietnamese

Document Sample
Bai giang ASP 3.0 Vietnamese Powered By Docstoc
					                                                            1                                                å
                                                                                                      Tìm hie u veà ASP


                             ø
I.Active Server Pages (ASP) la gì ?
                                                             ø       ä       â
    Microsoft Active Server Pages (ASP) la mo t mo i tröô ng kò ch ba n döï a tre n ø                   û            â
                                                       ù               ë       â
    server (server-side scripting) cho phe p taïo hoa c xay döï ng ca c ö ng duï ng Web        ù ù
                ù     ù     û
    maï nh chö a ca c the HTML, va n ba n va ca c le nh script hay ca c ö ng duï ng Web
                                         ê       û       ø ù       ä                              ù ù
          ä             á     õ            ø
    ño ng , giao tie p giö a Client va server mo t ca ch hie u qua . Ca c trang ASP co
                                                           ä ù                   ä     û        ù                       ù
            å     ù       ø       à                å
    the goï i ca c tha nh pha n ActiveX ñe thöï c hie n ca c co ng vie c nhö ke t no i vô i
                                                               ä         ù         â       ä               á  á     ù
         ù    ä                 ë
    vô i mo t database hoa c thöï c hie n mo t tính toa n kinh doanh. Vô i ASP, baï n co
                                               ä     ä           ù                                   ù                    ù
            å       ä                 ù ù ù
    the ñöa no i dung töông ta c vô i ca c trang Web cu a baï n hoa c xa y döï ng toa n bo
                                                                           û                 ë         â          ø         ä
      ù ù                           û        ù
    ca c ö ng duï ng Web sö duï ng ca c trang HTML nhö giao tie p vô i kha ch ha ng      á         ù        ù   ø
       û
    cu a baï n.
 Trang ASP:
          ã              ù      å
     Mo i trang .asp co the bao go m mo t trong ca c tha nh pha n sau: HTML, Scrip
                                      à      ä           ù   ø      à
        û     â      õ              ë                          ù ù             ø
     cu a ngo n ngö VB Scrip hoa c Jscrip, Text trong ño ca c tag HTML va Text se        õ
              û             ø             á
     ñöôï c xö lyù bình thöô ng nhö ño i vô i ca c va n ba n HTML (.html) tho ng thöô ng,
                                            ù ù      ê     û                 â       ø
       ù           õ          ä   ä
     ca c script se ñöôï c mo t bo phan (engine) cu a ASP tho ng dò ch va thi ha nh tre n
                                        ä              û          â       ø      ø     â
                       å                           ä                  ù å
     server .Coù the xem trang ASP nhö mo t trang HTML co bo sung ca c ASP         ù
     Script Command
         ä     û
 Hoaï t ño ng cu a trang ASP:
                    â       ø           ä      ä             ù                   ù õ û
     Sau khi mo i tröô ng ASP thöï c hie n vie c thöï c thi ca c file .asp xong no se tra
             á     û û                                   á                   õ    ä
     laï i ke t qua ô daï ng HTML cho Web Server, tie p theo Browser se nhan ñöôï c
        ä             à       ø  ø                â                   ù
     no i dung ca n trình ba y tö Web Server tho ng qua giao thö c HTTP. Mo t trang ä
                 õ        õ                  û      ù            ø          ø ù õ
     ASP cu ng se ñöôï c Brower tham kha o tô i bình thöô ng nhö la no ña tham
          û    ù        ä          û
     kha o tô i mo t trang HTML cu a Web.


                     XXXXX                                         XXXXX
                     XXXXX                                         XXXXX
                     YYYYY                                         ZZZZZZ
                     YYYYY                                         ZZZZZZ
                                                                  Browser

                    Web Server


                                  X:HTML
                                  Y:ASP script
                                  Z:ASP Script result(HTML)


                                 û â                ø
                  Trang Asp khi ô tre n Web Server va khi ñöôï c ñöa ra Browser


                                                              ä
                                                  Löu haønh no i boä
                                                                      2                                                         å
                                                                                                                         Tìm hie u veà ASP

    à  ä ù              â
Sô ño mot ö ng duï ng tre n Web ASP:
                             ø                       á           ä           ø û ø ù
     Web Server : la nôi tie p nha n va tra lô i ca c ye u ca u cu a Web user, ño ng thô i         â       à         û                       à       ø
       õ                   ä         ä                 á
     cu ng thöï c hie n vie c ke t no i ñe n he DBMS tre n Database Server theo ye u
                                                               á         á            ä                â                                           â
       à               ä       õ
     ca u truy ca p dö kieu cu a trang ASP. ADO cung ca p giao die n la p trình cho
                                         ä               û                                                   á                   ä     ä
             ø     ù         ã               â
     ngöô i phat trie n xay döï ng ca c le nh truy ca p CSDL, ca c le nh na y ñöôï c
                                                                       ù            ä                ä                       ù     ä       ø
               å     á                 ä
     chuye n ñe n cho he DBMS ñe thöï c thi tho ng qua ca c tha nh pha n OLE DB
                                                                     å                      â                    ù         ø         à
           ø                     á               û
     (va ODBC). Ke t qua truy vaá n dö lie u se ñöôï c Web Server ñöa ra hie n thòõ ä     õ                                                    å
         â
     tre n Browser.
                                                           ã                    ä
     Database Server: nôi die n ra vie c thöï c thi ca c thao ta c CSDL nhö truy va n,           ù                 ù                             á
       ä         ä õ                           ø
     ca p nha t cu ng nhö ba o ña m tính toa n veïn dö lie u cu a he DBMS.
                                                             û                     ø            õ ä          û         ä
                                   ä               ù               ø       ø            á
     Browser: giao die n vô i ngöô i du ng, tie p nha n ca c ye u ca u cu a ngöô i sö duï ng  ä          ù     â         à     û         ø û
       õ                 å
     cu ng nhö hie n thò ke t qua yeu ca u.á                û â               à



      Web Browser                                       ASP                  ADO               OLEDB                   ODBC


                                                                                    Web Server




                                                                                                             DMS
                                                                                                             (SQL
                                                                                                             server)



                                                                                                          Database Server


                                           À  Ä   Ù             Â
                                      SÔ ÑO MO T Ö NG DUÏ NG TRE N WEB

 ä    ø    ë     å    û
Mo t va i ña c ñie m cu a ASP:
          ä     ø   ù          ø
     - Vie c che n ca c Scrip va o file HTML la m cho qua trình xö ly taï o ra va n ba n
                                              ø         ù         û ù           ê    û
                                      à    ø   ù
     HTML ( Dynamic Pages ) ño ng thô i vô i vie c xö ly ca c Script , ñie u ba y se
                                                   ä   û ù ù                 à    ø    õ


                                                                      ä
                                                          Löu haønh no i boä
                                                                         3                                                         å
                                                                                                                            Tìm hie u veà ASP

         ø                  ä        û                  õ û â                ä
       la m cho hoaï t ño ng cu a trang Web se trô ne n linh ño ng hôn , uye n chuye n          å       å
       hôn.
                  ù             õ                 ù                        ø     ä
       - Ca c file .asp cu ng töông thích vô i file HTML, va vie c vie t ca c scrip ñôn á ù
             û                û       â             â
       gia n , khoâ ng pha i bie n dò ch hay lie n ke t nhö vie c la p trình tho ng thöô ng,
                                                          á              ä     ä            â         ø
                        á         ù     á       ä                  à               ù
       ASP cung ca p ca c ño i töôï ng tie n lôï i cho nhie u thao ta c nhö: Request ,
                                                             ù   á                  ù ü
       Response , Server , Apllication , Session. Ca c ño i töôï ng co sa n na y cu a mo i    ø     û      â
                ø         õ        ù
       tröô ng ASP se giu p cho vie c giao tie p dö lie u giö a Client va Server thöï c söï
                                          ä           á    õ ä       õ                ø
           ä          õ               ä     û
       tie n lôï i, cu ng nhö vie c qua n ly ö ng duïng mo t cach linh hoaï t nhô vao ca 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. Ca c bo dò ch ngo n ngö VBScript va Jscript .       õ                       ø
                             ä        ù          á
       2 .Thö vie n ca c ñoi töôï ng, chuye n dung ñe truy xua t Database tho ng qua
                                                                              â              ø          å          á                           â
       ODBC Driver (Active Server Data Object – ADO).Thö vie n ca c ño i töôï ng ho                                    ä       ù         á               ã
                            ä           á ù
       trôï cho vie c vie t cac trang ASP .
           ä                                             á ø         ä      ê
       Mo t file ASP thöï c cha t la mo t va n ban, no co the bao go m ca c thanh pha n û            ù ù     å           à       ù         ø         à
       sau:
                 ê
          +Va n Ba n (Text)     û
                   ù
          + Ca c HTML tag
                     ù                             ã                     ø        õ
          + Ca c Script . Mo i Script na y se thöï c hie n mo t co ng vie c na o ño , gio ng          ä    ä     â         ä       ø         ù     á
                              ù          ù           å          û      ä
             nhö ca c pha t bie u cu a mo t ngo n ngö lap trình. Mo t Script la mo t chuo 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. Mo t ye u ca u Web server gö i tho ng tin ñe n Brower .       û        â             á
                                  å                ù ä               â          õ
                       3. To hôï p ca c le nh rie ng re tha nh mo t thu tuï c hay mo t ha m gio ng
                                                                                           ø             ä û                 ä       ø           á
                                                          ù       â
                                nhö trong ca c ngo n ngö la p trình.       õ ä
        ä       ø      ä
     Vie c thi ha nh mo t script la qua trình gö i chuo i ca c le nh tô i Scripting Engine,
                                  ø   ù         û      ã ù ä           ù
       â         õ   â          ù ä
taï i ña y ASP se tho ng dò ch ca c le nh na y va chuye n tie p cho ma y tính. Script ñöôïc
                                           ø    ø      å     á       ù
   á   è      ä     â     õ ù ù
vie t ba ng mo t ngo n ngö vô i cac lua t ñöôïc ña t ta nao ño , ne u ta muo n sö duï ng mo t
                                       ä         ë û ø       ù     á        á    û         ä
                 ø          â           û                               â     õ ù
script language na o thì tre n server pha i chaï y Script Engine cho ngo n ngö ño . Trong
           á                     ø           ø             ù            ø  ë
ASP cung ca p hai Script Engine la VBScript va Jscript ( vô i VBSCRIPT la ma c
    â            â         â     û ø
nhie n). Tuy nhie n ASP kho ng pha i la ngo n ngö Script , ma no ch cung ca p mo t
                                           â     õ          ø ù æ          á    ä


                                                                        ä
                                                            Löu haønh no i boä
                                               4                                      å
                                                                               Tìm hie u veà ASP

  â      ø     å û ù ù             ø
mo i tröô ng ñe xö ly ca c Script ma ta che n va o trong ca c file .asp , vie c che n na 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 va n ba n ASP ta sö duï ng ca c da u <% va %> ñe nga n cach pha n va n ba n
                                                    ø      å  ê    ù      à    ê   û
       ù     à                      å ø á ù      ä
HTML vô i pha n Script , hay cuï the la ba t cö mo t pha t bie u Script na o cu ng ñe u
                                                       ù      å          ø     õ     à
  û    è      õ         ê   ù        ø
pha i na m giö a hai nga n ca ch <% va %>

       Ví duï :

                                 ø   ä                   ä     ä   ù       ã         ø
            <% say = "Hello" %> la mo t script thöï c hie n vie c ga n chuo i Hello va o
   á
bie n say

              å     ù
         ♦ Bie u thö c ñôn :

              à       ø              â          á
      Baï n ca n ñöa va o(include) be n trong da u nga n cach ASP nhie u bie u thö c cho
                                                      ê   ù           à     å     ù
   â     õ            à     â              ù
ngo n ngö scripting ña u tie n. Ví duï , vô i do ng sau la ke t qua cuo i cu ng cu a va n ban
                                                ø        ø á      û    á ø       û    ê    û
  ù     ø          ä   ø    û
vô i thô i gian hie n hanh cu a server :

     This page was last refeshed at<% =now %>

               ø          ø                  û à ù              û   ø
     Trong tröô ng hôï p na y , Web server tra ve gia trò now cu a ham VBScript töø
          ù
browser vô i text .
      â    ä
   2.Ca u le nh (Statement):
              ä â       ä                               â     õ         ù ø     ä á
            Mo t ca u le nh trong VBScript hay trong ngo n ngö script kha c la mo t ca u
       ù    ø      å          ä    ä
     tru c du ng ñe thöï c hie n mo t thao ta c, ca u le nh pha i ñöôï c khai ba o hoa c ñò nh
                                            ù      â    ä     û                ù     ë
                     â     õ            ù      â     õ                        á
     nghó a trong ngo n ngö scripting. Ca c ngo n ngö script trong ASP cung ca p cho ta
       à    á ù      á    ù      à      å                                     ø
     ha u he t cac ca u tru c ñie u khie n : IF…ELSE, For, While, DO WHILE… cu ng



                                                   ä
                                       Löu haønh no i boä
                                               5                                      å
                                                                               Tìm hie u veà ASP

       ù     õ      å    õ ä        û                                            û
     vô i nhö ng kie u dö lie u cô ba n nhö integer , char, string, Array …sau sö duï ng
                û         â    ä       û
     Ví duï : sö duï ng ca u le nh If cu a VBScript

     <% if Time >=#12:00:00 AM# And Time < #12 :00:00 PM# then

     greeting ="Good Morning!";

     else

     greeting ="Hello!";

     end if

     %>

       ø         õ û     ù
     do ng sau se gô i gia trò trong Green tôí Client browser

     <FONT COLOR= "Green">

     <%=greeting%>

     </FONT>
   3.SCRIPT tag:
      ù     ù      å       å     ù
     Ca c pha t bie u , bie u thö c , le nh, hay thu tuï c ma baï n sö duï ng be n trong hai da u
                                        ä           û       ø         û         â             á
   ê   ù        ø      û
nga n ca ch <% va %> pha i ñöôï c nhìn nha n bô i ngoâ n ngö Script ma c ñò nh hoa c ngo n
                                          ä    û            õ         ë           ë     â
   õ                    ù û à                    â     õ            ë         û
ngö Script ñöôï c khai ba o ô ña u trang ASP. Ngo n ngö scripting ma c ñò nh cu a ASP
 ø                    â    ù           ã
la VBScript , tuy nhie n vô i ASP ta va n co the sö duï ng ca c ngo n ngö laä p trình kha c
                                            ù   å û         ù      â     õ              ù
  â          è    ù      û         û           ø
be n trong ba ng ca ch sö duï ng the <SCRIPT> va </SCRIPT>

     Ví du:
     <SCRIPT LANGUAGE="JSCRIPT">
     <!-- hide Script from old browsers
     for(i=0;i<10;i++ )


                                                   ä
                                       Löu haønh no i boä
                                                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ö ly JScript trong ha m MyFunction
     <HTML >
     <BODY>
     <%Call MyFunction %>
     </BODY>
     </HTML>


     <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
     function MyFunction ()
     {
     Response.Write("MyFunction Called")
     }
     </SCRIPT>
       ù ù
     Chu y : ben trong tag <SCRIPT></SCRIPT> pha i la ca c thu tuï c,kho ng co mo t
              â                                û ø ù         û          â    ù  ä
   å     ù     á        ù
bie u thö c xua t hay pha t bie u na o na m beâ n ngoa i cac thu tuï c.
                               å   ø    è            ø ù       û
   4.Include file:
                 ä ù                      à      à               á        ø     ä ù
     Khi taï o mo t ö ng duïng Web, bao go m nhie u trang ASP, ne u nhö to an bo ca c
        à    à    û         õ     â
trang ñe u ca n sö duïng nhö ngtho ng tin chung na o ño cha ng haï n nhö ca c ha ng,gia trò
                                                 ø    ù   ú               ù    è      ù
   å ù              ä                      ù
…ñe tra nh laï i vie c ñò nh nghó a laï i ca c gia trò na y ta co the sö duï ng cô che include
                                                 ù      ø       ù    å û              á

                                                    ä
                                        Löu haønh no i boä
                                                     7                                å
                                                                               Tìm hie u veà ASP

       û          á                â     õ ä               å      å          ä
file cu a ASP (gio ng nhö trong ngo n ngö la p trình coå ñie n).Ñe include mo t file trong
               û         ù  ù
trang ASP ta sö duï ng cu pha p sau:
      <!--#include Virtual/File="filename" -- >
      Ví duï : <!--#include Virtual="whatever.asp"-- >
              û                   å             ë
      Baï n pha i ñò nh nghó a kie u Virtual hoa c file
             ù                                 û ù      à     û ä                ë
      Trong ño qui ñò nh file ñöôï c include pha i co pha n mô ro ng laø .inc hoa c .asp ,
   à                 à   û    ø    ã   ø â
pha n filename bao go m ca ñöông da n va te n file.
                 û         ø  ù
               sö duï ng tö kho a virtual:
             á          ø     å æ        è
      Tham so Virtual du ng ñe ch ñò nh ra ng ñöô ng da n ñöôï c ba t ña u vô i mo 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
                                ø      â         û                  ø è       â
  á   û                            û          á
go c cu a web server) nhöng baïn pha i cung ca p te n ta p tin vô i 1 ñöô ng da n
                                                   â    ä        ù       ø     ã
                 û         ø  ù
               sö duï ng tö kho a file
             á       ø     å æ
      Tham so file du ng ñe ch ñò nh ñöô ng da n Relative,ñöôï c ba t ña u vô i ten thö
                                        ø     ã                   é    à     ù â
         ù         à            ú            á         ù                               ø
muï c chö a file ca n include.Cha ng haï n ne u baï n co 1 file trong thö muï c myapp va
                                        ø         õ   ø               ø
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"-->
        ù ù è        ø     ã   å                                          ù â
      Chu y ra ng ñöô ng da n ñe include file headers / header1.inc thì co lien quan
  á     ä                   á   ä
ñe n vie c include file , ne u noi dung cu a script na y co cu phap include la thö muï c
                                          û          ø    ù ù    ù           ø
         ù   ù    õ    â           ä
/myapp, cu pha p se kho ng hoaït ño ng .
                             ù                   ä                á           â      å û
      ASP includes files tröô c khi thöï c thi le nh script.Vì the , baï n kho ng the sö duï ng
  ä ä               å               â   û                    ú                        â
mo t le nh script ñe xaâ y döï ng te n cu a 1 file include.cha ng haï n script sau kho ng theå


                                                         ä
                                             Löu haønh no i boä
                                               8                                  å
                                                                           Tìm hie u veà ASP

  û                   û             á
mô file Header1.inc bô i vì ASP chie m ñe thöï c thi ch thò include tröô c khi ga n mo t
                                         å            æ                 ù       ù     ä
  â             ù
te n file cho gia trò name
     <!-- This script will fail -->
     <% name=(header1 & ".inc") %>
     <!--#include file="<%= name %>"-->
       ä           ø   û        û     ø
     Le nh script va thu tuïc pha i hoa n toa n bao ha m da u nga n ca ch<% va %> trong
                                            ø        ø    á      ê   ù       ø
                          ø              ë
script,tag HTML <SCRIPT> va </SCRIPT> hoa c tag HTML
         ø
<OBJECT>va </OBJECT>.
              û
            sö duï ng server script:
       å å                        ë    ø      û                            å û ù ê
     Ñe bo sung 1 client Script,ma c du ASP sö duï ng Script server site ñe xö ly va n
 û          ù    å  û ä
ba n,baï n co the mô ro ng ba ng ca ch sö duï ng no ñeå pha t sinh ra client side script
                            è     ù      û        ù       ù
             û ù û                        ø      à   ø    è     ù      á
sau ñöôï c xö ly bô i client browser.ASP la m ñie u na y ba ng ca ch ke t hôï p client_side
             à     õ      ù            û                        ø       à   û á
script bao go m nhö ng chu thích HTML cu a server _side script va bao go m ca dau
   ê   ù
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ä
                                               9                                      å
                                                                               Tìm hie u veà ASP

       ù     ù    ê
     Vô i chö c na ng trong scripts cu a baï n, baïn co the taïo ra 1 ö ng duï ng thu vò .
                                     û                ù    å           ù            ù
  ú                      û         ä             å       á   ã                         ø
Cha ng haïn script sau sö duï ng mo t database ñe cung ca p mau tin script client nhö la
  á    û         ä     û
ke t qua haø nh ño ng cu a user.
                                õ ä      ø          ø   ù        ã
     Trong Script sau ASP tìm dö lie u tö Database va pha t ra mo i chöông trình con
      ã    ø     õ ä
cho mo i do ng dö lieu. Chöông trình con ño ñie u khie n ca i gì xa y ra khi 1 user
                                          ù    à      å   ù       û
       ø      â    á                 å
click va o lie n ke t trong trang hie n thò trong client browser
       ù ù
     Chu y :
                   ø    õ    â    ù ø
     Trong script na y se kho ng co ha m cu a chính ba n tha n no .No cho tha y ô ña y
                                          û          û      â   ù ù          á û â
 æ               ù    ê    û
ch minh hoï a chö c na ng cu a ASP ne u sö duï ng trang lie n ke t vô i Database,server-
                                     á    û                â    á    ù
                ø
side scripting va client-side scripting.
         ù
     Löu y :
                     ä                 ù   å â          ä    ø      ë    á
                • Vie c include file co the ga y neâ n mo t vo ng la p ne u file ñöôï c
                                        ä         ù                   à
          include laï i goï i include mo t file kha c ,hay file ban ña u.
                           õ                 ù        û ù ù                 â        â
                • Vì Asp se include file tröô c khi xö ly ca c Script cho ne n ta kho ng
             å û          ä    ä    ø ä
          the sö duï ng mo t le nh ma le nh na y laï i taïo ra mo t lô i goï i include, hoa c sö
                                             ø                   ä    ø                    ë    û
                                  ø
          duï ng include nhö sau la sai:
            <% name =(header1&".inc")%>
                                       ù
            <!--#include file ="<%=name >"-- >


                       õ      â      å  û á              ä                ø ù
                • Ta cu ng kho ng the mô da u <% trong mo t file include va ñong %>
                    ä                 ù               ø
            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ä
                                                  10                                 å
                                                                              Tìm hie u veà ASP

      Next
      %>
                   õ        ä
      Script sau se hoaï t ñong ñöôï c:
      <!-- This script would work-->
        <%
      For i = 1 to n
        statements in main file
      %>
      <!--#include file="header1.inc" -->
      <% Next %>

      Ù    Á               Û    Û
III.CA C ÑO I TÖÔÏ NG CÔ BA N CU A ASP:
                 á          ø ä            ù    á
      ASP cung ca p cho ngöô i la p trình ca c ñoi töôï ng co sa n, mo i ño i töôï ng na y se
                                                            ù ü       ã    á           ø    õ
          ä    ä     ù    ê
thöï c hie n mo t chö c na ng rie ng na o ño , ca c ño i töôï ng co san(built-in oject) bao
                                 â    ø    ù ù        á           ù ü
  à
go m:
    â   á
  Te n ño i töôï ng                   ù   ê
                                   Chö c na ng
        Request                á     â         ø  ä
                             La y tho ng tin tö mo t user
        Respone                û     â         ù    ä
                             Gö i tho ng tin tô i mo t user
        Server                  à      å    â      ø           ä     û
                             Ñie u khie n mo i tröô ng hoaï t ñong cu a ASP
        Session                     õ   â         à  ä            û
                             Löu giö tho ng tin ve mo t session cu a user
        Application                û    â          õ   ù                ø     ä ù
                             Chia se tho ng tin giö a ca c user trong cu ng mo t ö ng
                             duï ng.



       á
III.1.Ño i töôï ng Request
        ù   á                     ù ù                 ù    å ã ø       á            â
      Vô i ño i töôï ng Request ,ca c öng duï ng ASP co the de da ng la y ñöôï c tho ng tin
  û ù ø
gö i tô i tö user
                                                      ä
                                          Löu haønh no i boä
                                                11                                     å
                                                                                Tìm hie u veà ASP

       á                        ù           á        ù
     Ño i töôï ng Request cho phe p truy xua t chi tô i ba t ky tho ng tin na o user gö i tô i
                                                         á     ø   â        ø          û ù
  è           ù
ba 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. Ca c tham so ñöôï c gö i tô i bang phöông thö c POST
         ù      â               û ù       è             ù
     3 .Ca c tho ng tin ñöôïc gö i tô i ba ng phöông thö c GET
         ù             ø    â        û                û   ø           ù ø
     4. Ca c cookies( la tho ng tin cu a user ñöôïc gö i ke m theo) tô i tö Browser
         ù
     5. Ca c Client Certificates
       á                         á   ù     ù      ø                     ø
     Ño i töôï ng Request tìm kie m ca c gia trò ma client browser ñöa va o server
           ù  ä     â    à
trong khi co mo t ye u ca u HTTP
 ù    ù
Cu pha p:
     Request.collection|property|method
Collections
     Cookies                    ù      û   ù            û          â   à
                              Gia trò cua ca c cookie gô i trong ye u ca u HTTP
      Form                      ù      ù      à
                              Gia trò ca c pha n tö form trong tha n cu a ye u ca u HTTP
                                                   û              â   û     â   à
      QueryString               ù      û   ù      á                  ã         á
                              Gia trò cua ca c bie n trong trong chuo i truy va n HTTP
                                ù      û   ù
                              Gia trò cua ca c bie n mo i tröô ng ña ñöôï c xa c ñò nh
                                                  á    â      ø    õ         ù
      ServerVariables
                                  ù
                              tröô c
Properties
    TotalBytes                  å     á
                              To ng so byte client ñang gô i trong tha n cu a ye u ca u
                                                          û           â    û    â    à
      ù          á   á   ø
     Ca c tham so bie n la chuo i ky töï ch ro muï c (item) ñöôï c tìm kie m tö mot
                               ã   ù      æ õ                             á    ø ä
              ë           û            ø        ø    á          ä             ù
collection hoa c ñöôï c sö duï ng nhö la muï c va o ño i vôù i mo t phöông thö c (method)
   ë    ä
hoa c mo t property
      ù
Ghi chu :
          á û ù         á   ù    å
        Ta t ca ca c bie n co the ñöôï c truy ca p mo t ca ch tröï c tie p ba ng ca ch goï i cu
                                                ä    ä ù                á   è     ù           ù
    ù                      ø    â     à    â                       ø          ø
  pha p Request(variable) ma kho ng ca n te n collection.Trong tröô ng hôï p na y,
                    á   ù                      ù
  Web server tìm kie m ca c collection theo thö töï sau:

                                                    ä
                                        Löu haønh no i boä
                                              12                                 å
                                                                          Tìm hie u veà ASP

            1. QueryString
            2. Form
            3. Cookies
            4. ClientCertificate
            5. ServerVariables


          ø      ä    ù ù
     1 . La m vie c vô i ca c HTML FORM
        û         á                         ù    å      ø û ù      â         ù
      Sö duï ng ño i töôï ng Request ,baïn co the taïo va xö ly tho ng tin vô i HTML
                       ø ù        ù     â       ø              å     â          õ
     FORM., HTLM FORM la ca ch thö c tho ng thöô ng ñeå trao ño i tho 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 phe p user töông ta c vô i trang Web va
               â         ù    ä
     Submit tho ng tin tô i mo t Web Server.
                ä           å      ù  å   ä   ø
Ví duï : Taïo mo t FORM ñe user co the nha p va o hoï te n,tuo i va ñöa va o mo t nut ñe
                                                        â     å   ø      ø     ä    ù   å
            â        ù                      õ
submit tho ng tin tô i Web server. FORM cu ng chö a mo t ñieu khie n hidden ñe ñöa
                                                  ù       ä     à    å            å
   â      â        ù
the m tho 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ö ly FORM nha p va o vô i ASP
           ä                 â         ù                           û         â
     Khi mo t FORM submit tho ng tin tô i Web server,Web browser cu a user ye u
  à            æ                 ä                û    û
ca u file.asp ch ñò nh trong thuo c tính ACTION cu a the HTML <FORM>. File.asp
   ù                         ä     ä    û ù
chö a ñoaï n script thöïc hie n vie c xö ly gia trò FORM nhö hie n thò mo t bang no i dung
                                              ù                 å        ä   û     ä



                                                  ä
                                      Löu haønh no i boä
                                                13                                  å
                                                                             Tìm hie u veà ASP

  á    û    ë         á
ke t qua hoa c truy va n tho ng tin tö mo t cô sô dö lie u.Baï n co the sö duï ng file .asp
                            â         ø ä        û õ ä            ù    å û
  å       ä    ù                 ä           ù
ñe thu tha p gia trò HTML FORM mo t trong 3 ca ch:
                    ù   ù         ø          ù      û    ù ù      ä
       File.html chö a ca c form va submit gia trò cu a no tô i mo t file.asp.
                  ù   å            ø
       File.asp co the taï o form va chuye n gia trò tô i mo t file asp kha c.
                                          å    ù       ù    ä             ù
                  ù   å            ø û       â         ù         ù ù ø á                ø
       File.asp co the taï o form va gö i tho ng tin tô i chính no ño la ñe n file.asp ma
   ù
chö a ñöï ng form.

       á     â          ä    ø
III.3 La y tho ng tin nha p va o FORM
      û
    Sö duï ng QueryString Collection
                                                    á        ù     ù                ø
                          QueryString collection la y laï i ca c gia trò form ñöa va o Web
            û           ø   ä      ã
 server cu a baï n nhö la mo t chuo i sau sau mo t da u ? trong ye u ca u URL. Vie c sö
                                                ä     á              â    à           ä û
                                 ø          ä           á      â         û â    ã ø
 duï ng Querystring collection la m cho vie c truy xua t tho ng tin trô ne n de da 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
     ø á      â   ø            û      ø    ù
   ky so nguye n na o trong khoa ng tö 1 tô i Request.QueryString(variable).Count.

             á            ù    û ø         ø                         ù    á û      â
         ♦ Ne u phöông thö c gô i tö form la POST thì Querystring chö a ta t ca tho ng
         û ù          ø          á
   tin gö i tô i nhö la 1 tham so sau trang URL.
             á            ù    û ø         ø                                   ù
         ♦ Ne u phöông thö c gô i tö form la GET thì Querystring Collection chö a
     ø     ä   â
   toa n bo tho ng tin gö i tô i nhö la ca c tham so ñi ñang sau da u “?” trong URL .
                         û ù          ø ù           á    è         á
         ä    á            ù ø             ø     ä   â         û ù õ è
   Nhö va y ne u phöông thö c la GET thì toa n bo tho ng tin gô i tô i se na m trong
   Querystring Collection.

                                                    ä
                                        Löu haønh no i boä
                                                 14                                å
                                                                            Tìm hie u veà ASP

           á             ù   ù û                   ù
Ví duï : ne u ví duï tröô c ño sö duï ng phöông thö c GET(ACTION= “GET”) va ngöô iø      ø
  û          õ ø                               ù â    à       õ         û ù             ø
sö duï ng go va o Jeff, Smith, vaø 30 ,sau ño ye u ca u URL se ñöôï c gô i tô i server la :
http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=ne
w
                ù    å     ù               û ù
Myfile.asp co the chö a ñoaï n script xö ly 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 na y,Web sever cu a baï n se tra ve ñoaï n va n ba 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 cung mo t ten va mo i bie n co gia trò kha c
                                                         ø    ã    á     ù   ù      ù
          ù                           ù   ä
nhau.Khi ño , QueryString collection co mo t tham so du ng ñe truy ca p nhie u gia trò
                                                    á ø      å       ä      à    ù
   á     ä           â   û     â
xua t hie n trong tha n cu a ye u ca u.Baï n co the sö duïng ña c tính Count ñe ñe m so la n
                                    à         ù    å û        ë                å á     á à
 ø  ä      å   ë           ù        á     ä
ma mo t kie u ña c tröng gia trò xua t hie n .
           ä              ù   ä             ù      à        ù     å û
Ví duï :mo t FORM chö a mo t list box vô i nhie u muï c co the tra laï i nhö sau:
http://list.asp?food=apples&food=olives&food=bread
   å    å         à     å   ù                        å  ù
Ñe hie n thò nhie u kie u gia trò , List.asp coù the chö a ñoaï 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ä
                                               15                                   å
                                                                             Tìm hie u veà ASP

        û
III.4.Sö duï ng Form Collection
                   ù    ø     ä ù       ù
Form collection chö a toa n bo ca c gia trò ma user nha p va o FORM sau ño gö i bang
                                                 ø        ä ø            ù û     è
          ù                     ù              û    õ ä               â   â
phöông thö c POST. Phöông thö c POST gô i dö lieu FORM trong tha n ye u ca u  à
        ù   å û      â      ù         á ù        ù
HTTP,co the gô i kho ng giô i haï n so ky töï tô i server
  ù   ù
Cu pha p
    Request.Form(element)[(index)|.Count]
 ù
Ca c thamsoá
     element

           â   û      à    û                  à         á
         te n cu a pha n tö form collection ca n truy va n.

     index

           ä        á                  ù                á
         Mo t thamso löï a choïn cho phe p baï n truy va n mo t trong ca c gia trò ño i vô i
                                                             ä         ù     ù      á     ù
     ä        á ù ù      å ø á
   mo t thamso .No co the la ba t ky so integer na m trong vu ng tö 1 ñe n
                                    ø á           è          ø     ø    á

                            á
         Request.Form(thamso ).Count.

Ghi chuù
                              æ        û â              â
      Form collection ñöôï c ch muïc bô i te n trong tha n cu a ye u ca u. Gia trò cu a
                                                             û    â    à     ù      û
                       ø   ä   õ    û
Request.Form(element) la mo t da y cu a ta t ca ca c gia trò cua 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.
        å       û     ä    ù          û
      Ñe tham kha o mo t gia trò ñôn cu a mo t pha n tö form co nhie u gia trò ,baï n pha i
                                            ä     à    û       ù    à    ù              û
 æ         ä    ù                     á
ch ñò nh mo t gia trò cho index.Thamso index co the la ba t ky so na o giö a 1 va
                                              ù    å ø á     ø á ø        õ     ø
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
                                                 ù  ø     ä        ù      â            ù
   å á          ù     â    ù
the la y laï i ca c te n vô i ñoaï n script sau:
<% For i = 1 to Request.Form.Count %>
<% =Request.Form("names")(i) %>
<% Next %>


                                                   ä
                                       Löu haønh no i boä
                                               16                                    å
                                                                              Tìm hie u veà ASP

         û
     2.Sö duï ng ServerVariables collection
                                    á         ù     ù
       ServerVariables collection la y laï i ca c gia trò ca c bien mo i tröô ng ña ñöôïc
                                                           ù     á    â      ø    õ
        ù             ù                           á
       xa c ñò nh tröô c.. ServerVariables cung ca p tho ng tin tö tie u ñe HTTP vô i mo t
                                                        â         ø â      à       ù    ä
         â   à    û
       ye u ca u cu a user .
 ù   ù
Cu pha p
        Request.ServerVariables (server environment variable)
     Tham soá

                                       ø â     û      á    â      ø
         server environment variable: la te n cu a bie n mo i tröô ng.

            ù    å û          ø    ë
     Baï n co the sö duï ng vo ng la p ñe la p tho ng qua te n ca c bie n server.Ví duï ,ñoaï n
                                         å ë      â         â   ù      á
             õ        á û ù        ù      û
script sau se in ra ta t ca ca c gia trò cu a ca c bie n mo i tröô ng trong mo t ba 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í duï :sö duï ng ño i töôï ng Request ñe hien thò mo t so bie n moi 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ä
                                                   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í duï : sö duï ng ServerVariables collection ñe chen te n server va o trong mo 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 tho ng tin trong cu ng mo t file.asp:
              ù              û                  ä                            ø ë      ù
          - Vô i ASP baï n pha i ñò nh nghó a ño ng 1 form trong 1 file.asp ma ña t gia trò
    à    ø     û              û      â   ù
   ña u va o tra laï i chính ba n tha n no .
                      ù     ä             ù
          - ASP cho phe p mo t file.asp co chö a From, khi user ñie u khie n ca c gia trò
                                              ù                    à      å   ù     ù
    ø          à    û
   va o From ro i gö i (Submit) thì chính file.asp se nhan ñöôï c ca c thamtin na y va xö
                                                     õ  ä          ù            ø    ø û
    ù
   ly .

       á
III.6.Ño i töôï ng Response
             ù    å û          á                     å û     á     á ù
      Baï n co the sö duï ng ño i töôï ng Response ñe gô i ke t xua 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ä
                                               18                                    å
                                                                              Tìm hie u veà ASP

                            cookie .



Properties
    Buffer                        æ       ä          á     á           ä         â
                                 Ch ra lie u trang ke t xua t ñöôï c ñe m hay kho ng.
                                  æ          å    ä
                                 Ch ñò nh kie u no i dung HTTP(vd:”Text/HTML”)
     ContentType
                                 ù ù
                            khi ña p ö ng.
                                  æ          ø           ù        ä               õ â
                                 Ch ñò nh thô i gian tröô c khi mo t trang löu trö tre n
     Expires
                                      á    ù
                            browser ke t thu c.
     Status                               û à    ù      û             ù    ø
                                 Server tra ve gia trò cu a traï ng tha i do ng .



Methods
                                     á ä       â            â   à        è     ù
                                 Thie t la p te n (name) tie u ñe HTML ba ng gia trò
     AddHeader
                            (value).
     Clear                        û    û ø      ä          á
                                 Hu y bo vung ñe m keá t xua t HTML.
                                   ø     û ù ä              ø û      û á      û    ä
                                 Dö ng xö ly ta p tin .asp va gô i tra ke t qua hie n
     End
                             ø
                            ha nh.
     Redirect                     æ ã              á    á ù      ä        ù
                                 Ch da n browser ke t no i tô i mot URL kha c.
                                    á    ä     á
                                 Xua t mo t bie n tô i trang hie n ha nh nhö la mo t
                                                    ù           ä   ø         ø  ä
     Write
                                ã
                            chuo i.
          û     ä
III.6.1 Gô i no i dung
            å û    û        ä           ù    ê
        Ñe gô i trô laï i mo t trang chö a va n ba n,hình a nh va ca c no i dung kha c tô i
                                                 û        û     ø ù      ä         ù     ù
          â          á    ê    ù
browser be n trong da u nga n ca ch ASP hoa c tö mot thu tuï c. Sö duï ng phöông thö c
                                           ë ø    ä    û          û                 ù
        û    á
Write cu a ño i töôï ng Response.
 ù   ù
Cu pha p
    Response.Write variant

                                                   ä
                                       Löu haønh no i boä
                                                19                                  å
                                                                             Tìm hie u veà ASP

Tham soá
     variant

           õ ä      å  á           á ø    ù
         Dö lie u ñe xua t. Tham so na y co the la ba t ky dö lie u na o ma ngo n ngö
                                               å ø á     ø õ ä       ø    ø    â     õ
            å        å û ù    ù          ã á        â
   script ho trôï (ke ca cac ky töï ,chuo i,so nguye n).

             â    ä    û ø         ø   ù
Ví duï 1: ca u le nh gô i lô i cha o kha c nhau tô i user tu y thuo c vao user ña vie ng tha m
                                                  ù         ø      ä   ø        õ    á      ê
           ù    ù           â
trang tröô c ño bao nhie u la 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
%>

         â     ø     ä
       Be n ngoa i mo t thu tuï c, baï n kho ng ca n pha i sö duï ng phöông thö c
                          û                 â     à    û û                     ù
                 å û     ä          û
Response.Write ñe gô i no i dung trô laï i tô i user.No i dung na y thì kho ng na m trong
                                             ù         ä        ø          â     è
  á    ê    ù               ø          û           á    ù
da u nga n ca ch scripting ma ñöôï c gô i tröïc tie p tô i browser .
                              õ ù á       á                        ù
Ví duï 2: ñoaï n script sau se co ke t xua t nhö ñoaï 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
           ä                         ä    á     ä       ø           ø û
        Mo t Cookie ñöôï c coi nhö mo t da u hie u ñi ke m theo ngöô i sö duï ng trong
     ù              å     â          õ                  ø               ë     õ
   qua trình trao ño i tho ng tin giö a Client browser va Web server hoa c giö a Web



                                                    ä
                                        Löu haønh no i boä
                                                 20                                      å
                                                                                  Tìm hie u veà ASP

           ø                                 á           å   û             ø
   server va Client browser . Cookies cung ca p cho 1 kie u cu a thamtin tö söï giao
     á    ù      ø û
   ke t vô i ngöô i sö duï ng
           ù           û        ù    å û                             å    á ä       ù
          Ca c script cu a ASP co the sö duï ng Cookies collection ñe thie t la p gia trò
    û     ä                ø                      á                ë û           à
   cu a mo t Cookie. Khi du ng Response.Cookies ne u cookie ñöôïc ña c ta chöa to n
               ù õ                ù     á
   taï i thì no se ñöôï c taï o mô i, ne u Cookie ña to n taï i thì no se la y gia trò mô i, gia trò
                                                   õ à               ù õ á       ù       ù     ù
     õ õ            û
   cu se bò loaï i bo .
 ù   ù
Cu pha p:
    Response.Cookies(cookie)[(key)|.attribute] = value


 ù
Ca c tham soá
       cookie

           â   û
         Te n cu a cookie.

       key

                 á               á              æ                ø  ä ø       å   ø
          Tham so löï a choï n.Ne u key ñöôï c ch ñò nh, cookie la mo t tö ñie n va key thì
       á ä       ù
   thie t la p gia trò (value).

       attribute

           æ          â         à        ù ù         ä         ù   å ø
          Ch ñò nh tho ng tin ve cookie ño .Ca c thuo c tính co the la :

  â
Te n                        â û
                          Mo ta
                            á   æ               æ
                          Ne u ch ñònh, cookie ch ñöôï c gô i tô i yeu ca u cu a vu ngs
                                                           û ù      â    à   û     ø
Domain
                                  ù
                          domain ño.
                            ø            á    ù             õ á     ù                 á
                          Nga y cookie ke t thu c. Cookie se ke t thu c khi session ke t
Expires
                            ù
                          thu c.
HasKeys                    æ                 ù   ù     ù          â
                          Ch ñò nh cookie chö a ca c kho a hay kho ng.

                                                     ä
                                         Löu haønh no i boä
                                               21                                  å
                                                                            Tìm hie u veà ASP

                         á   æ              æ          û
                       Ne u ch ñònh,cookie ch ñöôï c gô i ye u ca u tô i ñöô ng da n
                                                            â   à     ù     ø     ã
Path                    ø     á
                       na y.Ne u kho ng,ñöô ng da n cu a chöông trình ö ng duïng ñöôï c
                                    â      ø     ã   û                 ù
                         ø
                       du ng .
Secure                  æ        ù         û    û          â
                       Ch ñò nh co ñöôï c ba o ña m hay kho ng.

       Value

           ù      å ù     ø          ë
         Gia trò ñe ga n va o key hoa 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 Chuye n höô ng ñie u khie n browser
                   û    ä     ä        ù
         Thay vì gô i mo t no i dung tô i user, ta co the gô i mot tho ng ba o ñe n browser
                                                     ù   å û    ä     â    ù     á
     å ù      å    ù    ä
   ñe no chuye n tô i mo t URL kha c ba ng ca ch sö duïng phöông thö c Redirect.
                                 ù    è     ù      û                ù
 ù   ù
Cu pha p
        Response.Redirect URL
Tham soá
       URL




                                                   ä
                                       Löu haønh no i boä
                                               22                                   å
                                                                             Tìm hie u veà ASP

                 æ                                 ø         å     ù      à      å
           Ñò a ch URL (Uniform Resource Locator) ma ta chuye n höô ng ñie u khie n
     ù
   tô i.

                   á        ù       ê
 Ví duï : baï n muo n khi kha ch tha m Web site cu a baï n thì hoï ña ng ky 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 ño ñe kie m tra xem user co ñöa va o ña y ñu tho ng tin hay kho ng. Ne u
                                                 à    û    â              â      á
   â            å     ù
kho ng thì chuye n höô ng ñie u khie n ve laï i trang ña ng ky la “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ä
                                                23                                     å
                                                                                Tìm hie u veà ASP

      Thank you <% =Request.Form(“FirstName”) %> for registering!
      %>
      </BODY>
      </HTML>


        ù ù
      Chu y : Ne u sö duï ng Response.Redirect sau khi mo t no i dung ña ñöôï c gö i ve
                á    û                                   ä    ä        õ          û    à
               õ û        ã
cho user thì se xa y ra lo i.
          ä
III.6.4 Ñe m trang
                   ø           ä                      û ù â                á   á         û
         Bình thöô ng, khi mo t trang ASP ñöôï c xö ly tre n server, ke t xua t ñöôï c gô i
  ù                  ä   ù            ã ä
tô i browser ngay la p tö c sau khi mo i le nh trong trang ñöôï c thöïc thi.
                       á     ä   á
         Khi baï n muo n ñe m ke t xua t cu a mo t trang ASP thì server se kho ng gô i
                                       á û        ä                          õ   â    û
 ù ù       ø     ù               á        á û ù                                        ø     õ
ña p ö ng na o tô i client cho ñe n khi ta t ca ca c server script trong trang hieä n ha nh ña
         û      ë ø          á                ù           ë
ñöôï c xö lyù hoa c la cho ñe n khi phöông thö c Flush hoa c End ñöôï c goï i.
                          â      å    á ä                 õ û      ä         à
       Buffer property kho ng the thie t la p khi server ña gö i no i dung ve client, vì
         á å     á ä          û                          û à
      the ñe thie t la p ta pha i goï i Response.Buffer ô ña u trang.
 ù   ù
Cu pha p
        Response.Buffer [= flag]
       ù
      Ca c tham soá

      flag

           æ               á     á ù            ä         â
          Ch ñò nh trang ke t xua t co ñöôï c ñe m hay kho ng.

  ù
Gia trò          â û
               Mo ta
FALSE             â    ä           û    á     á ù                            û ù
               Kho ng ñem.Server gô i ke t xua t tô i client buffer ñöôï c xö ly .
                         â     û    á     á ù                  á             û ù
               Server kho ng gô i ke t xua t tô i client cho ñe n khi taá t ca ca c ñoaï n
TRUE                         â           â
               script ASP tre n trang hie n ha nh ña ñöôï c xö ly hoa c cho ñe n khi
                                             ø     õ          û ù   ë         á
                         ù           ë
               phöông thö c Flush hoa c End ñöôï c goï i.




                                                    ä
                                        Löu haønh no i boä
                                                  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
    ù    å ë            û
   co the ña t buffer cu a ño i töôï ng Response la TRUE ñe thi ha nh ca c script trong
                             á                    ø        å     ø     ù
     ä            ù        û ù
   mo t trang tröô c khi gô i tô i user
                       ø     õ   å
Ví duï : ñoaïn script na y se hie n thò ca c so tö 1 ñe n 100 nhöng ta t ca no i dung cu a
                                         ù     á ø     á              á û ä            û
               û ø        ä ù ù                      á                      û ù
trang ñöôï c gô i cu ng mo t lu c tô i browser cho ñe n khi ñoaï n script xö ly xong.
      <% Response.Buffer = True %>
      <HTML>
      <HEAD><TILTE>Buffer Example</TILTE></HEAD>
      <BODY>
      <%
      For i=1 To 100
         Response.Write i & “<BR>”
      Next
      %>
      </BODY>
      </HTML>
           ù   å û                 å ù                 ä á      å   ø    ù û
         Co the sö duï ng Buffer ñe xa c ñò nh taï i mo t so ñie m na o ño cua trang ñöôï c
     û ù    ø û ù        â      á    û
   xö ly , ma ô ño ta kho ng muo n gö i no i dung tröô c ño tô i ngöô i sö duï ng,lu c ño co
                                          ä           ù   ù ù        ø û           ù    ù ù
      å û                  ù             å á     á      ø û            ù        ù
   the sö duï ng phöông thö c Redirect ñe ke t no i ngöô i sö duï ng vô i URL kha c,
      ë    û                 ù          å ù
   hoa c sö duï ng phöông thö c Clear ñe xo a Buffer va gô i no i dung kha c tô i ngöô i
                                                      ø û      ä         ù     ù      ø
     û
   sö duï 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ä
                                           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 kieu no i dung cu a trang
                                 æ õ      å   ä     û     â   ù ù        å
       ContentType property ch ro kie u no i dung cu a tha n ña p öng(kie u MIME).
 ù      å     å   á   ø
Ca c kie u pho bie n la : “text/HTML”, “image/GIF”, “application/msword” , , ,
              á                 â           æ         ë         ø
“text/rtf”. Ne u ContentType kho ng ñöôï c ch ñò nh,ma c ñò nh la text/HTML.

                                               ä
                                   Löu haønh no i boä
                                             26                                   å
                                                                           Tìm hie u veà ASP

 ù   ù
Cu pha p
    Response.ContentType [= ContentType ]
     Tham soá

     ContentType

            ã    â û ä            å
        Chuo i mo ta no i dung kie u dö lie u. Chuo i na y thöô ng ñöôï c ñò nh daï ng la
                                       õ ä         ã   ø       ø                        ø
                              ø          ä         å
   type/subtype sao cho type la loaï i no i dung to ng qua t va subtype la kie u no i
                                                         ù    ø          ø    å    ä
         ë
   dung ña c tröng.

           å    å                    û         ê    û                   á
Ví duï 1: ñe hie n thò source code cu a moä t va n ba n HTML, baï n thie t laä p
                                                 â    û  ù ù            û        ø ä
ContentType property tha nh “text/plain” ,tha n cu a ña p ö ng ñöôï c gô i nhö la mo t
                            ø
  ê    û            ø         ø  ä
va n ba n bình thöô ng hôn la mot trang HTML.
         < % Response.ContentType= “text/plain” %>
        <HTML>
        <HEAD><TILTE>HTML Document</TILTE></HEAD>
        <BODY>
        <H1>This is an HTML Document </H1>
        </BODY>
        </HTML>
          ù           õ   å               ä               ä          ê   û
     Khi ño browser se hie n thò trang nha n ñöôï c nhö mo t trang va n ba n bình
    ø      ù   â     û ø     ä
thöô ng chö kho ng pha i la mo t trang HTML.
                 å   å               â               ø  ä
     Ví duï 2: ñe hie n thò trang tre n Web browser la mo t trang HTML, baï n thie 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ä
                                               27                                    å
                                                                              Tìm hie u veà ASP

                       ù
III.6.6 Maõ traï ng tha i
                      æ         ù      û     ø               ù   û à û
     Status property ch ñò nh gia trò cu a do ng traï ng tha i tra ve bô i server trong mo tä
  ù ù                         ø      â     û
ña p ö ng HTTP, property na y kho ng sö a ño i tie u ñe . Gia trò ca c traï ng tha i ñöôï c
                                                å     â    à     ù     ù            ù
                     ë û
ñò nh nghó a trong ña c ta HTTP.
   ù
Cu pha p:ù
Response.Status = StatusDescription

Tham soá
StatusDescription

     ä      ã    à
   Mo t chuo i go m co 3 chö so cho bie t ma traï ng tha i.
                     ù      õ á        á   õ           ù

           û à   õ          ù                        á      ù
Ví duï : tra ve ma traïng tha i 401 Not Authorized ne u ai ño 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.Ño i töôï ng Server
               á                        á         ä    ù ù               ù   ø ë
             Ño i töôï ng server cung ca p truy ca p tô i ca c phöông thö c va ña c tính
                    â           à   á ù               ù   ø ë
      (property) tre n server.Ha u het ca c phöông thö c va ña c tính (property) server
           ø ù       ù   ê       ä
      nhö la ca c chö c na ng tie n ích.
 ù   ù
Cu pha p
    Server.property|method

                                                   ä
                                       Löu haønh no i boä
                                               28                                   å
                                                                             Tìm hie u veà ASP

Properties
                         û       ø            ä           ù    å           ù        á
                      Khoa ng thô i gian maø mo t script co the chaï y tröô c khi he t
    ScriptTimeout
                         ø
                      thô i gian (time out).
Methods
                              ä            å             û    ä   á             ë    ø
                      Taï o mo t thöï c the (instance) cu a mo t ñoi töôï ng hoa c tha nh
    CreateObject
                         à
                      pha n server .
                õ ù        ã    ø
    HTMLEncode Ma ho a chuo i tha nh daï ng HTML .
                       ù          ø     ã û
                      A nh xaï ñöô ng da n ao ,ñöô ng da n tuye t ño i hay töông ño i
                                                  ø     ã      ä    á              á
    MapPath
                         â            ä   ø
                      tre n server hie n ha nh va o mo t ñöô ng da n va t ly .
                                                ø     ä     ø     ã    ä ù
    URLEncode          õ ù        ã           ø
                      Ma ho a chuo i kí töï tha nh daï ng URL.
   III.7.1 ScriptTimeout
                              æ         û       ø         á       ä           ù
      ScriptTimeout property ch ñònh khoa ng thô i gian to i ña mo t script co theå
            ù        ù         á    ù       û
 chaï y tröô c khi no ñöôï c ke t thu c. Khoa ng thô i gian na y se kho ng a nh höô ng trong
                                                    ø        ø    õ    â   û       û
            û ù  ä     ø       à
 khi ñang xö ly mo t tha nh pha n server.
 ù   ù
Cu pha p
    Server.ScriptTimeout = NumSeconds
 ù
Ca c tham soá
     NumSeconds

          æ         á  â     á      ø
         Ch ñò nh so gia y to i ña ma mot script co the chaï y tröô c khi ke t thu c no.
                                       ä          ù    å           ù        á    ù    ù
     ù      ë         ø       â
   Gia trò mac ñò 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í duï trong mo t so tröô ng hôï p, baï n muo n thi ha nh mo t ñoaï n script ma thô i
       û   ù ø              â   ø
gian cu a no da i hôn 90 gia y ma kho ng muo n ch mo t pha n cua ñoaï n script ñöôï c
                                     â      á   æ   ä     à   û
   å               ù     ù    å û                                 å
hie n thò thì khi ño ta co the sö duï ng ScriptTimeout property ñe thöï c thi ñoaï n script
               ù
ñoaï n script ño .
<% Server.ScriptTimeout = 100 %>
                                                   ä
                                       Löu haønh no i boä
                                                 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 taï o mo t thöï c the (instance) cu a mo t tha nh pha n
         å ù    å û         ù             ù
server ñe co the sö duï ng ca c phöông thö c va truy ca p ca c property cu a tha nh pha n
                                              ø        ä   ù              û    ø       à
 ù
ño .
 ù   ù
Cu pha p
        Server.CreateObject( progID )
Thamsoá

       progID

           æ          å    á            à
          Ch ñò nh kie u ño i töôï ng ca n taïo .



                  å      ä               ù ã                                 û
       Ví duï : ñe xem mo t Web browser co ho trôï cookie,frames,tables ta sö duï 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>
          <%
                          å û     ø       à
          ‘taï o thöïc the cu a tha nh pha n
            Set objBrowser= Server.CreateObject("MSWC.BrowserType")
           %>

                                                     ä
                                         Löu haønh no i boä
                                               30                                    å
                                                                              Tìm hie u veà ASP

              û        ù
           ‘sö duï ng ca c property
           Your browser has the properties:
           Cookies =<%=objBrowser.cookie%><BR>
           Tables = <%=objBrowser.tables%><BR>
           Frames = <%=objBrowser.frames%><BR>
         </BODY>
         </HTML>
                 ù
          Ghi chu :
         ë          ù    á                   û            ù                       ù
       Ma c ñò nh, ca c ño i töôï ng taï o bô i phöông thö c Server.CreateObject co page
                                                ä    û    û   ù                 û ù
scope (phaï m vi trang) nghó a laø server töï ño ng hu y bo chu ng khi server xö ly xong
             ä   ø
trang ASP hie n ha nh.
         å        ä    á
       Ñe taï o mo t ño i töôïng vô i phaïm vi la session hay application ,baï n co the sö
                                   ù            ø                                 ù    å  û
         û           ø     á ä         ä                            ë
duï ng the <OBJECT> va thie t la p thuo c tính SCOPE cho SESSION hoa c
                ë ø          õ á                   á             ë
APPLICATION, hoa c la löu trö ño i töôïng trong bie n session hoa c application .
                   ø       à    ù
           Taï o tha nh pha n vô i Session scope (phaïm vi session)
      ä   á                                              ã            ù         ä ù
Mo t ño i töôï ng session-scope ñöôï c taï o ra cho mo i session mô i trong mo t ö ng duï ng
  ø             û  ù                 á
va ñöôï c gia i pho ng khi session ke t thu c.Do ño , co mo t ño i töôïng tre n session hoaï t
                                            ù         ù ù   ä     á          â
    ä       á           ù   å          û
ño ng. Bie n session co the ñöôïc sö duï ng ma mo t user ye u cau. Ñe taï o mo t ño i
                                                  ø    ä        â   à     å        ä   á
                                ù  å û              û                   ä
töôï ng session scope, baï n co the sö duï ng the <OBJECT> trong ta p tin Global.asa
        ë ø û                 ù
hoa c la sö duï ng phöông thö c Server.CreateObject tre n trang ASP .
                                                              â
              û                 ù
Ví duï 1: sö duï ng phöông thö c Server.CreateObject
<% Set Session(objAd) = Server.CreateObject("MSWC. Adrotator")%>
            û         û                      ä
Ví duï 2: sö duï ng the <OBJECT> trong ta p tin Global.asa
<OBJECT RUNAT=Server SCOPE=Session ID=objAd
PROGID="MSWC.Adrotator">
</OBJECT>
                    ø      à    ù
           Taï o tha nh pha n vô i Application scope (phaï m vi Application)



                                                   ä
                                       Löu haønh no i boä
                                                 31                                      å
                                                                                  Tìm hie u veà ASP

    ä     á                                            ø
Mo t ño i töôï ngAn application-scope object la mo t thöï c the ñôn cu a mo t ño i töôï ng
                                                           ä          å       û       ä   á
                     ù             é   à     á           ø                 õ û á û ù
ñöôï c taï o ra khi ö ng duï ng ba t ña u. Ño i töôï ng na y ñöôï c chia se bô i ta t ca ca c gien
  â     à
ye u ca u.
             û                   ù
Ví duï 1: sö duï ng phöông thö c Server.CreateObject
<% Set Application(objAd) = Server.CreateObject("MSWC.Adrotator")%>
            û         û                  ä
Ví duï 2: sö duï ng the <OBJECT> trong ta p tin Global.asa
<OBJECT RUNAT=Server SCOPE=Application ID=objAd
PROGID="MSWC.Adrotator">
</OBJECT>




              â      å        ä            å
     Baï n kho ng the taï o mo t thöï c the (instance) co te n tru ng vô i ca c ño i töôï ng co
                                                        ù â       ø     ù ù       á           ù
 ü
sa n. Ví duï:
<% Set Response = Server.CreateObject("Response") %>


III.7.3 HTMLEncode
                  ù               ø     å õ ù      ä      ã    ø
        Phöông thö c HTMLEncode du ng ñe ma ho a mo t chuo i tha nh daï ng HTML .
 ù   ù
Cu pha p
    Server.HTMLEncode( string )
      Tham soá

     string

               ã   å õ ù
           Chuo i ñe ma ho a.

Ví duï :
<HTML>
<HEAD><TILTE>HTMLEncode Example</TILTE></HEAD>
<BODY>
<%

                                                     ä
                                         Löu haønh no i boä
                                                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 a nh xaï mo t ñöô ng da n töông ño i hoa c a o tô i mo t thö
                                                    ã          á    ë û       ù    ä
        ä        â
muï c va t lí tre n server
 ù   ù
Cu pha p
    Server.MapPath( Path )
      Tham soá

       Path

         æ          ø     ã
        Ch ñò nh ñöô ng da n töông ño i hoa c a o a nh xaï tha nh mo t thö muï c va t
                                     á    ë û ù              ø      ä              ä
 ù   á          é   à     ù                   ë                                       ù
ly .Ne u Path ba t ña u vô i 1 forward (/) hoa c backward slash hay (\) thì phöông thö c
          û à   ä      ø     ã    á
MapPath tra ve mo t ñöô ng da n ne u Path la mo t ñöô ng da n ao ña y ñu .Ne u Path
                                           ø  ä      ø     ã û    à    û    á
   â    é    à     ù    ä
kho ng ba t ña u vô i mo t slash (/ hoa c\ ), phöông thö c MapPath tra ve mo t ñöô ng da n
                                       ë                ù            û à   ä      ø     ã
        á ù                û   ä
töông ño i tô i thö muïc cu a ta p tin .asp ñang thöï c thi.
                ä
     Ví duï : ta p tin data.txt ñöôï c ñò nh vò trong thö muï c,C:\Inetpub\Wwwroot\Script,
     ø ä                    ù
nhö la ta p tin test.asp chö a ñoaï n script sau. Thö muï c C:\Inetpub\Wwwroot thì ñöôï c
    á ä          ø             û û
thie t la p nhö la thö muï c chu cu a server.
                          û          á          ø             å ù          ø     ã
      Ñoaï n script sau sö duï ng bie n server la PATH_INFO ñe a nh xaï ñöô ng da n
  ä ù û        ä         ä   ø
va t ly cu a ta p tin hie n ha nh.


                                                    ä
                                        Löu haønh no i boä
                                               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>
       á     â     é   à
     Ne u kho ng ba t ña u vô i ky töï slash (/ hoa c \) thì chu ng ñöôïc a nh xaï töông
                             ù   ù                 ë           ù          ù
  á ù                  ä   ø               ø          ø    ø
ño i tô i thö muï c hie n ha nh, trong tröô ng hôï p na y la 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 ma ho a mo t chuo i tha nh daï ng URL.Ví duï , ta t ca
 ù      û       é
ca c khoa ng tra ng ñöôï c chuye n ño i tha nh da u co ng.
                                å    å    ø      á    ä
 ù   ù
Cu pha p
    Server.URLEncode( string )


 ù
Ca c thamsoá
     string

             ã   å õ ù
         Chuo i ñe ma ho a.

     Ví duï 1:
     <%= Server.URLEncode("The paragraph tag: <P>") %>
          ù á      û  õ ù     ø
     khi ño ke t qua ma ho a la :
     The+paragraph+tag%3A+%3CP%3E
     Ví duï 2:
     <% Response.Write(Server.URLEncode("http://www.microsoft.com")) %>

                                                   ä
                                       Löu haønh no i boä
                                                    34                                   å
                                                                                  Tìm hie u veà ASP

           ù á      û  õ ù     ø
      khi ño ke t qua ma ho a la :
      http%3A%2F%2Fwww%2Emicrosoft%2Ecom
       ù              û         à   ù
      Ö ng duï ng cô ba n ASP go m co mo t thö muï c a o tre n server va ta t ca ta i lie u va
                                        ä            û      â          ø á û ø           ä   ø
  ä       ø ù û                  û
ta p tin ma no ô trong thö muï c a o.
            û         õ    ù              û
      Khi sö duïng nhö ng ö ng duï ng cô ba n cua ASP baï n co the sö duï ng ca c loaï i ño i
                                               û              ù   å û         ù            á
      töôï ng sau:
                                 á û      â         é
          • Application state: ta t ca tho ng tin ga n lie n vô i mo t ö ng duï ng co the ñöôïc
                                                          à    ù    ä ù             ù    å
     ø         á û      õ          û    ä ù
   du ng cho ta t ca nhö ng user cu a mo t ö ng duï ng .
                              õ      â            æ ù     å         ø         ä
          • Session state: nhö ng tho ng tin thì ch co the ñöôï c du ng cho mo t user.

       á
III.8.Ño i töôï ng Session
         á                           û         å       õ ø              â         à  ä
       Ño i töôï ng Session ñöôï c sö duï ng ñe löu trö va tìm laï i tho ng tin ve mo t user
          ù     ù            õ        á                     â              û
session. Ca c gia trò löu trö trong ño i töôï ng Session kho ng bò loaï i bo ñi khi user di
     å    ø       ø                ù          ù                           ä
chuye n tö trang na y sang trang kha c trong ö ng duï ng, Web server töï ñong taï o ra
  ä   á                         ä
mo t ño i töôï ng Session khi mo t trang Web trong ö ng duï ng ñöôï c ye u cau bô i mo t
                                                    ù                   â   à    û    ä
            ù                  û   û á                          ù á      ø
user chöa co session. Server hu y bo ño i töôï ng Session khi no he t thô i gian hay
        û    û            á
ñöôï c hu y bo . Thöï c te , mo t Session ch thuo c ve mot user.
                               ä           æ     ä    à ä
        õ ä                ø    é      à    ù
      Dö lie u Session thöô ng ga n lie n vô i mot user, no qua n ly cac tho ng tin ve
                                                ä          ù  û    ù ù      â         à
            û         ä ù
user ñang sö duï ng mo t ö ng duïng .
 ù   ù
Cu pha p
    Session.collection|property|method
Collections
                                ù   ù                 ø          â   ø             ù ù       ä
                             Chö a ca c muï c (item) ma baï n the m va o session vô i ca c le nh
Contents
                             script .
Properties
SessionID                      û à                       á    ù
                             Tra ve ñò nh danh session ño i vô i user.


                                                        ä
                                            Löu haønh no i boä
                                               35                                   å
                                                                             Tìm hie u veà ASP

Timeout                   û       ø        á    ù   ù
                       Khoa ng thô i gian ñoi vô i ca c session trong ud.
Methods
                        û    û   ä    á
                       Hu y bo mo t ño i töôïng Session va gia i pho ng ta i nguye n cu a
                                                         ø   û     ù     ø        â   û
Abandon
                        ù
                       no .
Events
                      û              ø û           à      â    â   à    ä
                     Xa y ra khi ngöô i sö duï ng ña u tie n ye u cau mo t trang trong
Se_OnStart
                       ä
                     mo t chöông trìng ud
Se_OnEnd              û                    á    ù
                     Xa y ra khi session ke t thu c
                   õ    â
   III.8.1.Löu trö thong tin Session
          á          à        õ õ ä             á                             õ        ä
        Ne u baïn ca n löu trö dö lie u trong ño i töôï ng Session thì löu trö trong mo t
            û    á                       â              õ        á                       ù
collection cu a ño i töôï ng Session. Tho ng tin löu trö trong ño i töôï ng Session thì co
  ù       â                ø ù
gia trò thong qua session va co session scope.
                     õ õ ä                á   û    á
     Ví duï : löu trö dö lie u trong 2 bie n cu a ño i töôï ng Session
<HTML>
<HEAD><TILTE>Session Example</TILTE></HEAD>
<BODY>
<%
Session("Name") = "John"
Session("age") = 20
%>
</BODY>
</HTML>
      å                  â         ø á                          ä    â     á
    Ñe truy tìm laï i tho ng tin tö ñoi töôï ng Session, truy ca p te n bie 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ä
                                               36                                  å
                                                                            Tìm hie u veà ASP

Response.Write Session("age") & “<BR>”
%>
</BODY>
</HTML>




            û    ù ù
          Qua n ly ca c session
       é   à    ø á      ù
     Ba t ña u va ke t thu c Session
          ä           ù    å é    à    è      ù
        Mo t Session co the ba t ña u bang 3 ca ch :
                  á    â   à     ä                                  ä            ø ä
        ♦ User muo n ye u ca u mo t URL ñöôï c ñò nh nghó a trong ta p tin .asp va ta p tin
                   ù                à   û   û
   Global.asa cho ö ng duï ng bao go m ca thu tuï c Session_OnStart
                      õ  ù             á
        ♦ User löu trö gia trò trong ño i töôï ng Session
                 â    à    ä                        ä         ù          ø ä
        ♦ User ye u ca u mo t taä p tin asp trong mo t trình ö ng duïng va ta p tin
                û ù              û         û
   Global.asa cu a ö ng duï ng sö duï ng the <OBJECT> ñe khô i taï o mo t ñoi töôï ng vô i
                                                        å   û          ä   á            ù
   session scope.
          ä                ä     á    ù
        Mo t session töï ño ng ke t thu c ne u user kho ng co ye u ca u hoa c refresh mo t
                                            á          â    ù â     à      ë            ä
                    ä ù                    ä     û       ø          ù      ø    ë
      trang trong mo t ö ng duï ng trong mo t khoa ng thô i gian. Gia trò na y ma c ñò nh
       ø      ù           ù    å
      la 20 phu t. Baï n co the thay ño i gia trò mac ñò nh cho mo t ö ng duï ng ba ng ca ch
                                       å    ù      ë              ä ù              è    ù
          á ä
      thie t la p Session Timeout property.
          ë             û      ø        ø       ù
Ví duï : ña t laï i khoa ng thô i gian la 40 phu t.
<% Session.Timeout = 40 %>
      ø               õ    ù     å á
Ngoa i ra, baï n cu ng co the ke t thu c mo t session vô i phöông thö c Abandon cu a ño i
                                          ù   ä         ù            ù           û     á
töôï ng Session .Ví duï:
<% Session.Abandon %>




                                                   ä
                                       Löu haønh no i boä
                                               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 mot
                  á           ù          û                                       å
ñò nh danh duy nha t ñöôï c pha t sinh bô i server khi session ñöôï c taï o ra.Ñe tìm laï i
              û                            û   á
session ID, sö duï ng SessionID property cu a ño 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 khoa ng thô i gian ña gan ño i töôï ng Session cho ö ng duï ng
           è     ù       á      ø û
   (tính ba ng phu t). Ne u ngöô i sö duï ng kho ng refresh(la m töôi) hoa c ye u ca u mo t
                                                â            ø            ë    â    à    ä
                 ä     û       ø                  á    ù
   trang trong mo t khoa ng thô i gian, session ke t thu c.
 ù   ù
Cu pha p
    Session.Timeout [ = nMinutes]
      Tham soá

      nMinutes

            æ         á  ù    ø   ä
           Ch ñò nh so phu t ma mo t session co the va n co n tröô c khi server ke t thu c
                                              ù    å ã    ø       ù               á     ù
    ù  ä ù            ä      ë         ø      ù
   no mo t cach töï ño ng, ma c ñò nh la 20 phu t.
                                            ø ë            ù               ù
      Ví duï : hieå n thò Timeout property va ña t laï i gia trò Timeout mô i.
<HTML>
<HEAD><TILTE>Timeout Example</TILTE></HEAD>
                                                   ä
                                       Löu haønh no i boä
                                              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 y : Baïn kho ng the ña t laï i khoa ng thô i gian nho hôn gia trò ma c ñò nh.
                                          û       ø         û       ù       ë
              ù        ä
   III.8.4.Ca c söï kie n Session
            á                   ù         ä                                û        ä
         Ño i töôï ng Session co 2 söï kie n: Session_OnEnd ñöôï c kích khô i khi mo t
          é   à    ø
session ba t ña u va Session_OnStart ñöôï c kích khô i khi mo t session ke t thu c. Ca 2
                                                    û        ä            á     ù    û
       ä   ø    û                          ä
söï kie n nay pha i ñöôïc ñò nh vò trong ta p tin Global.asa. No chö a toa n bo tho ng tin
                                                               ù    ù    ø     ä   â
  à ù                   û            ä                   ù á     ù
ve ö ng duïng Web site cu a baï n. Ta p tin Global.asa co ca u tru 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 ngo n ngö scripting sö duï ng ñe vie t ca c script söï kie n. No co the la
                                                 å   á ù                   ä    ù ù     å ø
     á   ø           õ                   ã          ø             ë
   ba t ky ngoâ n ngö scripting ñöôï c ho trôï nhö la VBScript hoa c JScript.

      ù
Ghi chu :
                                                  ä
                                      Löu haønh no i boä
                                                 39                                      å
                                                                                  Tìm hie u veà ASP

                â     å û         ù     û          ë             ù
     Baï n kho ng the sö duï ng ca c the HTML hoa c phöông thö c Response.Write be nâ
        ä
trong ta p tin Global.asa.
               â     å                ù
     Baï n kho ng the goï i phöong thö c MapPath trong ñoaï n script Session_OnEnd.
             â    ù ù è       á
     Baï n ne n chu y ra ng ba t ky script söï kie n Session_OnStart na o theo sau la mo t
                                  ø               ä                   ø             ø  ä
  ø          ù            ù                  â                           á          â
lô i goï i tô i phöông thö c Redirect thì kho ng ñöôï c thöïc thi. Vì the , baï n ne n goï i
          ù                 ø                       ä    û
phöông thö c Redirect sau cu ng trong script söï kie n cu a baï n.Ví duï nhö:
     <SCRIPT LANGUAGE=VBScript RUNAT=Server>
        Sub Session_OnStart
                             û
          ' ñoaï n script khô i taï o Session
          Response.Redirect "http:/server/app/StartHere.asp"
        End sub
     </SCRIPT>


             â            â      å
     Tuy nhie n, baï n kho ng the löu trö mo t ño i töôï ng co sa n trong ño 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
     %>
            ù    å û          á                    å
     Baï n co the sö duï ng ño i töôï ng session ñe thie t la p nhö ng ño i töôï ng hoa c bie n
                                                        á ä        õ     á             ë     á
 ù                       ø       û ä     ø ù ø
co session scope. Scope la söï mô ro ng ma no la 1 ño i töôï ng tha nh pha n hoa c bie n
                                                     á            ø       à    ë      á



                                                     ä
                                         Löu haønh no i boä
                                               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 ño.


               á
   III.8.5.Ño i töôï ng Application
        á                       ø     å      û
     Ño i töôï ng Application du ng ñe chia se tho ng tin giö a ta t ca ngöô i sö duï ng
                                                  â          õ   á û        ø    û
 û     ä ù              ä ù               â                                ø     ä ù ä
cu a mo t öng duï ng. Mo t ö ng duï ng tre n ASP ñöôï c ñò nh nghó a nhö toa n bo ca c ta p
                 ä            û    ø ù
tin .asp trong mo t thö muï c a o va ca c thö muï c con cu a no . Mo t so ña c ñie m cu a ö ng
                                                         û    ù     ä á ë         å   û ù
duï ng ASP:
        õ ä     ù    å            û    õ   ù                ù
      Dö lie u co the ñöôïc chia se giö a ca c trang trong ö ng duï ng.
        ä            å û    ä    á
      Mo t thöï c the cu a mot ño i töôï ng co the ñöôï c chia se giö a ca c trang trong ö ng
                                             ù    å             û    õ   ù                ù
duï ng.
        ø     ä ù             ø
      Dö ng mo t ö ng duï ng ma kho ng a nh höô ng tô i ca c ö ng duï ng kha c.
                                   â   û       û     ù ù ù                 ù
 ù   ù
Cu pha p
    Application.method
Collections
                                               ù   á û ù              õ           â   ø
                                            Chö a ta t ca ca c muï c ña ñöôï c the m va o
                   Contents                   á                         â        ù     ä
                                            ño i töôï ng Application tho ng qua ca c le nh
                                            script.
Methods
                            ê   á    ù
                         Nga n ca m ca c client kha c sö a ño i ña c tính ño i töôï ng
                                                  ù     û    å   ë          á
          Lock
                         Application .
                               ù    ù            ù     û    å   ë          á
                         Cho phe p ca c client kha c sö a ño i ña c tính ño i töôï ng
          Unlock
                         Application .
Events
                   û           ù            á    ù                 ø
Application_OnEnd Xa y ra khi ö ng duï ng ke t thu c(ví duï khi ngö ng web server)
                     û            ä               ù            à   à
Application_OnStart Xa y ra khi mo t trang trong ö ng duï ng la n ña u ñöôï c tham

                                                   ä
                                       Löu haønh no i boä
                                              41                                  å
                                                                           Tìm hie u veà ASP

                          û    á
                        kha o ñe n.


               û                   ù           ø
   III.8.5.1.Sö duï ng phöông thö c Lock va Unlock
          å      ê  á    ù
        Ñe nga n ca m gia trò ca c bie n löu trö trong ño i töôï ng Application co the bò
                               ù      á          õ       á                       ù    å
        ù            á é           ä    õ ä
hö khi co 2 client co ga ng truy ca p dö lieu cu ng mo t lu c thì chu ng ta co the sö
                                                ø     ä    ù        ù        ù    å û
                 ù        ø                      ù               ã     á         â
duï ng phöông thö c Lock va Unlock.Khi phöông thö c ñang Lock die n tie n thì kho ng
 ù ù                    ù     á é         å     â              õ        á
co ca c ñoaï n script kha c co gang thay ñoi tho ng tin löu trö trong ño i töôïng
                  á                ù
Application cho ñe n khi phöông thö c Unlock ñöôï c goï i.

      ù   ù
     Cu pha p

     Application.Lock
     Application.Unlock
                û          á ù                        å       õ á à     ä               å õ
     Ví duï : sö duï ng bie n ö ng duï ng NumVisits ñe löu trö so la n mot trang cuï the ña
              ä            ù                      å æ ù            ä   ø     ù    å
ñöôï c truy ca p.Phöông thö c Lock ñöôï c goï i ñe ch co client hie n ha nh co the truy
  ä    ë          å                 ù                ù                ù     õ
ca p hoa c thay ño i NumVisits.Sau ño goïi phöông thö c Unlock cho phe p nhö ng
    ø û            ù          ä   á
ngöô i sö duï ng kha c truy ca p ñoi 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ä
                                              42                                   å
                                                                            Tìm hie u veà ASP

               ù        ä
   III.8.5.2.Ca c söï kie n Application
           á          á                   á                        ø    ù          ä
        Gio ng nhö ño i töôïng Session, ño i töôï ng Application cu ng co 2 söï kie n: Söï
   ä                       û            ä ù
kie n Application_OnStart xa y ra khi mo t ö ng duï ng ASP ba t ña u va tröô c söï kie n
                                                             é    à   ø     ù         ä
                        ä                     û           ù            á     ù   ø
Session_OnStart, söï kie n Application_OnEnd xa y ra khi ö ng duï ng ke t thu c va sau
       ä
söï kie 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 ngo n ngö scripting sö duï ng ñe vie t ca c script söï kie n.No co the
                                                    å   á ù                   ä   ù ù     å
    ø á           â     õ                   ã          ø             ë
   la ba t kyø ngo n ngö scripting ñöôï c ho trôï nhö la VBScript hoa c JScript.

Ghi chuù
              â      å                ù
     Baï n kho ng the goï i phöông thö c MapPath trong ñoaï n script
Application_OnEnd .




                                                  ä
                                      Löu haønh no i boä
                                               43                                   å
                                                                             Tìm hie u veà ASP

                  å         â             ã        û ù                     ø ù
      Ví duï : hie n thò tho ng tin cho mo i user cu a ö ng duïng xem khi va o ö ng duï ng
  è    ù      û              ä                            ù       ù       ø û
ba ng ca ch sö duï ng söï kie n Application_OnStart, sau ño cho phe p ngöô i sö duï ng
  û   å            â
sö a ño i laï i tho ng tin.
      <SCRIPT LANGUAGE =VBScript RUNAT=Server>
      Sub Application _OnStart
         Application (“yourname” )= “Unknow”
         Application (“occuption” )= “Unknow”
      End Sub
      </SCRIPT>
       ---Display.asp---
          å         â         å            ä   ä                    ù    å
      ‘hie n thò tho ng tin ñe user truy ca p ta p tin Display.asp co the xem
      <HTML>
      <BODY>
      Thank you, <%=Application (“yourname”)%><br>
      You are <%=Application (“occuption”)%><br>
      </BODY>
      </HTML>


      ---Change.asp---
               å    ù       ù   ø   á          å       å
      ‘ thay ño i gia trò mô i va nha n Send ñe thay ño 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ä
                                                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---
         ë           ù        ä
       ‘ña t laï i gia trò nha n ñöôï c tö user trong ta p tin Change.asp va chuye n höô ng
                                          ø             ä                  ø      å     ù
  á    á         ù ä                       å      ù       ù
ke t no i user tô i ta p tin Display.asp ñe xem gia 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”
       %>
                â      å       õ ä    á            ù ü            á
       Baï n kho ng the löu trö mo t ño i töôï ng co sa n trong ño i töôï ng Application. Ví duï
nhö:
       <%
       Set Application("var1") = Session
       Set Application("var2") = Request
       Set Application("var3") = Response


                                                    ä
                                        Löu haønh no i boä
                                                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
         ø ù        á              û
      Ngoa i ca c ño i töôï ng cô ba n co sa n trong mo i tröô ng ASP, ASPvie c taï o ca c
                                        ù ü            â      ø              ä         ù
            ä    è          ø                ù
trang Web ño ng ba ng ASP co n ñöôï c trôï giu p nhô mo t so thö vie n ca c ño i töôï ng
                                                    ø  ä á          ä   ù     á
                       û                   ù     ø       à             á    á å
(Active X Component) cu a ActiveX Server. Ca c tha nh pha n ñöôï c thie t ke ñe chaï y
   â                   ä ù                     û       ø     ù    ù     û ë
tre n Web Server nhö mo t ö ng duï ng Web cô sô hôïp tha nh ca c go i nho ña c tröng
       ø ä        ã    ø       à
chung la ño ng. Mo i tha nh pha n ñöôï c sö duï ng cho mo t co ng vie c chuye n bie tnhie m
                                           û             ä â         ä       â     ä     ä
     ø  ä          ä
cho la mo t thö vie n ca c lô p (hay ño i töôï ng), ñöôï c thie t ke ô daï ng Automation
                       ù     ù         á                       á    á û
                  ä    ä    ù     â      ä
Server, thöï c hie n mo t nho m co ng vie c chung nha t cho mo t thao ta c na o ño , cha ng
                                                     á        ä        ù    ø    ù     ú
                  á                    á              á    ø    ù       å ù
haï n nhö truy xua t database, truy xua t file… vì the ngöô i pha t trie n ö ng duï ng Web
  è          ä     à    û                ù    ë         ø
ba ng ASP kho ng ca n pha i taï o laï i ca c ña c tính na y.

             ù    å        ä           ù
      Baï n co the taï o ño ng, töông ta c vô i ca c trang Web ba ng ca ch sö duï ng ca c
                                             ù ù                 è    ù      û        ù
  ø       à          õ                   ù                                   ù
tha nh pha n server ña ñöôï c included vô i Active Server Pages (ASP) trong ca c ñoaï n
         û
script cu a baï n.

  ø
Tha nh phaà n File Access
      á
VI.1.Ño i töôï ng FileSystemObject
         ø       à                û         á                            ø
       Tha nh pha n File Access sö duï ng ño i töôï ng FileSystemObject va TextStream
  å   â                ø û     å      â              õ              â
ñe kho i phuï c laï i va sö a ño i tho ng tin löu trö trong file tre n server.
    á                                    á       ù     ù ä          ê     û    ø â
 Ño i töôï ng FileSystemObject cung ca p thao ta c cac ta p tin va n ba n tö be n trong
         õ û      ù           ù
ñoaï n ma cu a chu ng ta. Chu ng ta co the taïo mo t thöïc the cu a ño i töôï ng
                                     ù     å      ä           å û     á
                      è     ù     û
FileSystemObject ba ng ca ch sö duï ng ñoaï n script sau:
      Set objFSO=CreateObject(“Scripting.FileSystemObject”)
          ã        ù        ù  ä     á                               ù
        Mo i khi chu ng ta co mo t ño i töôï ng FileSystemObject, chu ng ta taï o ñoá i
                     è    ù      û        ù             ù   û
töôï ng TextStream ba ng ca ch sö duï ng ca c phöông thö c cu a FileSystemObject
                                                    ä
                                        Löu haønh no i boä
                                                 46                                     å
                                                                                 Tìm hie u veà ASP

                    ù
   VI.1.1Phöông thö c CreateTextFile
                 ù                         ä         ê   û
       Phöông thö c CreateTextFile taï o mo t file va n ba n mô i hoa c vie t ñe len mo t
                                                               ù    ë      á   ø â     ä
      õ à                     ù   ø    û à
file ña to n taï i. Phöông thö c nay tra ve mo t ño i töôïng TextStream ma chu ng ta co
                                              ä    á                     ø   ù        ù
   å û          å              ë       ø
the sö duï ng ñe ñoï c file hoa c ghi va o file. Tröô c tie n chu ng ta taï o mo t ño i töôï ng
                                                     ù     â    ù               ä    á
                       ù û           á           ø     å        á
FileSystemObject, sau ño sö duï ng ño i töôï ng na y ñe taï o ño i töôï ng TextStream.
        ù   ù
       Cu pha p:
         [object.]CreateTextFile(filename[,overwrite])
       ù          á
      Ca c tham so :
      Object                 â   û     ä   á
                           Te n cu a mo t ño i töôï ng FileSystemObject
      Filename                ø     ã   ø â           ù                   ë
                           Ñöô ng da n va te n file chu ng ta taï o ra hoa c ghi
                             â
                           le n
      Overwrite                       ø â     ä        õ à                          ø
                           TRUE ghi ñe le n mo t file ña to n taï i, ngöôï c laï i la
                           FALSE
                         ä         ù   ø       õ ä     ø
         Ví duï : taïo mo t file mô i va ghi dö lie u va 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ô mo t file va n ba n ña to n taï i. Phöông thö c na y
                                              ê   û    õ à                     ù   ø
  û à   ä     á                      ø
tra ve mo t ño i töôï ng TextStream ma chung ta co the sö duï ng ñe ñoï c file hoa c
                                         ù        ù   å û          å              ë
   â    õ ä     ø
the m dö lie u va o file. Tröô c tie n, chu ng ta taï o mo t ño i töôï ng FileSystemObject sau
                              ù     â     ù               ä    á
 ù û           á           ø    å         á
ño sö duï ng ño i töôï ng na y ñe taï o ño i töôïng TextStream.

                                                     ä
                                         Löu haønh no i boä
                                            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                â   û     ä   á
                     Te n cu a mo t ño i töôï ng FileSystemObject.

 Filename               ø     ã   ø â                 á    û
                     Ñöô ng da n va te n taä p tin muo n mô .
 Iomode                            ë                  ë         ø
                     ForReading hoa c ForAppending. Ma c ñò nh la
                     ForReading.
 Create                           ä         ù    ë ø            á
                     TRUE taï o mo t file mô i hoa c la FALSE ne u file
                      õ à            à
                     ña to n taï i ro i.
                  ä         û                ù
Ví duï1 : ñoï c mo t file sö duï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í duï 2 : the m dö lie u va o file.txt
<HTML>

                                                ä
                                    Löu haønh no i boä
                                             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..Ño i töôï ng TextStream

          û        ù             ù   ø            û    á                       å
        Sö duï ng ca c phöông thö c va property cu a ño i töôï ng TextStream ñe ñoï c hay
      õ ä    ø
ghi dö lieu va o file.
               ù
     Phöông thö c
      Close                     ù     ä
                              Ño ng mo t file.
      Read(numchars)                          ù       ø
                              Ñoï c numchars ky töï tö file.
      ReadAll                         ø     ä ä         û
                              Ñoï c toa n bo no i dung cu a file TextStream .
      ReadLine                        ä    ø     ø
                              Ñoï c mo t do ng tö file.
      Skip(numchars)            û                 ù
                              Nha y qua numchars ky töï khi ñoï c file.
      SkipLine                  û         ø     á á
                              Nha y qua do ng ke tie p khi ñoï c file.
      Write(string)                   ã â
                              Ghi chuo i le n file.
      WriteLine([string])             ã   ø
                              Ghi chuo i va the m ky töï xuo ng ha ngle n file.
                                               â   ù        á    ø     â
      WriteBlankLine(n)               ø     â
                              Ghi n do ng le n file.
     Properties

                                                 ä
                                     Löu haønh no i boä
                                           49                                   å
                                                                         Tìm hie u veà ASP

   AtEndOfLine                     á         û      û   á    ø           ä
                            TRUE ne u con tro file ô cuo i do ng trong mo t file.
   AtEndOfStream                   á         û      û   á
                            TRUE ne u con tro file ô cuo i file.
   Column                     û à á ä         ä
                            Tra ve so co t hie n ha nh trong mo t file, ba t ña u tö 1.
                                                  ø            ä          é   à     ø
   Line                       û à á ø          ä
                            Tra ve so do ng hie n ha nh trong mo t file, ba t ña u tö 1.
                                                   ø            ä          é   à     ø


               û                          å      õ ä     ø
  Ví duï 1 : sö duï ng FileSystemObject ñe ghi dö lie u va 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í duï 2 : sö duï ng FileSystemObject ñe ñoï 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
       ø                             ä    á                ä         ù        û      û
    Tha nh phaà n Ad Rotator taï o mo t ño i töôï ng töï ño ng quay ca c hình a nh qua ng
 ù      â    ä
ca o tre n mo t trang Web. Mo i khi mo t user mô hoa c naï p laï i trang Web ,tha nh
                             ã        ä         û   ë                           ø

                                               ä
                                   Löu haønh no i boä
                                              50                                   å
                                                                            Tìm hie u veà ASP

     à                å        ä     â
  pha n Ad Rotator hie n thò mo t tho ng ba o mô i döï a tre n tho ng tin baï n ch ñò nh
                                          ù     ù           â     â              æ
  trong Rotator Schedule File
 ù   ù
Cu pha p:
    Set AdRotator = Server.CreateObject("MSWC.AdRotator")

       ù             ø â     û    á
     vô i AdRotator la te n cu a ño i töôï ng AdRotator.

Properties
  Border           æ                ù
                  Ch ñò nh kích thöô c ñöô ng vie n cu a qua ng ca o banner.
                                          ø      à   û     û     ù
                         á    û     ù           ù    ù
                  Cho bie t qua ng ca o banner co chö c na ng la mo t sie u lie n ke t.
                                                         ê     ø  ä      â     â    á
  Clickable
                   ù ù      ù      ø       ø
                  No co 2 gia trò la TRUE va FALSE.
               æ         â   û           å              â    ù          ù
  TargetFrame Ch ñò nh te n cu a frame ñe hieå n thò tho ng ba o trong ño .
Methods
                    á         á     â         à  û     ù
 GetAdvertisement La y chi tie t tho ng tin ve qua ng ca o banner.
       å                      å û     ø       à                ù         û
     Ñe taï o moä t thöï c the cu a tha nh pha n Ad Rotator, chu ng ta sö duï ng phöông
   ù                û     á
thö c CreateObject cu a ño i töôïng Server.
     <% Set objAd= Server.CreateObject("MSWC.AdRotator") %>
             å      ù      â    ù     ù          ã                                 ù
Ví duï : Hie n thò ca c tho ng ba o kha c nhau mo i khi user xem trang Web, trong ño
  ä                          ù   â         à ù     û     ù          å
ta p tin MyAdFile.txt chö a tho ng tin ve cac qua ng ca o ñöôï c hie n thò .
       <HTML>
       <HEAD>
       <TITLE>Adrotator Example</TITLE>
       </HEAD>
       <BODY>
       <%
        Set objAd = Server.CreateObject("MSWC.AdRotator") %>

       objAd.Border(0)          â     ù   ø      à
                            ‘kho ng co ñöô ng vie n

                               ø  ä      â     â   á
       objAd.Clickable(TRUE) ‘la mo t sie u lie n ket
                                            ø           â
       objAd.TargetFrame(“MyFrame”) ‘naï p va o frame te n MyFrame


                                                  ä
                                      Löu haønh no i boä
                                              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
      ù           û ê                 å   û     ã                â           ù ã
     Xa c ñò nh kha na ng, loaï i, kie u cu a mo i browser nhö te n,version,co ho trôï
                   â
frame,table hay kho ng…)

           ä            á    á ù
     Khi mo t browser ke t no i tô i web server, no töï ño ng gô i tie u ñe User Agent
                                                  ù      ä      û     â    à
         â    à ø    ø
HTTP. Tie u ñe na y la mo t chuo i ASCII ñò nh daï ng browser va version cu a no
                        ä       ã                              ø          û    ù
            ù    å   â   ù
     Baï n co the the m cac property hoa c ñò nh nghó a browser mô i ba ng ca ch ca p
                                        ë                         ù    è    ù      ä
   ä
nha t file browscap.ini.
 ù   ù
Cu pha p
    Set BrowserType = Server.CreateObject("MSWC.BrowserType")

       ù
     vô i BrowserType la te n ño i töôï ng BrowserType.
                       ø â      á

                û         á                         å        ä   û           á ù       û
     Ví duï : sö duï ng ño i töôï ng BrowserType hie n thò mo t ba ng cho bie t ca c kha
  ê    û              ä   ø
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ä
                                    52                        å
                                                       Tìm hie u veà ASP

<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ä
                                               53                                    å
                                                                              Tìm hie u veà ASP

          ø      à
   VI.5.Tha nh pha n Content Linking
              ä        û          ø â
      Taï o no i dung cu a trang va lien ke t chu ng vô i nhau gio 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
   å  ù         ø ä       ä   û
the pha t sinh va ca p nha t ba ng no i dung va ñie u khie n lie n ket tô i ca c trang tröô c
                                     ä        ø    à      å     â   á ù ù                  ù
 ù ø ù                ù
ño va ca c trang sau ño .
 ù   ù
Cu pha p
    Set NextLink = Server.CreateObject("MSWC.NextLink")

       ù
     vô i NextLink la ten cu a ño i töôï ng ñöôï c taï o bô i phöông thö c
                    ø â    û    á                          û            ù
   Server.CreateObject .

 ù             ù
Ca c phöông thö c
GetListCount(list)                  û à å        á         ù
                                  Tra ve to ng so trang chö a trong list file.
GetNextURL(list)                    á        û          á á
                                  La y URL cu a trang ke tie p trong list file.
                               á   ø      â û û              ù   ù
GetPreviousDescription(list) La y do ng mo ta cu a trang tröô c ño trong list file .
GetListIndex(list)                  á           û           ä   ø
                                  La y vò trí cu a trang hie n ha nh trong list file.
GetNthDescription(list,n)           â û          ù
                                  Mo ta trang thö Nth trong list file.
GetPreviousURL(list)                á        û            ù   ù
                                  La y URL cu a trang tröô c ño trong list file.
GetNextDescription(list)            á    â û û            á á
                                  La y mo ta cu a trang ke tie p trong list file.
GetNthURL(list,n)                   á        û           ù
                                  La y URL cu a trang thö Nth trong list file.
                 ä          û    ä
   VI.5.1.Taï o no i dung cu a mo t trang
         â           û    ä
      Xa y döï ng ba ng no 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ä
                                                 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
                        â   ø    ù         ø ù           ù    ä
   Ñoaï n script sau the m va o nu t Back va nu t Next tô i mo 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ä
                                               55                                   å
                                                                             Tìm hie u veà ASP

          ù   å         õ               ä    ù
     Ta co the taï o nhö ng trang Web ño ng ta c ño ng la n nhau ba ng ca ch sö duïng ca c
                                                   ä     ã         è    ù      û       ù
  ø       à
tha nh pha n Server sau trong Script

  ä ù                            á   è     ù      û        ø       à
Mo t ö ng duï ng Web Database vie t ba ng ca ch sö duïng tha nh pha 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
 ø  ä     å            á û                  ä    ù       å ù
la mo t ñiem maï nh nha t cu a ASP trong vie c pha t trie n ö ng duï ng Web Database.

      ù    á            û              á
     Ca c ño i töôï ng cu a ADO cung ca p cô che taï o ra ca c ke t no i (Connection) vô i
                                                á          ù     á    á                 ù
  à    á ù       å              õ
ha u he t cac 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 duï ng Database tre 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 thie t ke mo t ca ch ñôn gia n nha t, no giao tie p vô i database tho ng
                                                 á    ù         á    ù              â
              ù                                        ù       ù    å û
qua phöông thö c ODBC (Open Database Connectivity), chu ng ta co the sö duï ng
  ù      ù    á   ø
chu ng vô i ba t ky loaïi Database na o ne u nhö ODBC co driver ho trôï . (Hie n nay to n
                                    ø     á            ù          ã           ä        à
                   à    á ù
taï i Driver cho ha u he t ca c loaï i Database, nhö Foxpro, Access, oracle, Spl
               â   ù            û õ    ä               û                 ë
server…tuy nhie n cac file cô sô dö kie u theo daï ng ba ng nhö Exel, hoa c File text
            â     ã
thì ODBC kho ng ho trôï ).

      ù    á
     Ca c ño i töôï ng trong ADO

      ù    á                            ù ø                          ø
     Ca c ño i töôï ng chính trong ADO ño la : Connection, Commmand va RecordSet.
   ø        á                 ø     ø
Ngoa i ba ño i töôï ng chính na y co n co cac ño i töôï ng con cu a no cu ng vô i ca c tham
                                        ù ù     á               û    ù ø       ù ù
  á                      ù    â
so , property, phöông thö c be n trong. Sö duï ng Connection ta co the thie t la p söï lie n
                                          û                       ù   å    á ä            â
  á    ù       û õ ä         â        ù
ke t vô i cô sô dö lie u, tho ng qua ño ta co the thöï c hie n ca c query ñe la y ra ca c
                                            ù    å          ä   ù           å á       ù
               ä     ä     ä
record hoaë c ca p nha t mo t record ba ng sö duï ng ño i töôï ng Command. Ke t qua thöï c
                                       è     û         á                     á    û

                                                   ä
                                       Löu haønh no i boä
                                                56                                      å
                                                                                 Tìm hie u veà ASP

   ä   ù            â
hie n ca c query tre n database se ñöôï c löu va o ño i töôï ng RecordSet, tre n ño i töôï ng
                                  õ            ø     á                        â    á
 ø       ù    å    ä   ø á         ä          à
na y ta co the duye t va la y ra mo t hay nhie u Record.

          á
     1. Ño i töôïng Connection

       å û          á                          ù     â                       ä
     Ñe sö duï ng ño i töôï ng Connection, tröô c tie n ta phaû i taï o ra mo t thöï c theå
                ù    â              ø           å û    á            ø
(instance) cho no , ñay thöï c söï la thöï c the cu a ño i töôï ng na y trong trang ASP.

       å                      å             á                            ù    å û
     Ñe taï o moä t thöï c the (instance) ño i töôï ng Connection baï n co the sö duï ng ñoaï n
script sau:
     <%
     Connection_name= Server.CreateObject (“ADODB.Connection”)
     %>

        â       ø           ä ù              á
     Tho ng thöô ng trong mo t ö ng duï ng ne u ta ca n co mo t lie n ke t vô i Data Source
                                                     à   ù   ä     â    á    ù
  á            á û                  ù      õ ë                           û
co ñò nh cho ta t ca trang thì khi ño ta se ña t thöï c theå (instance) cu a Connection ôû
  ù                      è    ù
mö c application scope ba ng ca ch ñöa pha t bie u taï o thöï c the (instance) ô tre n va o
                                         ù      å                  å            û â     ø
       ä
söï kie n Application_OnStart:

     <%

         Sub Application_OnStart ()

              Set objConn= Servcer.CreateObject (“ADODB.Connection”)

         End Sub

     %>

        ë      á ä      à                         û  ù
     hoa c thie t la p ta m vöï c cho Connection ô mö c Sesstion nhö sau :

     <%


                                                    ä
                                        Löu haønh no i boä
                                                 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 duï ng co nhie u ngöô i sö duïng truy xua t tô i Database, ño la kha na ng
                    û
Connection Pooling cu a ODBC 3.0.
Connection Pooling
      ù ù                  û ù               à     á
     Ca c ö ng duï ng cô sô ö ng duï ng truye n tho ng ñe u taï o mo t no i lie n ke t ñôn tô i
                                                         à          ä    á     â    á        ù
          ø ù û             ø   ù ù                         â              û ø ù      ù
Database ma no sö duï ng, co n ca c ö ng duï ng Database tre n Web laï i mô va ño ng ca c
   â    á ø û      ã     ä               ä           ù        ù ù
lie n ke t na y ô mo i mo t trang Web. Mo t phöông pha p cho ca c ö ng duïng Database
   â       ø         ä         â   á
tre n Web la taï o mo t söï lie n ket lie n tuï c vô i cô sô dö lie u cua tö ng ngöô i sö duï ng
                                         â          ù       û õ ä      û    ø       ø û
 ø        õ        á
va löu trö trong ño i töôï ng Session.

             â           ù    ø    ù
     Tuy nhie n phöông pha p na y co the la m gia ta ng so löôï ng ca c user co ke t no i
                                        å ø         ê     á         ù          ù á     á
  ù       û õ ä      ø    â    ø
vô i cô sô dö lie u ma kho ng la m vie c va no ch ñaï t ñöôï c ño tin ca y ño i vô i ca c Web
                                      ä   ø ù æ                  ä      ä   á     ù ù
       ù           â     õ ä       á
Site co söï löu tho ng dö lie u tha p (low-trafic)

              ù      ä                 ä    û
     Phöông pha p tie n lôï i trong vie c qua n ly ca c ke t noi vô i cô sô dö lie u cuû a ö ng
                                                 ù ù      á   á    ù       û õ ä           ù
            ø   û        è                     û                è    û     ù á
duï ng Web la qua n lyù ba ng Connection Pool cu a ODBC 3.0, nha m gia m bô t so
           â    á û        ã          õ  û ù
löôï ng lie n ke t ra nh ro i, ODBC se mô ca c ke t no i va qua n ly ca c ke t noi na y.
                                                 á    á ø     û    ù ù      á   á   ø

       ã       ù  ä     â    à
     Mo i khi co mo t ye u ca u mô i thì thöï c hie n vie c kie m tra xem co lie n keá t na o
                                  ù                ä     ä     å            ù â           ø
                            û       â      á     â
trong Connection Pool ñang ra nh kho ng, ne u kho ng co thì se taï o ke t no i mô i, ne u
                                                      ù       õ        á    á    ù     á
 ù      ù õ á        â    á û       ø    ø
co thì no se la y lie n ke t ra nh na y ma khoâ ng taï o lie n ke t mô i. Ne u mo t lie n ke t
                                                            â    á    ù     á    ä     â    á
 û     ø                           à
ra nh na o trong Connection Pool to n taï i qua 60 gia y thì no se töï ño ng loaïi bo .
                                              ù       â       ù õ        ä          û

                                                     ä
                                         Löu haønh no i boä
                                                 58                                    å
                                                                                Tìm hie u veà ASP

                                             ë      â                  ù   å       û
     Connection Pooling ñöôï c kích hoaï t ma c nhie n trong ASP, ta co the loaïi bo
  è    ù        á ä       ù                                            à  ù
ba ng ca ch thie t la p gia trò Register Entry Start Connection Pool ve gia trò 0.
 ù             ù   ø ë                      û   á
Ca c phöông thö c va ña c tính (property) cu a ño i töôï ng Connection


                  ù
        Phöông thö c              â û
                                Mo ta
        Open                û ä
                          Mô mo t ke t no i mô i tô i dö lieu nguo n.
                                    á    á    ù ù       õ ä       à
        Close               ù           ä    á    á
                          Ño ng laï i mo t ke t no i .
        Execute                        ä               ë    ä    û
                          Thöï c thi mo t query,SQL hoa c mo t thu tuï c löu
                             õ ü
                          trö sa n.


        Property                      â û
                                    Mo ta
  CommandTimeout             á  â      ø                       ä ä          ù
                           So gia y chô ñôï i khi thöï c thi mo t le nh tröô c khi
                             á    ù
                           ke t thu c.
  ConnectionString            â         ø
                           Tho ng tin du ng ñe taïo ke t no i tô i nguo n dö
                                              å       á    á ù         à    õ
                              ä
                           lie u.
                      á  â      ø                     ä    á    á      ù
  ConnectionTimeout So gia y chô ñôï i khi taï o ra mo t ke t no i tröô c
                                 á     ù
                           khi ke t thu c.



           û ø ù       ä    á    á
     1.1 Mô va ño ng mo t ke t no i Database

         å    á ä       ä
       Ñe thie t la p mo t lie n no i vô i database thì baï n taïo thöï c the (instance) cu a
                              â    á    ù                                    å             û
  á                           ù     ù    å  û
ño i töôï ng Connection, sau ño ta co the mô mo t ke t no i tô i dö lie u nguo n (DSN) ñe
                                              ä     á    á ù       õ ä        à          å
 ù    å        á    õ ä
co the truy xua t dö lie u .

      ù   ù
     Cu pha p :

Connection.Open ConnectionString,User,Passwosd

                                                     ä
                                         Löu haønh no i boä
                                               59                                    å
                                                                              Tìm hie u veà ASP

            ù
     trong ño

                            ã                 â    û                            â
     ConnectionString : Chuo i ñò nh nghó a te n cu a Data Source Name (DSN), te n
 ø                ù
na y ñöôï c khai ba o trong ODBC.

              â      ø û               ø         û ä     á    á
     User : Te n ngöô i sö duï ng ñöa va o khi mô mo t ke t no i

                  ä   õ      ø           á ä      ä    á    á
     Password : Ma t ma ñöa va o khi thie t lap mo t ke t no i.

                   ä        ù â     ø                         ø
     Ví duï : môû mo t DSN co te n la student,user="student" va password ="magic"

     <%

     Set objConn=Server.CreateObject("ADODB.Connection")

     objConn .Open "DSN=student;uid=student;pwd=magic"

     objConn.Close
     Set objConn=Nothing

     %>

               û ù        õ ä       â                   ù        á     ù             û
     Sau khi xö ly xong dö lie u tre n data source, tröô c khi ke t thu c trang ta pha i
 ù           ù     á    á
ño ng laï i ca c ke t no i ña mô . Sö duï ng phöông thö c Close cu a ño i töôï ng Connection
                            õ   û    û                 ù         û     á
  å ù      ä    á    á
ñe ño ng mo t ke t no i.

            objConn.Close

                      ä   á    á            â
     Sau khi ñoù ng mo t ket no i, baï n kho ng the sö duï ng ke t no i ñe giao tie p vô i
                                                   å û          á    á    å        á    ù
database.

                     â    ä         ù    á    á
     1.2Thöï c thi ca u le nh SQL vô i ke t no i Open:

              õ á      á    ù
     Sau khi ña ke t no i vô i Data Source, ñe thöï c thi mo t ca u le nh SQL hoa c vô i
                                              å             ä â       ä          ë    ù
  ä    û         û
mo t thu tuïc, sö duï ng phöông thö c Execute cho phe p thöï c thi mo t ca u leä nh ta c ño ng
                                   ù                ù                ä â             ù    ä

                                                   ä
                                       Löu haønh no i boä
                                                60                                  å
                                                                             Tìm hie u veà ASP

  â                         ù   ø    ù             ä                  û                  á
le n Data Source. Phöông thö c na y co 2 daïng : Mo t daï ng ñöôï c sö duï ng khi tìm kie m
  á    û ø    ä            ø
ke t qua tö mo t database va daïng kha c la ñöôï c sö duï ng khi kho ng co ke t qua na o
                                     ù ø             û              â    ù á      û ø
         û à
ñöôï c tra ve .

        Set recordset = connection.Execute(CommandText, RecordsAffected,
        Options)
        connection.Execute CommandText, RecordsAffected, Options
               ù
        trong ño
                      ä     á    á                       ù    á    û        á
        recordset : Mo t bie n ño i töôï ng Recordset chö a ke t qua truy va n.
                                     å
        CommandText : Chöù a query ñe thöï c thi.
                       ä     á    á
        Connection : Mo t bie n ño i töôï ng Connection.
                             ù    á        ø ä      ù    ä     á
        RecordsAffected : chö a so record ma le nh ta c ñong ñe n.

                    ù ù     ù       ù               ù     ù    ã
        Options : Co ca c gia trò kha c nhau töông ö ng vô i mo i loaï i CommandText.



   ù
 Gia trò        è          ù
              Ha ng töông ö ng                    â û
                                                Mo ta CommandText

                                               ù      ø   ø  ë
                                    Unknown. Gia trò nay la ma c ñò nh khi ñò nh
    0         AdCmdUnknown
                                    nghó a.

                                                 ø   ä â       ä         â
                                    CommandText la mo t ca u le nh nhö ca u
    1             AdCmdText
                                      ä
                                    le nh SQL.

    2             AdCmdTable          â   û    û
                                    Te n cu a ba ng taï o recordset .

                                      ä    û         õ ü
                                    Mo t thu tuïc trö sa n (stored procedure)
    3        AdCmdStoredProc
                                    trong data source.

            ù             ù    å û           õ    è      á ø           ä
        Tröô c khi baï n co the sö duï ng nhö ng ha ng so na y trong mo t trang ASP, baï n
  û             ä        ë      ä         ø
pha i include mo t file ña c bie t goï i la ADOVBS.inc.

                                                    ä
                                        Löu haønh no i boä
                                                61                                å
                                                                           Tìm hie u veà ASP

                   û                 ù            å             ä â                 ø
      Ví duï 1 : sö duï ng phöông thö c Execute ñe thöï c thi mo t ca u leä nh SQL ma
   â          á          á   ø á      û ø
kho ng tìm kie m laï i ba t ky ke t qua na o.

      <!-- #include virtual="ADOVBS.INC"-->

      <%

               ä                      å    û    á
      ‘taï o mo t instance (thöï c the ) cu a ño i töôïng Connection

       Set objConn = Server.CreateObject("ADODB.Connection")

         û á     á ù
      ‘mô ke t no i tô i Database

       objConn.Open "DSN=student;uid=student;pwd=magic"

                    ä    û             õ ü     â   ø
      ‘thöï c thi mo t thu tuïc löu trö sa n te n la MyPro

      objConn.Execute “MyProc”, adCmdStoredProc

      objConn.Close

      Set objConn=Nothing

      %>

                   û                 ù            å û á       û ø   ä â             á
      Ví duï 2 : sö duï ng phöông thö c Execute ñe tra ke t qua tö mo t ca u truy va n
SQL

      <!-- #include virtual="ADOVBS.INC"-->

      <%

               ä            å û    á
      ‘taï o mo t thöï c the cua ño i töôï ng Connection

      Set objConn = Server.CreateObject("ADODB.Connection")

         û á     á ù
      ‘Mô ke t no i tô i Database

                                                   ä
                                       Löu haønh no i boä
                                                 62                                      å
                                                                                  Tìm hie u veà ASP

      objConn.Open "DSN=student;uid=student;pwd=magic"

                   â    ä
     ‘thöï c thi ca u le nh SQL

     SQLtemp="SELECT * FROM MyTable WHERE Name= 'John' "

     objConn.Execute SQLtemp, adCmdText

     objConn.Close

     Set objConn=Nothing

      %>

          á
     2. Ño i töôïng Command.

                   û û                     ù           û     á
         Thay vì pha i sö duï ng phöông thö c Execute cu a ño i töôï ng Connection ñeå
             ä    û              õ ü      ë
thöï c thi mo t thu tuï c löu trö sa n hoa c mo t ca u le nh SQL, ta co the sö duï ng ño i
                                               ä â       ä            ù    å û          á
                  å     ø     ù         ù
töôï ng Command ñe thi ha nh ca c thao ta c vô i cô sôû dö lie u nhö : the m, xo a, ca p
                                              ù          õ ä              â    ù      ä
   ä    õ ä      ë          á    õ ä            ä   û
nha t dö lie u hoa c truy va n dö lie u trong mo t ba ng.

Chu y : Ñe thöï c thi mo t truy va n kho ng sö duï ng ño i töôï ng Command, ñöa mo t
    ù ù       å            ä         á   â        û       á                                   ä
     ã          á   ø            ù                  û   á
chuo i truy va n va o phöông thö c Execute cu a ño i töôï ng Connection hoa c la tô i  ë ø ù
            ù            û   á                                â       á
phöông thö c Open cu a ño i töôïng Recordset. Tuy nhie n, ño i töôï ng Command ca n               à
         û                     á   ã   õ
ñöôï c sö duï ng khi baïn muo n van giö laï i le nh va thöïc thi laï i noù , hoa c sö duï ng ca c
                                                ä     ø                        ë     û          ù
          á
tham so truy va n.á
           ä         ä           å                 á                    õ      á
        Vie c taïo mo t thöïc the (instance) cho ño i töôï ng Command cu ng gio ng nhö
  á                       ù ø        õ     û                 ù
ño i töôï ng Connection tö c la ta cu ng sö duï ng phöông thö c Server.CreateObject.

     Ví duï :

     Set objCmd = Server.CreateObject (“ADODB.Command”)

             â    å             û          á
     Tuy nhie n ñe thöï c söï sö duï ng bie n ño i töôï ng na y ta pha i xem xe t ca c ña c tính
                                               á            ø        û        ù ù       ë
 ø           ù       ø        ù
va phöông thö c ñi ke m theo no .
                                                     ä
                                         Löu haønh no i boä
                                              63                                   å
                                                                            Tìm hie u veà ASP


             ù
   Phöông thö c                   â û
                                Mo ta

   CreateParameter                ä    á
                          Taï o mo t ño i töôï ng Parameter trong
                          Parameters collection.

   Execute                             â    ä          ë    û
                          Thöï c thi ca u le nh SQL hoa c thu tuï c löu
                             õ ü    æ
                          trö sa n ch ñò nh trong CommandText
                          property.




         Property                 â û
                                Mo ta

   ActiveConnection         á                      ø            û
                          Ño i töôï ng Connection na o ñöôï c sö duï ng
                            ù   á
                          vô i ño i töôï ng Command.

   CommandText             æ         â    ä     à
                          Ch ñò nh ca u le nh ca n thöï c thi.

   CommandTimeout Xa c ñò nh thô i gian thöï c thi le nh, gia trò
                   ù            ø                    ä      ù
                             ø        ø                â
                          thô i gian na y tính theo gia y.

   CommandType                   á     å   û          æ
                          Cho bie t kie u cu a query ch ñò nh trong
                          CommandText.

   Prepared                          ä       å         ù
                          Taï o ra le nh chua n bò tröô c khi thöï c thi.

                    ä    á    á
        2.1 Taï o mo t ke t no i Active Connection :

              õ ù            å            û    á                       õ          á    á
     Sau khi ña co thöï c the (instance) cu a ño i töôï ng Connection ña ñöôï c ke t no i
  ù       û õ ä      ø á
vô i cô sô dö lie u va ño i töôï ng Command. Lu c nay ne u muoá n sö duï ng ño i töôï ng
                                              ù    ø    á           û         á
             û    ù    â   û                                      ø     á    á ù
Command ta pha i gan te n cu a Connection thích hôïp (Connection na o ke t no i tô i cô
  û õ ä       à   ø      ä     ø                          û    á
sô dö lie u ca n la m vie c ) va o cho ActiveConnecttion cu a ño i töôï ng Command.

                                                  ä
                                      Löu haønh no i boä
                                                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 ña thie t la p ke t no i vô i ño i töôï ng Connection, ta co the sö duï ng
                                   á    ù    á                           ù   å û
          ù            û    á                     à     á         ù
phöông thö c Exexcute cu a ño i töôï ng Command ga n gio ng nhö vô i Connection .
        â      å           ù    á                      ø á      ù   á
Tuy nhie n, ñie m khaù c vô i ño i töôï ng Connection la ño i vô i ñoi töôï ng Command
  á      ù                ø      ä ä
ne u ta co döï ñò nh thi ha nh mo t le nh na o thì ta se pha i khô i taï o ca c gia trò cho
                                           ø            õ  û      û         ù     ù
CommandText, CommandType, ….

                                       ø      ä â              â    ä
     Ví duï : ñoaï n chöông trình thi ha nh mo t ca u query tre n mo 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ä
                                                 65                                  å
                                                                              Tìm hie u veà ASP

           â          â    ä
       ‘bie n dò ch ca u le nh

        objCmd.Prepared = TRUE

                     â    ä
       ‘thöï c thi ca u le nh

         objCmd.Execute

          û     ù     ø        â   õ û
       ‘gia i pho ng ta i nguye n ña sö duï ng

       Set objCmd.ActiveConnection = Nothing

     %>

       ù        ù    å
     Chu ng ta co the thie t la p gia trò CommandTimeout ña u tie n ñe xa c ñò nh
                          á ä       ù                     à      â    å ù
   û       ø                   â    ä      ë
khoa ng thô i gian thöïc thi ca u le nh, ma c ñò nh la 30 gia y, ne u ñe gia trò na y la 0 thì
                                                     ø       â     á    å ù       ø    ø
      õ                 á       ù               ø    á
ADO se thöï c thi cho ñe n khi ta c vuï ñöôïc hoa n ta t.

           û             á     ù     ä
     2.2 Sö duïng tham so cho ca c le nh SQL.

       á              à            ä   ù â
     Ne u nhö query ca n thöï c hie n co ye u ca u ca c tham so , thì ta pha i the m cac
                                               à    ù          á           û      â   ù
       á ø    ø                            ù
tham so na y va o Parameter collection tröô c khi thöï c hie n ca u le nh. Ño i vô i phöông
                                                            ä    â    ä      á    ù
   ù           û    á                        â    ù   û ê      ø
thö c Execute cu a ñoi töôï ng Connection kho ng co kha na ng na y.

       û                 ù           û    á                                â         æ
     Sö duï ng phöông thö c Execute cu a ño i töôï ng Command thöï c thi ca u query ch
ñò nh trong CommandText property.

 ù   ù
Cu pha p
     Set recordset = command.Execute(RecordsAffected, Parameters, Options)

          command.Execute RecordsAffected, Parameters, Options
            ù
     trong ño

                   ä     á    á                       ù    á    û        á
     recordset : Mo t bie n ño i töôï ng Recordset chö a ke t qua truy va n.


                                                   ä
                                       Löu haønh no i boä
                                             66                                  å
                                                                          Tìm hie u veà ASP

                 ä     á    á                   ä        á
     command : Mo t bie n ño i töôï ng ñaï i die n cho ño i töôï ng Command.

                     ø                ù   ê     ø   ù        á               á
     RecordAffected va Options coù chö c na ng va gia trò gio ng nhö trong ño i töôï ng
Connection.

                ø  ä õ      ù     ù
     Parameter la mo t day ca c gia trò tham so ñöôï c ñöa va o vô i mo t ca u le nh SQL.
                                               á            ø     ù    ä â       ä

       å       å   ù                  ù
     Ñe tìm hie u ca ch taïo ra danh sa ch ca c tham so cua ca u le nh, ta ha y xem xe t
                                            ù          á û    â    ä        õ        ù
 ù             ù   ø            û
ca c phöông thö c va property cu a Parameter collection.

                     ù
           Phöông thö c                             â û
                                                  Mo ta

              Append            â    ä         á ø
                             The m mo t tham so va o collection.

              Delete           ù  ä          á
                             Xoa mo t tham so trong collection.

              Refresh          ä     ä               å  û ù
                             Ca p nha t collection ñe pha n anh söï
                                    å ù            á
                             thay ño i ca c tham so .



              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

          ã    ä     à
        Mo i mo t pha n tö cu a Parameter collection co the coi nhö mo t ño i töôï ng
                          û û                         ù    å          ä    á
              ø   ù      õ    ù ù     ë                      â     û
   Parameter va chu ng cu ng co ca c ña c tính (property) rie ng cu a mình.
              Property               â û
                                   Mo ta
        Attributes              å    õ ä     ø        á  á      ä
                             Kie u dö lie u ma tham so cha p nha n.

                                                 ä
                                     Löu haønh no i boä
                                               67                                   å
                                                                             Tìm hie u veà ASP

         Direction                å   ä     å    õ ä     ø        á ø
                               The hie n kie u dö lie u ma tham so la
                                                      ø û
                               Input hay Output, hay la ca hai, hay
                                ù ø    ù       û à ø     ä    û
                               no la gia trò tra ve tö mo t thu tuï c löu
                                  õ ü
                               trö sa n (stored procedure).

         Name                    â   û          á
                               Te n cu a tham so .

         NumericScale            á   õ á    ä     â
                               So chö so tha p pha n trong tham soá
                                  å    á
                               kie u so .
         Precision               á   õ á û           á   å   á
                               So chö so cu a tham so kie u so.

         Size                           ù ù       á
                               Kích thöô c lô n nha t, tính theo byte,
                                û     ù            á
                               cu a gia trò tham so .

         Type                     å    õ ä     û          á
                               Kie u dö lie u cu a tham so .

         Value                   ù      ù             á
                               Gia trò gan cho tham so .

       å             á                       ù     û                 ù
     Ñe taï o moä t ño i töôï ng Parameter mô i, sö duï ng phöông thö c CreateParameter
 û    á
cu a ño i töôï ng Command

  ù   ù
Cu pha p
Set pamareter = command.CreateParameter(Name,Type,Direction,Size,Value)

       å   â    ä
     Ñe the m mo t tham so mô i vao Parameter collection. Tröô c tie n ta phaû i taï o
                          á  ù   ø                            ù     â
  ä            å                 á                          ù     á ä      ù     ù
mo t thöï c the (instance) cho ño i töôï ng Parameter, sau ño thie t la p ca c gia trò
              ù ø     á ø        û                 ù
property cho no va cuo i cu ng sö duï ng phöông thö c Append.

                      ä         á  ù   ø    â         á ø    ø
     Ví duï : taï o mo t tham so mô i va the m tham so na y va o Parameter collection.

     Set objParam = objCmd.CreateParameter ( “State” , 128 , 1 , 2 , ”Ny” )

     objCmd.Parameters.Append objParam
                                                   ä
                                       Löu haønh no i boä
                                        68                            å
                                                               Tìm hie u veà ASP

Ví duï :

<%

         ä            å û    á
‘taï o mo t thöï c the cua ño 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 bie t CommandText la mo t thu tuï c löu trö sa n

      objCmd.CommandType = 4

                                                ø  ä
strValue=Request.Form(“txtState”) ‘khi submit tö mo 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 cu a chuo i

                           ù         ã
ObjParam.Value=strValue ‘gia trò chuo i

                                      â         á ø
objCmd.Parameters.Append objParam ‘the m tham so va o collection

                             â    ä
objCmd.Execute ‘thöï c thi ca u le nh

                                         û     ù     ø        â   õ û
Set objCmd.ActiveConnection = Nothing ‘gia i pho ng ta i nguye n ña sö duï ng


                                            ä
                                Löu haønh no i boä
                                              69                                   å
                                                                            Tìm hie u veà ASP

     %>

       û    ù    á
Tham kha o ca c ño i töôï ng collection
        ã        ù        ù ù
      Mo i khi chu ng ta co ca c tham so trong collection. Ñe la y gia trò cu a tham so
                                        á                    å á     ù      û          á
                     ù    å û                         ë    û       æ                 ë
trong collection ta co the sö duï ng Item property hoa c sö duïng ch muïc (index) hoa c
 ø â           á
la te n tham so .

 ù   ù
Cu pha p
           objCmd.Parameters.Item(index)

          ë
       hoa c objCmd.Parameters(index)

          ë                           â         á
       hoa c objCmd.Parameters.Item(te n_tham_so )

          ë ø                       â         á
       hoa c la objCmd.Parameters(te n_tham_so )

                å á     ù      û          á
     Ví duï : ñe la y gia trò cu a tham so State va 128 ô ví duï tre n, ta co the sö duï ng
                                                  ø      û          â       ù    å û
 ù    ù   ù
ca c cu pha p

           objCmd.Parameters.Item(0)

          ë
       hoa c objCmd.Parameters(0)

          ë
       hoa c objCmd.Parameters.Item(“State”)

          ë   ø
       hoa c la objCmd.Parameters(“State”)

     töông töï

           objCmd.Parameters.Item(1)

          ë
       hoa c objCmd.Parameters(1)

          ë
       hoa c objCmd.Parameters.Item(128)

          ë ø
       hoa c la objCmd.Parameters(128)

                                                  ä
                                      Löu haønh no i boä
                                                 70                                     å
                                                                                 Tìm hie u veà ASP

            ø û    û ù
     Ñoï c va huy bo ca c tham soá

       ù        ù    å û          ø     ë
     Chu ng ta co the sö duï ng vo ng la p For…Each ñe xua t ra te n va gia trò cu a ta t
                                                      å   á       â   ø   ù      û    á
 û ù           á                            ø ë      ù                        ø
ca ca c tham so trong Parameter collection va ña t chu ng trong trang hieä n ha nh söû
                 ù
duï 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

           %>

       å û        ä          á                              û                 ù
     Ñe hu y boû mo t tham so trong Parameter collection, sö duï ng phöông thö c
Delete.
                ù        á â            ù        ù
     Ví duï : xoa tham so te n State, chu ng ta co the sö duï ng te n hoa c ch muï c cu a
                                                      å û          â     ë   æ        û
 ù
no
          objCmd.Parameters.Delete “State”

          objCmd.Parameters.Delete 0

          á
     3. Ño i töôïng Recordset.

       è    ù      û
     Ba ng ca ch sö duï ng ca c ño i töôïng Connection va Command ta co the thöïc thi
                            ù    á                      ø              ù   å
 ù           å   â   ø
ca c query ñe the m va o, ca p nha t hay xo a mo t record trong data source. Tuy nhie n
                            ä     ä       ù     ä                                    â
       ù ù                      õ     û             ä     ä á          ä á ù
trong ca c ö ng duï ng thì ta cu ng pha i thöï c hie n vie c la y ra mo t so ca c record töø
       å   å        ù      û     ù         û û             á
ADO, ñe hie n thò gia trò cu a chu ng ta pha i sö duï ng ño i töôï ng Recordset.


                                                     ä
                                         Löu haønh no i boä
                                                71                                 å
                                                                            Tìm hie u veà ASP

       û                   å   å       ù
     Sö duï ng Recordset ñe hie n thò ca c record

       ä             ù    å         û         å                   ù                  ä
     Mo t Recordset co the ñöôï c sö duï ng ñe töôï ng tröng cho ca c record trong mo t
 û               ù ù     å   ù    ä
ba ng database. No co the chö a mo t hoa c nhie u record (ha ng), mo i record co the
                                       ë       à           ø        ã          ù    å
   ù    ä     ë      à           ä
chö a mo t hoa c nhie u field (co t).

       å                      å            û    á                        û                ù
     Ñe taï o moä t thöï c the (instance) cu a ño i töôï ng Recordset, sö duïng phöông thö c
Server.CreateObject :

       Set objRs = Server.CreateObject("ADODB.Recordset")

              õ ù     á    á
     Sau khi ña co bie n ño i töôï ng Recordset, ta co the khô i taï o gia trò cho no ba ng
                                                      ù   å   û          ù          ù è
 ù          á    û û à     ã                            ù            û   á
ca ch löu ke t qua tra ve mo i khi thöï c thi phöông thö c Execute cu a ño i töôï ng
                          å   å       ù                             û         ø
Connection hay Command. Ñe hie n thò ca c record trong Recordset, sö duï ng vo ng
  ë     â        ù
la p tho ng qua ca c record.

     Ví duï :

     <%

                                                                        ä
         Set objConn = Server.CreateObject(“ADODB.Connection”) ‘taï o mo t thöï c
   å            û    á
the (instance) cu a ñoi 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ä
                                                72                                    å
                                                                               Tìm hie u veà ASP

        Set objRs.Close
        Set objConn.Close

      %>

      ø      ä    ù
     La m vie c vô i Fields Collection.

           ã   á                       ù
         Mo i ño i töôï ng Recordset co mo t Fields collection chö a dö lie u va thong
                                          ä                       ù    õ ä     ø   â
      à ã      ø                           ä   ø       û                           å á
tin ve moi tröô ng (field) trong record hie n ha nh. Sö duï ng Fields collection ñe lay
  ã
mo i record trong Recordset.

                      ù
            Phöông thö c                               â û
                                                     Mo ta

           Refresh              ä     ä               å  û ù                å
                              Ca p nha t collection ñe pha n anh söï thay ño i
                                ù    ù      ù
                              tô i gia trò ca 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.

       å   å        ù      û    ä
     Ñe hie n thò gia trò cua co t trong ba ng, baï n co the sö duï ng te n cu a tröô ng (co t)
                                          û            ù    å û          â   û       ø      ä
   ë               â      á â       û
hoa c khi baï n kho ng bie t te n cu a tröô ng (co t) thì ta co the sö duï ng ch muï c cu a
                                           ø      ä           ù    å û         æ        û
    ø    ù å     å
tröô ng ño ñe hie n thò .

  ù           á û                                     ù      á ø         ù    ù
Chu yù : chæ so cu a caù c filed trong record ñöôï c ña nh so tö 0 cho tô i gia
objRs.Fields.Count-1.




                                                    ä
                                        Löu haønh no i boä
                                          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 bang

<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 so field trong Recordset

%>

<TABLE border=1>

<TR>

    å        â   û    ù
‘hie n thò te n cu a cac field


                                              ä
                                  Löu haønh no i boä
                                         74                  å
                                                      Tìm hie u veà ASP

<% 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ä
                                                 75                                     å
                                                                                 Tìm hie u veà ASP

      </HTML>

    ù      å        û          ø   ù
   Ca c kie u con tro (Cursor)va kho a (Locking) Recordset

        ä          ù            å        ù    ù
      Mo t cursor xa c ñò nh kie u thao ta c co the thöï c hie n va kie u thay ño i ma ca c
                                                   å          ä   ø    å         å   ø ù
       ù         û  ä
user kha c khi mô mo t Recordset .

        ø     å           ù                    õ û ù      ø             à         á é
      Co n kie u locking xa c ñò nh database se xö ly tröô ng hôï p nhie u user co ga ng
       å    ä                 ø     ä ù
thay ño i mo t record trong cu ng mo t lu c.

        å          ä     ä   ø
      Ñe thöï c hie n vie c nay, ña u tie n baï n taï o mo t thöï c the (instance) cu a ñoi töôï ng
                                   à     â                ä            å            û    á
                ù û                   ù         å  û ä
Recordset, sau ño sö duï ng phöông thö c Open ñe mô mo t Recordset.

 ù   ù
Cu pha p
       objRs .Open Source, ActiveConnection, CursorType, LockType, Options

        ù ù            á
      vô i ca c tham so :

                ä    á                    â    ä
      Source: Mo t ño i töôïng Command, ca u le nh SQL, te n ba ng hoa c thu tuïc löu trö
                                                          â   û      ë     û             õ
 ü
sa n(stored procedure).

                           â   û                  õ         û á     á    ù       û õ
      ActiveConnection : Te n cu a dt Connection ña ñöôïc mô ke t no i vô i cô sô dö
   ä   à            ä
lie u ca n laø m vie c.

                      å   û         û          û             û
      CursorType : Kie u cu a con tro ñöôï c sö duï ng khi mô Recordset. CursorType söû
        ù      å               û           ø
duï ng ca c kie u cursor khi mô Recordset la :

                                 ë          ù         á ø         æ ù     å    ä
          AdOpenForwardOnly : (Ma c ñò nh)Vô i tham so nay baï n ch co the duye t
 ù                                 ä            ø à     á     á
ca c record trong Recordset theo mo t chieà u tö ña u ñe n cuo ùi .

                                            û ù   û ê           ù        ä     ä
          AdOpenKeyset : Recordset ñöôï c mô co kha na ng cho phe p ta ca p nha p
 ù            ù           å             â
ca c record (xo a, thay ño i) . Tuy nhie n, ne u user kha c the m mo t record mô i, record
                                              á         ù      â    ä           ù
 ø    õ    â      á     ä
na y se kho ng xua t hie n trong Recordset.

                                                     ä
                                         Löu haønh no i boä
                                                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. Pha n a nh ta t ca nhö ng thay ñoi (the m vao, sö a ño i, loaï i bo ) record
                                                  â   ø     û   å            û
                                  ä
trong Recordset do user thöï c hie n.

                                  ù   å    ä         á û ù          à     â      á
           AdOpenStatic : Baï n co the duye t theo ta t ca ca c chie u (le n, xuo ng) trong
              â     û ù        á û      õ          å
Recordset. Kho ng pha n a nh ta t ca nhö ng thay ño i record trong Recordset do user
          ä
thöï c hie n.

                    å            û            û                      û        ù
      LockType : Kie u locking sö duïng khi mô Recordset. LockType sö duï ng ca c
   å                û           ø
kie u locking khi mô Recordset la :

                              ë            â      å       å ù
           adLockReadOnly : Ma c ñò nh. Kho ng the thay ño i ca c record trong
Recordset.

                                ä          æ            ù                        å
           adLockOptimistic : Mo t record ch bò lock (kho a) ngay sau khi thay ño i döõ
   ä     â               â
lie u tre n Recordset tre n data source.

                                 ä          æ            ù                             ù
           adLockPessimistic : Mo t record ch bò lock (kho a) khi baï n goïi phöông thö c
         û
Update cu a Recordset .

                                    ù            õ         ä     ä        ù
           adLockBatchOptimistic : Ca c record se ñöôï c ca p nha t theo bo (batch
update).

                   å   û            ë   û             ä    û
      Options : Kie u cu a query hoa c ba ng ñaï i die n bô i Source.

      Ví duï :

      <HTML>

      <HEAD>

      <TITLE>Cursor and Locking Example</TITLE>

      </HEAD>
                                                    ä
                                        Löu haønh no i boä
                                             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 ño i caù c record trong Recordset

             ù    å û          ä á             ù   û               å û    å ù
      Baï n co the sö duï ng mo t so phöông thö c cu a Recordset ñe sö a ño i cac record
        ä
trong mo t Recordset.

                   ù
         Phöông thö c      â û
                         Mo ta

         AddNew             â    ä           ù   ø
                         The m mo t record mô i va o Recordset.



                                                ä
                                    Löu haønh no i boä
                                          78                                    å
                                                                         Tìm hie u veà ASP


        Close            ù           á                     ø ù     á
                       Ño ng laï i ño i töôï ng Recordset va ca c ño i
                                    û    ù
                       töôï ng con cu a no .

        Delete           ù           ä   ø
                       Xoa record hie n ha nh trong Recordset.

        Requery                  ä
                       Thöï c hie n laï i query.

        Update              ù          å     â            ä   ø
                       Löu ca c thay ño i tre n record hie n ha nh.




              û                 ù           å   â    ä          ø
   Ví duï : sö duï ng phöông thö c AddNew ñe the m mo t record va 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ä
                                             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.

            á                          à    ä á             ù    å           å
          Ño i töôï ng Recordset bao go m mo t so phöông thö c ñe dò ch chuye n qua
 ù                  ä                     ø ù             å    ù ø             ä   ø
ca c record trong mo t Recordset, record ma no dò ch chuye n tô i la record hie n ha nh.
      û  ä                   å               ë         ø
Khi mô mo t Recordset thì kie u CursorType ma c ñò nh la adOpenForwardOnly nghó a
 ø   ù        æ ù     å           å
la chu ng ta ch co the dò ch chuye n ve phía tröô c, co n ne u muo n dò ch chuye n quanh
                                       à         ù     ø    á     á             å
  ä                     à    û            ù     å              ø                  ë
mo t Recordset thì ta ca n mô Recordset vô i kie u CursorType la adOpenStatic (hoa c
adOpenDynamic, adOpenKeyset).

                              å           û            ä   ø
            Move : Dò ch chuye n vò trí cu a record hie n ha nh.

                                   å    à        à      â
            MoveFirst : Dò ch chuye n ve record ña u tie 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 chuye n ve record tröô c ño .


                                                 ä
                                     Löu haønh no i boä
                                              80                                   å
                                                                            Tìm hie u veà ASP

             õ ù   ä                å   å              á ù       ã                   ù
     Khi ta ña co mo t Recordset, ñe hie n thò truy xua t tô i mo i Recordset trong ño
    ù    å û         ù             ù      ä
ta co the sö duï ng ca c phöông thö c duye t nhö : MoveFirst, MoveLast , MoveNext ,
               õ á            ä         û          à     â      á ø         á á
MovePrevious seõ lay ñöôï c no i dung cu a record ñau tie n, cuo i cu ng, ke tie p hay
                ù
record phía tröô c.

           û       ù             ù    å
     Khi sö duïng ca c phöông thö c ñe dò ch chuye n ca c vò trí kho ng xa c ñò nh. Ne 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ì se ga y ra lo i. Ñe tranh tröô ng hôï p na y thì ta sö duï ng ca c
                                      å ù        ø          ø            û        ù
           û                           å ù                   ä   ø     ø à       â
property cu a Recordset nhö BOF, EOF ñe xa c ñò nh record hie n ha nh la ña u tie n
     ø   á ø        ù             ø    ù ù
hay la cuoi cu ng. Ca c property na y co y nghó a nhö sau:

                         ù  ù                  ø       û       û        à
          BOF property co gia trò TRUE nghó a la con tro ñang ô vò trí ña u Recordset,
                ù           û           â   ù   ù      ø
khi Recordset mô i ñöôï c mô thì BOF luo n co gia trò na y.

                         ù  ù                  ø       û       û          á ø       û
          EOF property co gia trò TRUE nghó a la con tro ñang ô vò trí cuo i cu ng cu a
Recordset.

       á     â    ù
     Ne u kho ng co record na o trong Recordset thì ca BOF la n EOF ñe u la TRUE.
                            ø                        û       ã        à   ø

                û         ä    ø
     Ví duï : sö duï ng mo t vo ng la p va phöông thö c MoveNext ñe duye t ca c record
                                    ë    ø           ù             å    ä ù
trong Recordset.

     <HTML>

     <HEAD>

     <TITLE>AddNew Database Example</TITLE>

     </HEAD>

     <%


                                                  ä
                                      Löu haønh no i boä
                                    81                         å
                                                        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 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ä
                                              82                                   å
                                                                            Tìm hie u veà ASP

             á               â      ù          ø               û ù û       ø      ø
         • Ne u Recordset kho ng chö a record na o khi baï n mô no ca BOF va EOF la
    TRUE.

                    ø      ø           ä         ã   ø    ø            á
         • Khi BOF va EOF la TRUE, thuo c tính va n co n la TRUE cho ñe n khi baï n
            å    ù    ä                à
    di chuye n tô i mo t record ñang to n taï i, ô thô i ñie m na y gia trò BOF hay EOF se
                                                  û   ø     å   ø     ù                   õ
       û  ø
    trô tha nh FALSE.

                            ø        ø               á                      ù
         • Khi BOF hay EOF la FALSE va record duy nha t trong recordset bò xoa,
        ä         ã     õ            ù
    thuo c tính va n giö FALSE cho tô i khi baïn co di chuye n tô i 1 record kha c, ô thô i
                                                   á        å    ù             ù û       ø
       å   ø    û      ø        û  ø
    ñie m na y ca BOF va EOF trô tha nh TRUE.

            ø    ù                     û
         • Va o lu c baï n taï o hay mô mo t Recordset co chö a ít nha t mo t record ,
                                         ä              ù    ù        á    ä
            à     â   ø
    record ñau tie n la record hie n ha nh va ca BOF va EOF la FALSE.
                                  ä   ø     ø û       ø      ø




,




                                                  ä
                                      Löu haønh no i boä

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:683
posted:9/16/2009
language:English
pages:82