Tìm hiểu về asp
-
Upload
nguyen-phu-tien -
Category
Education
-
view
165 -
download
7
description
Transcript of Tìm hiểu về asp
-
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.
,