Tìm hiểu về asp

Embed Size (px)

DESCRIPTION

Tìm hiểu về asp

Citation preview

  • Tm hie u ve ASP

    Lu hanh no i bo

    1

    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 tao hoa c xa y 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 tnh toa n kinh doanh. V i ASP, ba n co the a no i dung tng 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 bnh 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 pha n (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 nha n c no i dung ca n trnh 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 bnh th ng nh la no a tham kha o t i mo t trang HTML cu a Web.

    Trang Asp khi tre n Web Server va khi c a ra Browser

    Web Server

    Browser

    XXXXX XXXXX ZZZZZZ ZZZZZZ

    XXXXX XXXXX YYYYY YYYYY

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

  • Tm hie u ve ASP

    Lu hanh no i bo

    2

    S o mo t ng du ng tre n Web ASP:

    Web Server : la ni 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 kie u cu a trang ASP. ADO cung ca p giao die n la p trnh cho ng i pha t trie n xa y 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: ni 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 tnh toa n ven 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 ye u ca u.

    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 trnh 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

    Web Browser

    Web Server

    ASP ADO OLEDB ODBC

    Database Server

    DMS (SQL server)

  • Tm hie u ve ASP

    Lu hanh no i bo

    3

    la m cho hoa t o ng cu a trang Web se tr ne n linh o ng hn , uye n chuye n hn. - Ca c file .asp cu ng tng thch 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 trnh 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 dung mo t ca ch linh hoa t nh va o 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 o i t ng, chuye n du ng 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 ca c trang ASP . Mo t file ASP th c cha t la mo t va n ba n, no co the bao go m ca c tha nh 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 la p trnh. 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 trnh.

    Vie c thi ha nh mo t script la qua trnh 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 tnh. Script c

    vie t ba ng mo t ngo n ng v i ca c lua t c a t ta na o 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    4

    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 e nga n ca ch 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

    V du :

    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 ca ch 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 ba n

    v i th i gian hie n ha nh cu a server :

    This page was last refeshed at

    Trong tr ng h p na y , Web server tra ve gia tr now cu a ha m 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 ca c ca u tru c ie u khie n : IFELSE, For, While, DO WHILE cu ng

  • Tm hie u ve ASP

    Lu hanh no i bo

    5

    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

    =#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

    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 pha i c nhn 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 trnh kha c

    be n trong ba ng ca ch s du ng the va

    V du:

  • Tm hie u ve ASP

    Lu hanh no i bo

    6

    docoment.write("for loop"+ i+"
    ")

    docoment.write("second line of for loop"+ i+"
    ")

    //end script hiding-->

    trong file ASP sau x ly JScript trong ha m MyFunction

    function MyFunction ()

    {

    Response.Write("MyFunction Called")

    }

    Chu y : be n trong tag 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 ca c thu tu c.

    4.Include file: Khi ta o mo t ng dung Web, bao go m nhie u trang ASP, ne u nh to an bo ca c

    trang e u ca n s dung 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    7

    file cu a ASP (gio ng nh trong ngo n ng la p trnh co ie n).e include mo t file trong

    trang ASP ta s du ng cu pha p sau:

    Chu y ra ng ng da n e include file headers / header1.inc th co lie n quan

    e n vie c include file , ne u no i dung cu a script na y co cu pha p 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    8

    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

    Le nh script va thu tuc pha i hoa n toa n bao ha m da u nga n ca ch trong

    script,tag HTML va hoa c tag HTML

    va .

    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 thch HTML cu a server _side script va bao go m ca da u

    nga n ca ch:

  • Tm hie u ve ASP

    Lu hanh no i bo

    9

    V i ch c na ng trong scripts cu a ba n, ban co the tao ra 1 ng du ng thu v .

    Cha ng han script sau s du ng mo t database e cung ca p ma u tin script client nh la

    ke t qua ha nh o ng cu a user.

    Trong Script sau ASP tm d lie u t Database va pha t ra mo i chng trnh con

    cho mo i do ng d lie u. Chng trnh 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 chnh 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.

    Lu 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 tao ra mo t l i go i include, hoa c s

    du ng include nh sau la sai:

  • Tm hie u ve ASP

    Lu hanh no i bo

    10

    Next

    %>

    Script sau se hoa t o ng c:

    III.CA C O I T NG C BA N CU A ASP: ASP cung ca p cho ng i la p trnh ca c o i 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 sa n(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 o ng cu a ASP

    Session Lu 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    11

    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 ba ng phng th c POST

    3 .Ca c tho ng tin c g i t i ba ng phng 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 tm 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 cu a 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 cu a ca c bie n trong trong chuo i truy va n HTTP

    ServerVariables Gia tr cu a ca c bie n mo i tr ng a c xa c nh

    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 tm kie m t mo t

    collection hoa c c s du ng nh la mu c va o o i v i mo t phng 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 tm kie m ca c collection theo th t sau:

  • Tm hie u ve ASP

    Lu hanh no i bo

    12

    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 ,ban co the tao 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 tng ta c v i trang Web va

    Submit tho ng tin t i mo t Web Server.

    V du : Tao mo t FORM e user co the nha p va o ho te n,tuo i va a va o mo t nu t e submit tho ng tin t i Web server. FORM cu ng ch a mo t ie u khie n hidden e a the m tho ng tin t i Web server.

    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 tnh ACTION cu a the HTML . File.asp

    ch a oa n script thc hie n vie c x ly gia tr FORM nh hie n th mo t ba ng no i dung

  • Tm hie u ve ASP

    Lu hanh no i bo

    13

    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 chnh 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 hn

    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 phng 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 phng 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 a ng sau da u ? trong URL .

    Nh va y ne u phng th c la GET th toa n bo tho ng tin g i t i se na m trong

    Querystring Collection.

  • Tm hie u ve ASP

    Lu hanh no i bo

    14

    V du : ne u v du tr c o s du ng phng 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=new Myfile.asp co the ch a oa n script x ly nh sau: Hello, . You are years old. 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 cu ng mo t te n 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 dung a c tnh Count e e m so la n

    ma mo t kie u a c trng 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:
    va ke t qua hie n th la : apples olives bread

  • Tm hie u ve ASP

    Lu hanh no i bo

    15

    III.4.S dung Form Collection

    Form collection ch a toa n bo ca c gia tr ma user nha p va o FORM sau o g i ba ng phng th c POST. Phng th c POST g i d lie u 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 chon 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 muc 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 cu a element xua t hie n

    trong tha n cu a ye u ca u.Ba n co the xa c nh so gia tr cu a mo t thamso ba ng ca ch

    go iRequest.Form(element).Count.

    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 ban co the la y la i ca c te n v i oa n script sau:

  • Tm hie u ve ASP

    Lu hanh no i bo

    16

    2.S du ng ServerVariables collection

    ServerVariables collection la y la i ca c gia tr ca c bie n 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.

    ServerVariableValue

    V du :s du ng o i t ng Request e hie n th mo t so bie n mo i tr ng .

    ALL_HTTP server variable =


    CONTENT_LENGTH server variable =


  • Tm hie u ve ASP

    Lu hanh no i bo

    17

    CONTENT_TYPE server variable =


    QUERY_STRING server variable =


    SERVER_SOFTWARE server variable =


    V du : s du ng ServerVariables collection e che n te n server va o trong mo t

    sie u lie n ke t (hyperlink).

    Link to MyPage.asp

    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 chnh 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 chnh file.asp se nha n 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    18

    cookie .

    Properties Buffer Ch ra lie u trang ke t xua t c e m hay kho ng.

    ContentType Ch nh kie u no i dung HTTP(vd:Text/HTML)

    khi a p ng.

    Expires Ch nh th i gian tr c khi mo t trang lu tr tre n

    browser ke t thu c.

    Status Server tra ve gia tr cu a tra ng tha i do ng .

    Methods

    AddHeader Thie t la p te n (name) tie u e HTML ba ng gia tr

    (value).

    Clear Hu y bo vu ng e m ke t xua t HTML.

    End D ng x ly ta p tin .asp va g i tra ke t qua hie n

    ha nh.

    Redirect Ch da n browser ke t no i t i mo t URL kha c.

    Write Xua t mo t bie n t i trang hie n ha nh nh la mo t

    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,hnh 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 mo t thu tu c. S du ng phng th c

    Write cu a o i t ng Response.

    Cu pha p Response.Write variant

  • Tm hie u ve ASP

    Lu hanh no i bo

    19

    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 ca c 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 va o user a vie ng tha m trang tr c o bao nhie u la n :

    Be n ngoa i mo t thu tu c, ba n kho ng ca n pha i s du ng phng 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 trc tie p t i browser .

    V du 2: oa n script sau se co ke t xua t nh oa n script tr c : Welcome to the Overview Page. Welcome Back to the Overview Page.

    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 trnh trao o i tho ng tin gi a Client browser va Web server hoa c gi a Web

  • Tm hie u ve ASP

    Lu hanh no i bo

    20

    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 cha 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 tnh co the la :

    Te n Mo ta

    Domain Ne u ch nh, cookie ch c g i t i ye u ca u cu a vu ngs

    domain o .

    Expires Nga y cookie ke t thu c. Cookie se ke t thu c khi session ke t

    thu c.

    HasKeys Ch nh cookie ch a ca c kho a hay kho ng.

  • Tm hie u ve ASP

    Lu hanh no i bo

    21

    Path

    Ne u ch nh,cookie ch c g i ye u ca u t i ng da n

    na y.Ne u kho ng, ng da n cu a chng trnh ng dung 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 tnh (attribute) cu a no

    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 mo t tho ng ba o e n browser

    e no chuye n t i mo t URL kha c ba ng ca ch s dung phng th c Redirect.

    Cu pha p Response.Redirect URL

    Tham so

    URL

  • Tm hie u ve ASP

    Lu hanh no i bo

    22

    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--- Register Registration:

    Please enter your first name:

    Please enter your last name:


    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---

    Registration Results

  • Tm hie u ve ASP

    Lu hanh no i bo

    23

    Thank you for registering! %>

    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 Bnh 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 thc 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 phng 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 e m.Server g i ke t xua t t i client buffer c x ly .

    TRUE

    Server kho ng g i ke t xua t t i client cho e n khi ta t ca ca c oa n

    script ASP tre n trang hie n ha nh a c x ly hoa c cho e n khi

    phng th c Flush hoa c End c go i.

  • Tm hie u ve ASP

    Lu hanh no i bo

    24

    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 : oan script na y se hie n th ca c so t 1 e n 100 nhng 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.

    Buffer Example

    Co the s du ng Buffer e xa c nh ta i mo t so ie m na o o cu a 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 phng th c Redirect e ke t no i ng i s du ng v i URL kha c,

    hoa c s du ng phng 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---

    News

  • Tm hie u ve ASP

    Lu hanh no i bo

    25

    Sport

    Music


    ---jump.asp--- III.6.5 Thie t la p kie u 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    26

    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 trng.

    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 bnh th ng hn la mo t trang HTML.

    < % Response.ContentType= text/plain %>

    HTML Document This is an HTML Document

    Khi o browser se hie n th trang nha n c nh mo t trang va n ba n bnh

    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

    HTML Document This is an HTML

  • Tm hie u ve ASP

    Lu hanh no i bo

    27

    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 trang tha i 401 Not Authorized ne u ai o truy tm trang ASP trong nga y Wednesday Not Wednesday Today is not Wednesday. III.7.o i t ng Server

    o i t ng server cung ca p truy ca p t i ca c phng th c va a c tnh

    (property) tre n server.Ha u he t ca c phng th c va a c tnh (property) server

    nh la ca c ch c na ng tie n ch.

    Cu pha p Server.property|method

  • Tm hie u ve ASP

    Lu hanh no i bo

    28

    Properties

    ScriptTimeout Khoa ng th i gian ma mo t script co the cha y tr c khi he t

    th i gian (time out).

    Methods

    CreateObject Ta o mo t th c the (instance) cu a mo t o i t ng hoa c tha nh

    pha n server .

    HTMLEncode Ma ho a chuo i tha nh da ng HTML .

    MapPath A nh xa ng da n a o , ng da n tuye t o i hay tng o i

    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 mo t script co the cha y tr c khi ke t thu c no .

    Gia tr ma c nh la 90 gia y.

    Ghi chu : Ba n kho ng the thie t la p gia tr nho hn 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 hn 90 gia y ma kho ng muo n ch mo t pha n cu a 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 .

  • Tm hie u ve ASP

    Lu hanh no i bo

    29

    ScriptTimeOut Example III.7.2 CreateObject

    Phng 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 phng 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 tao .

    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.

    CreateObject Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    30

    s du ng ca c property

    Your browser has the properties:

    Cookies =

    Tables =

    Frames =

    Ghi chu :

    Ma c nh, ca c o i t ng ta o b i phng 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 tng v i pham vi la session hay application ,ba n co the s

    du ng the va thie t la p thuo c tnh SCOPE cho SESSION hoa c

    APPLICATION, hoa c la lu tr o i tng trong bie n session hoa c application .

    Ta o tha nh pha n v i Session scope (pham 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 tng tre n session hoa t o ng. Bie n session co the c s du ng ma mo t user ye u ca u. e ta o mo t o i t ng session scope, ba n co the s du ng the trong ta p tin Global.asa hoa c la s du ng phng th c Server.CreateObject tre n trang ASP . V du 1: s du ng phng th c Server.CreateObject

    V du 2: s du ng the trong ta p tin Global.asa

    Ta o tha nh pha n v i Application scope (pha m vi Application)

  • Tm hie u ve ASP

    Lu hanh no i bo

    31

    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 phng th c Server.CreateObject

    V du 2: s du ng the trong ta p tin Global.asa

    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 :

    III.7.3 HTMLEncode Phng 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 :

    HTMLEncode Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    32

    Response.Write The bold tag " Response.Write
    Response.Write Server.HTMLEncode("The bold tag ")

    %> ke t qua hie n th la :

    The bold tag

    The bold tag

    III.7.4 MapPath Phng th c MapPath a nh xa mo t ng da n tng 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 tng 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 phng th c

    MapPath tra ve mo t ng da n ne u Path la mo t ng da n a o a y u .Ne u Path

    kho ng ba t a u v i mo t slash (/ hoa c\ ), phng th c MapPath tra ve mo t ng da n

    tng o i t i th muc 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    33


    ke t qua la :

    C:\inetpub\wwwroot\script\test.asp

    Ne u kho ng ba t a u v i ky t slash (/ hoa c \) th chu ng c a nh xa tng

    o i t i th mu c hie n ha nh, trong tr ng h p na y la C:\Inetpub\Wwwroot\Script .



    ke t qua la :

    c:\inetpub\wwwroot\script\data.txt

    c:\inetpub\wwwroot\script\script\data.txt

    III.7.5 Ma ho a mo t chuo i query Phng 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:

    khi o ke t qua ma ho a la :

    The+paragraph+tag%3A+%3CP%3E

    V du 2:

  • Tm hie u ve ASP

    Lu hanh no i bo

    34

    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 dung nh ng ng du ng c ba n cu a 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 lu tr va tm la i tho ng tin ve mo t user

    session. Ca c gia tr lu 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 o ng ta o ra

    mo t o i t ng Session khi mo t trang Web trong ng du ng c ye u ca u b i mo t

    user cha 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 mo t user.

    D lie u Session th ng ga n lie n v i mo t user, no qua n ly ca c tho ng tin ve

    user ang s du ng mo t ng dung .

    Cu pha p Session.collection|property|method

    Collections

    Contents Ch a ca c mu c (item) ma ba n the m va o session v i ca c le nh

    script .

    Properties SessionID Tra ve nh danh session o i v i user.

  • Tm hie u ve ASP

    Lu hanh no i bo

    35

    Timeout Khoa ng th i gian o i v i ca c session trong ud.

    Methods

    Abandon Hu y bo mo t o i tng Session va gia i pho ng ta i nguye n cu a

    no .

    Events

    Se_OnStart Xa y ra khi ng i s du ng a u tie n ye u ca u mo t trang trong

    mo t chng trng ud

    Se_OnEnd Xa y ra khi session ke t thu c

    III.8.1.Lu tr tho ng tin Session Ne u ban ca n lu tr d lie u trong o i t ng Session th lu tr trong mo t

    collection cu a o i t ng Session. Tho ng tin lu tr trong o i t ng Session th co

    gia tr tho ng qua session va co session scope.

    V du : lu tr d lie u trong 2 bie n cu a o i t ng Session

    Session Example

    e truy tm la i tho ng tin t o i 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") Session Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    36

    Response.Write Session("age") &

    %>

    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 ba ng 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 lu tr gia tr trong o i t ng Session

    User ye u ca u mo t ta p tin asp trong mo t trnh ng dung va ta p tin

    Global.asa cu a ng du ng s du ng the e kh i ta o mo t o i 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 ma c 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. Ngoa i ra, ba n cu ng co the ke t thu c mo t session v i phng th c Abandon cu a o i t ng Session .V du :

  • Tm hie u ve ASP

    Lu hanh no i bo

    37

    III.8.2.Nha n da ng mo t Session ASP ga n mo i user session mo t nh danh duy nha t. Mo i session co mo t

    nh danh duy nha t c pha t sinh b i server khi session c ta o ra.e tm la i

    session ID, s du ng SessionID property cu a o i t ng Session.

    Cu pha p

    Session.SessionID

    V du :

    SessionID Example Your session ID is :

    III.8.3.Timeout Timeout ch nh khoa ng th i gian a ga n o i t ng Session cho ng du ng

    (tnh ba ng phu t). Ne u ng i s du ng kho ng refresh(la m ti) 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 ca ch 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.

    Timeout Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    38

    Timeout=

    Your new time out is:

    Lu y : Ban kho ng the a t la i khoa ng th i gian nho hn 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 kch kh i khi mo t

    session ba t a u va Session_OnStart c kch kh i khi mo t session ke t thu c. Ca 2

    s kie n na y pha i c nh v trong ta p tin Global.asa. No ch a toa n bo tho ng tin

    ve ng dung Web site cu a ba n. Ta p tin Global.asa co ca u tru c sau:

    Sub Session_OnEnd

    End Sub

    Sub Session_OnStart

    End Sub

    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 :

  • Tm hie u ve ASP

    Lu hanh no i bo

    39

    Ba n kho ng the s du ng ca c the HTML hoa c phng th c Response.Write be n trong ta p tin Global.asa.

    Ba n kho ng the go i phong 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 phng th c Redirect th kho ng c thc thi. V the , ba n ne n go i

    phng th c Redirect sau cu ng trong script s kie n cu a ba n.V du nh:

    Sub Session_OnStart

    ' oa n script kh i ta o Session

    Response.Redirect "http:/server/app/StartHere.asp"

    End sub

    Tuy nhie n, ba n kho ng the lu tr mo t o i t ng co sa n trong o i t ng

    Session.V du nh:

    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

  • Tm hie u ve ASP

    Lu hanh no i bo

    40

    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 mo t 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

    Contents

    Ch a ta t ca ca c mu c a c the m va o

    o i t ng Application tho ng qua ca c le nh

    script.

    Methods

    Lock Nga n ca m ca c client kha c s a o i a c tnh o i t ng

    Application .

    Unlock Cho phe p ca c client kha c s a o i a c tnh o i t ng

    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

  • Tm hie u ve ASP

    Lu hanh no i bo

    41

    kha o e n.

    III.8.5.1.S du ng phng th c Lock va Unlock e nga n ca m gia tr ca c bie n lu tr trong o i t ng Application co the b

    h khi co 2 client co ga ng truy ca p d lie u cu ng mo t lu c th chu ng ta co the s

    du ng phng th c Lock va Unlock.Khi phng th c ang Lock die n tie n th kho ng

    co ca c oa n script kha c co ga ng thay o i tho ng tin lu tr trong o i tng

    Application cho e n khi phng 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 lu tr so la n mo t trang cu the a

    c truy ca p.Phng 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 goi phng th c Unlock cho phe p nh ng

    ng i s du ng kha c truy ca p o i t ng Application.

    This application page has been visited

    times!

  • Tm hie u ve ASP

    Lu hanh no i bo

    42

    III.8.5.2.Ca c s kie n Application Gio ng nh o i tng 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

    Sub Application_OnEnd

    End Sub

    Sub Application_OnStart

    End Sub

    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 phng th c MapPath trong oa n script

    Application_OnEnd .

  • Tm hie u ve ASP

    Lu hanh no i bo

    43

    V du : hie n th tho ng tin cho mo i user cu a ng dung 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.

    Sub Application _OnStart

    Application (yourname )= Unknow

    Application (occuption )= Unknow

    End Sub

    ---Display.asp---

    hie n th tho ng tin e user truy ca p ta p tin Display.asp co the xem

    Thank you,

    You are

    ---Change.asp---

    thay o i gia tr m i va nha n Send e thay o i

    Please enter your name:
    Please choose your occupation:

  • Tm hie u ve ASP

    Lu hanh no i bo

    44

    Studen
    Teacher
    Engineer

    ---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.

    Ba n kho ng the lu tr mo t o i t ng co sa n trong o i t ng Application. V du

    nh:

  • Tm hie u ve ASP

    Lu hanh no i bo

    45

    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 hp tha nh ca c go i nho a c trng

    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 tnh na y.

    Ba n co the ta o o ng, tng 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 lu tr trong file tre n server.

    o i t ng FileSystemObject cung ca p thao ta c ca c ta p tin va n ba n t be n trong oa n ma cu a chu ng ta. Chu ng ta co the tao mo t thc 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 phng th c cu a FileSystemObject

  • Tm hie u ve ASP

    Lu hanh no i bo

    46

    VI.1.1Phng th c CreateTextFile Phng th c CreateTextFile ta o mo t file va n ba n m i hoa c vie t e le n mo t

    file a to n ta i. Phng th c na y tra ve mo t o i tng 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 : tao mo t file m i va ghi d lie u va o file.txt

    VI.1.2.Phng th c OpenTextFile: Phng th c OpenTextFile m mo t file va n ba n a to n ta i. Phng th c na y

    tra ve mo t o i t ng TextStream ma chu ng 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 tng TextStream.

  • Tm hie u ve ASP

    Lu hanh no i bo

    47

    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 du1 : o c mo t file s dung phng th c ReadLine

    ReadingFile.asp

    V du 2 : the m d lie u va o file.txt

  • Tm hie u ve ASP

    Lu hanh no i bo

    48

    ReadingFile.asp

    VI.2..o i t ng TextStream

    S du ng ca c phng th c va property cu a o i t ng TextStream e o c hay

    ghi d lie u va o file.

    Phng 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    49

    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

    V du 2 : s du ng FileSystemObject e o c file

    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 hnh 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    50

    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 kch th c ng vie n cu a qua ng ca o banner.

    Clickable Cho bie t qua ng ca o banner co ch c na ng la mo t sie u lie n ke t.

    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 phng

    th c CreateObject cu a o i tng Server.

    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 ca c qua ng ca o c hie n th .

    Adrotator Example

    objAd.Border(0) kho ng co ng vie n

    objAd.Clickable(TRUE) la mo t sie u lie n ke t

    objAd.TargetFrame(MyFrame) na p va o frame te n MyFrame

  • Tm hie u ve ASP

    Lu hanh no i bo

    51

    strHTML=objAd.GetAdvertisement(AdFiles\MyAdFile.txt)

    Response.Write(strHTML) a HTML va o trong trang

    %>

    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 ca c 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

    Browser Example

    Browser

    Version

  • Tm hie u ve ASP

    Lu hanh no i bo

    52

    Frames

    TRUE

    FALSE

    Tables

    TRUE

    FALSE

    BackgroundSounds

    TRUE

    FALSE

    VBScript

    TRUE

    FALSE

    JScript

    TRUE

    FALSE

  • Tm hie u ve ASP

    Lu hanh no i bo

    53

    VI.5.Tha nh pha n Content Linking Ta o no i dung cu a trang va lie n 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 ke t 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 te n cu a o i t ng c ta o b i phng th c

    Server.CreateObject .

    Ca c phng 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 :

  • Tm hie u ve ASP

    Lu hanh no i bo

    54

    If ( intThisPage < objNextLink. GetListCount(strListFile) Then %>

    Onclick=location.href=; ">

    Tha nh pha n Database Access

  • Tm hie u ve ASP

    Lu hanh no i bo

    55

    Ta co the ta o nh ng trang Web o ng ta c o ng la n nhau ba ng ca ch s dung ca c

    tha nh pha n Server sau trong Script

    Mo t ng du ng Web Database vie t ba ng ca ch s dung 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 chnh

    la mo t ie m 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 ca c kie u Database, cu ng nh vie c truy xua t, ca p nha t ca c Database na y.

    Hie n nay th vie n ADO la mo t co ng cu ma nh nha t trong vie c pha t trie n ca c

    ng 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 phng 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

    servertuy nhie n ca c 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 chnh trong ADO o la : Connection, Commmand va RecordSet.

    Ngoa i ba o i t ng chnh na y co n co ca c o i t ng con cu a no cu ng v i ca c tham

    so , property, phng 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    56

    hie n ca c query tre n database se c lu 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 tng 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 , a y 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:

    hoa c thie t la p ta m v c cho Connection m c Sesstion nh sau :

    < %

  • Tm hie u ve ASP

    Lu hanh no i bo

    57

    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 dung 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 phng pha p cho ca c ng dung Database

    tre n Web la ta o mo t s lie n ke t lie n tu c v i c s d lie u cu a t ng ng i s du ng

    va lu tr trong o i t ng Session.

    Tuy nhie n phng 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 lu tho ng d lie u tha p (low-trafic)

    Phng pha p tie n l i trong vie c qua n ly ca c ke t no i 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 no i 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 .

  • Tm hie u ve ASP

    Lu hanh no i bo

    58

    Connection Pooling c kch 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 phng th c va a c tnh (property) cu a o i t ng Connection

    Phng th c Mo ta

    Open M mo t ke t no i m i t i d lie u 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 lu

    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 tao 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 tao 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    59

    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 la p mo t ke t no i.

    V du : m mo t DSN co te n la student,user="student" va password ="magic"

    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 phng 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 ke t 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 tuc, s du ng phng th c Execute cho phe p th c thi mo t ca u le nh ta c o ng

  • Tm hie u ve ASP

    Lu hanh no i bo

    60

    le n Data Source. Phng th c na y co 2 dang : Mo t da ng c s du ng khi tm kie m

    ke t qua t mo t database va dang 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 o ng e n.

    Options : Co ca c gia tr kha c nhau tng ng v i mo i loa i CommandText.

    Gia tr Ha ng tng ng Mo ta CommandText

    0 AdCmdUnknown Unknown. Gia tr na y la ma c nh khi nh

    ngh a.

    1 AdCmdText CommandText la mo t ca u le nh nh ca u

    le nh SQL.

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

    3 AdCmdStoredProc Mo t thu tuc tr sa n (stored procedure)

    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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    61

    V du 1 : s du ng phng th c Execute e th c thi mo t ca u le nh SQL ma

    kho ng tm kie m la i ba t ky ke t qua na o.

    V du 2 : s du ng phng th c Execute e tra ke t qua t mo t ca u truy va n

    SQL

  • Tm hie u ve ASP

    Lu hanh no i bo

    62

    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 tng Command.

    Thay v pha i s du ng phng th c Execute cu a o i t ng Connection e

    th c thi mo t thu tu c lu 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 phng th c Execute cu a o i t ng Connection hoa c la t i phng th c Open cu a o i tng Recordset. Tuy nhie n, o i t ng Command ca n c s du ng khi ban muo n va n gi la i le nh va thc thi la i no , hoa c s du ng ca c tham so truy va n.

    Vie c tao mo t thc 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 phng 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 tnh

    va phng th c i ke m theo no .

  • Tm hie u ve ASP

    Lu hanh no i bo

    63

    Phng 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 lu

    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 tnh 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 na y ne u muo n s du ng o i t ng

    Command ta pha i ga n te n cu a Connection thch hp (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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    64

    Cu pha p name.ActiveConnection = Connection_name

    V du :

  • Tm hie u ve ASP

    Lu hanh no i bo

    65

    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 thc 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 dung 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 ca c

    tham so na y va o Parameter collection tr c khi th c hie n ca u le nh. o i v i phng

    th c Execute cu a o i t ng Connection kho ng co kha na ng na y.

    S du ng phng 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    66

    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 da y ca c gia tr tham so c a va o v i mo t ca u le nh SQL.

    e tm hie u ca ch tao ra danh sa ch ca c tham so cu a ca u le nh, ta ha y xem xe t

    ca c phng th c va property cu a Parameter collection.

    Phng 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 a nh 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 tnh (property) rie ng cu a mnh.

    Property Mo ta

    Attributes Kie u d lie u ma tham so cha p nha n.

  • Tm hie u ve ASP

    Lu hanh no i bo

    67

    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 lu

    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 Kch th c l n nha t, tnh theo byte,

    cu a gia tr tham so .

    Type Kie u d lie u cu a tham so .

    Value Gia tr ga n cho tham so .

    e ta o mo t o i t ng Parameter m i, s du ng phng 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 va o 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 phng 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

  • Tm hie u ve ASP

    Lu hanh no i bo

    68

    V du :

  • Tm hie u ve ASP

    Lu hanh no i bo

    69

    %>

    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 dung ch muc (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)

    tng t

    objCmd.Parameters.Item(1)

    hoa c objCmd.Parameters(1)

    hoa c objCmd.Parameters.Item(128)

    hoa c la objCmd.Parameters(128)

  • Tm hie u ve ASP

    Lu hanh no i bo

    70

    o c va hu y bo ca c tham so

    Chu ng ta co the s du ng vo ng la p ForEach 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 phng th c Response.Write

    V du :

    e hu y bo mo t tham so trong Parameter collection, s du ng phng 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 tng Recordset.

    Ba ng ca ch s du ng ca c o i tng Connection va Command ta co the thc 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    71

    S du ng Recordset e hie n th ca c record

    Mo t Recordset co the c s du ng e t ng trng 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 dung phng 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 lu ke t qua tra ve mo i khi th c thi phng 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 :

  • Tm hie u ve ASP

    Lu hanh no i bo

    72

    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 tho ng

    tin ve mo i tr ng (field) trong record hie n ha nh. S du ng Fields collection e la y

    mo i record trong Recordset.

    Phng th c Mo ta

    Refresh Ca p nha t collection e pha n a nh 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 cu a 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    73

    V du : hie n th ta t ca ca c ha ng va co t trong mo t ba ng

    Dislay Database Example

    hie n th te n cu a ca c field

  • Tm hie u ve ASP

    Lu hanh no i bo

    74

    hie n th ta t ca ca c field trong Recordset

  • Tm hie u ve ASP

    Lu hanh no i bo

    75

    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 na y, a u tie n ba n ta o mo t th c the (instance) cu a o i t ng

    Recordset, sau o s du ng phng 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 tng Command, ca u le nh SQL, te n ba ng hoa c thu tuc lu 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 na y 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.

  • Tm hie u ve ASP

    Lu hanh no i bo

    76

    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 o i (the m va o, 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 dung 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 phng 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 :

    Cursor and Locking Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    77

    S a o i ca c record trong Recordset

    Ba n co the s du ng mo t so phng th c cu a Recordset e s a o i ca c record

    trong mo t Recordset.

    Phng th c Mo ta

    AddNew The m mo t record m i va o Recordset.

  • Tm hie u ve ASP

    Lu hanh no i bo

    78

    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 Lu ca c thay o i tre n record hie n ha nh.

    V du : s du ng phng th c AddNew e the m mo t record va o Recordset

    AddNew Database Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    79

    objRs.Update

    objRs.close

    set objRs=nothing

    objConn.close

    set objConn=nothing

    %>

    Duye t ca c record tre n Recordset.

    o i t ng Recordset bao go m mo t so phng 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 pha 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 .

  • Tm hie u ve ASP

    Lu hanh no i bo

    80

    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 phng th c duye t nh : MoveFirst, MoveLast , MoveNext ,

    MovePrevious se la y c no i dung cu a record a u tie n, cuo i cu ng, ke tie p hay

    record pha tr c.

    Khi s dung ca c phng 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 phng

    th c MoveNext th se ga y ra lo i. e tra nh 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 cuo i 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 phng th c MoveNext e duye t ca c record

    trong Recordset.

    AddNew Database Example

  • Tm hie u ve ASP

    Lu hanh no i bo

    81

    Set objConn = Server.CreateObject(ADODB.Connection)

    Set objRs = Server.CreateObject(ADODB.Recordset)

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

    MySql=(Select Name From MyTable)

    objRs.Open Mysql, objConn, adOpenDynamic, adCmdText

    objRs.MoveLast

    Do While Not objRs.BOF

    Response.Write
    & objRs(Name)

    objRs.MovePrevious

    Loop

    objRs.Close

    set objRs=Nothing

    objConn.Close

    set objConn=Nothing

    %>

    Lu y :

    BOF va EOF co ca c ie m sau:

  • Tm hie u ve ASP

    Lu hanh no i bo

    82

    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 tnh 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 xo a,

    thuo c tnh va n gi FALSE cho t i khi ban 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 a u tie n la record hie n ha nh va ca BOF va EOF la FALSE.

    ,