Bai giang ASP 3.0 Vietnamese
Document Sample


1 å
Tìm hie u veà ASP
ø
I.Active Server Pages (ASP) la gì ?
ø ä â
Microsoft Active Server Pages (ASP) la mo t mo i tröô ng kò ch ba n döï a tre n ø û â
ù ë â
server (server-side scripting) cho phe p taïo hoa c xay döï ng ca c ö ng duï ng Web ù ù
ù ù û
maï nh chö a ca c the HTML, va n ba n va ca c le nh script hay ca c ö ng duï ng Web
ê û ø ù ä ù ù
ä á õ ø
ño ng , giao tie p giö a Client va server mo t ca ch hie u qua . Ca c trang ASP co
ä ù ä û ù ù
å ù ø à å
the goï i ca c tha nh pha n ActiveX ñe thöï c hie n ca c co ng vie c nhö ke t no i vô i
ä ù â ä á á ù
ù ä ë
vô i mo t database hoa c thöï c hie n mo t tính toa n kinh doanh. Vô i ASP, baï n co
ä ä ù ù ù
å ä ù ù ù
the ñöa no i dung töông ta c vô i ca c trang Web cu a baï n hoa c xa y döï ng toa n bo
û ë â ø ä
ù ù û ù
ca c ö ng duï ng Web sö duï ng ca c trang HTML nhö giao tie p vô i kha ch ha ng á ù ù ø
û
cu a baï n.
Trang ASP:
ã ù å
Mo i trang .asp co the bao go m mo t trong ca c tha nh pha n sau: HTML, Scrip
à ä ù ø à
û â õ ë ù ù ø
cu a ngo n ngö VB Scrip hoa c Jscrip, Text trong ño ca c tag HTML va Text se õ
û ø á
ñöôï c xö lyù bình thöô ng nhö ño i vô i ca c va n ba n HTML (.html) tho ng thöô ng,
ù ù ê û â ø
ù õ ä ä
ca c script se ñöôï c mo t bo phan (engine) cu a ASP tho ng dò ch va thi ha nh tre n
ä û â ø ø â
å ä ù å
server .Coù the xem trang ASP nhö mo t trang HTML co bo sung ca c ASP ù
Script Command
ä û
Hoaï t ño ng cu a trang ASP:
â ø ä ä ù ù õ û
Sau khi mo i tröô ng ASP thöï c hie n vie c thöï c thi ca c file .asp xong no se tra
á û û á õ ä
laï i ke t qua ô daï ng HTML cho Web Server, tie p theo Browser se nhan ñöôï c
ä à ø ø â ù
no i dung ca n trình ba y tö Web Server tho ng qua giao thö c HTTP. Mo t trang ä
õ õ û ù ø ø ù õ
ASP cu ng se ñöôï c Brower tham kha o tô i bình thöô ng nhö la no ña tham
û ù ä û
kha o tô i mo t trang HTML cu a Web.
XXXXX XXXXX
XXXXX XXXXX
YYYYY ZZZZZZ
YYYYY ZZZZZZ
Browser
Web Server
X:HTML
Y:ASP script
Z:ASP Script result(HTML)
û â ø
Trang Asp khi ô tre n Web Server va khi ñöôï c ñöa ra Browser
ä
Löu haønh no i boä
2 å
Tìm hie u veà ASP
à ä ù â
Sô ño mot ö ng duï ng tre n Web ASP:
ø á ä ø û ø ù
Web Server : la nôi tie p nha n va tra lô i ca c ye u ca u cu a Web user, ño ng thô i â à û à ø
õ ä ä á
cu ng thöï c hie n vie c ke t no i ñe n he DBMS tre n Database Server theo ye u
á á ä â â
à ä õ
ca u truy ca p dö kieu cu a trang ASP. ADO cung ca p giao die n la p trình cho
ä û á ä ä
ø ù ã â
ngöô i phat trie n xay döï ng ca c le nh truy ca p CSDL, ca c le nh na y ñöôï c
ù ä ä ù ä ø
å á ä
chuye n ñe n cho he DBMS ñe thöï c thi tho ng qua ca c tha nh pha n OLE DB
å â ù ø à
ø á û
(va ODBC). Ke t qua truy vaá n dö lie u se ñöôï c Web Server ñöa ra hie n thòõ ä õ å
â
tre n Browser.
ã ä
Database Server: nôi die n ra vie c thöï c thi ca c thao ta c CSDL nhö truy va n, ù ù á
ä ä õ ø
ca p nha t cu ng nhö ba o ña m tính toa n veïn dö lie u cu a he DBMS.
û ø õ ä û ä
ä ù ø ø á
Browser: giao die n vô i ngöô i du ng, tie p nha n ca c ye u ca u cu a ngöô i sö duï ng ä ù â à û ø û
õ å
cu ng nhö hie n thò ke t qua yeu ca u.á û â à
Web Browser ASP ADO OLEDB ODBC
Web Server
DMS
(SQL
server)
Database Server
À Ä Ù Â
SÔ ÑO MO T Ö NG DUÏ NG TRE N WEB
ä ø ë å û
Mo t va i ña c ñie m cu a ASP:
ä ø ù ø
- Vie c che n ca c Scrip va o file HTML la m cho qua trình xö ly taï o ra va n ba n
ø ù û ù ê û
à ø ù
HTML ( Dynamic Pages ) ño ng thô i vô i vie c xö ly ca c Script , ñie u ba y se
ä û ù ù à ø õ
ä
Löu haønh no i boä
3 å
Tìm hie u veà ASP
ø ä û õ û â ä
la m cho hoaï t ño ng cu a trang Web se trô ne n linh ño ng hôn , uye n chuye n å å
hôn.
ù õ ù ø ä
- Ca c file .asp cu ng töông thích vô i file HTML, va vie c vie t ca c scrip ñôn á ù
û û â â
gia n , khoâ ng pha i bie n dò ch hay lie n ke t nhö vie c la p trình tho ng thöô ng,
á ä ä â ø
á ù á ä à ù
ASP cung ca p ca c ño i töôï ng tie n lôï i cho nhie u thao ta c nhö: Request ,
ù á ù ü
Response , Server , Apllication , Session. Ca c ño i töôï ng co sa n na y cu a mo i ø û â
ø õ ù
tröô ng ASP se giu p cho vie c giao tie p dö lie u giö a Client va Server thöï c söï
ä á õ ä õ ø
ä õ ä û
tie n lôï i, cu ng nhö vie c qua n ly ö ng duïng mo t cach linh hoaï t nhô vao ca c
ù ù ä ù ø ø ù
á
bie n Session, Application.
ù ø à ù ù
II Ca c tha nh pha n & cu pha p ASP :
à ù ø à
ASP bao go m ca c tha nh pha n sau :
ù ä â
1. Ca c bo dò ch ngo n ngö VBScript va Jscript . õ ø
ä ù á
2 .Thö vie n ca c ñoi töôï ng, chuye n dung ñe truy xua t Database tho ng qua
â ø å á â
ODBC Driver (Active Server Data Object – ADO).Thö vie n ca c ño i töôï ng ho ä ù á ã
ä á ù
trôï cho vie c vie t cac trang ASP .
ä á ø ä ê
Mo t file ASP thöï c cha t la mo t va n ban, no co the bao go m ca c thanh pha n û ù ù å à ù ø à
sau:
ê
+Va n Ba n (Text) û
ù
+ Ca c HTML tag
ù ã ø õ
+ Ca c Script . Mo i Script na y se thöï c hie n mo t co ng vie c na o ño , gio ng ä ä â ä ø ù á
ù ù å û ä
nhö ca c pha t bie u cu a mo t ngo n ngö lap trình. Mo t Script la mo t chuo i
â õ ä ä ø ä ã
ù ä
ca c le nh script, no co the la : ù ù å ø
ä ù ù
1. Mo t phe p ga n gia trò cho mo t bie n ù ä á
ä â à
2. Mo t ye u ca u Web server gö i tho ng tin ñe n Brower . û â á
å ù ä â õ
3. To hôï p ca c le nh rie ng re tha nh mo t thu tuï c hay mo t ha m gio ng
ø ä û ä ø á
ù â
nhö trong ca c ngo n ngö la p trình. õ ä
ä ø ä
Vie c thi ha nh mo t script la qua trình gö i chuo i ca c le nh tô i Scripting Engine,
ø ù û ã ù ä ù
â õ â ù ä
taï i ña y ASP se tho ng dò ch ca c le nh na y va chuye n tie p cho ma y tính. Script ñöôïc
ø ø å á ù
á è ä â õ ù ù
vie t ba ng mo t ngo n ngö vô i cac lua t ñöôïc ña t ta nao ño , ne u ta muo n sö duï ng mo t
ä ë û ø ù á á û ä
ø â û â õ ù
script language na o thì tre n server pha i chaï y Script Engine cho ngo n ngö ño . Trong
á ø ø ù ø ë
ASP cung ca p hai Script Engine la VBScript va Jscript ( vô i VBSCRIPT la ma c
â â â û ø
nhie n). Tuy nhie n ASP kho ng pha i la ngo n ngö Script , ma no ch cung ca p mo t
â õ ø ù æ á ä
ä
Löu haønh no i boä
4 å
Tìm hie u veà ASP
â ø å û ù ù ø
mo i tröô ng ñe xö ly ca c Script ma ta che n va o trong ca c file .asp , vie c che n na y
ø ø ù ä ø ø
û â ä ù ù á û
pha i tua n theo mo t cu pha p nha t ñò nh cu a ASP.
ù ù
Cu pha p
á ù
1.Da u ngaê n ca ch (Delimiter):
ê û û ù á
Trong va n ba n ASP ta sö duï ng ca c da u <% va %> ñe nga n cach pha n va n ba n
ø å ê ù à ê û
ù à å ø á ù ä
HTML vô i pha n Script , hay cuï the la ba t cö mo t pha t bie u Script na o cu ng ñe u
ù å ø õ à
û è õ ê ù ø
pha i na m giö a hai nga n ca ch <% va %>
Ví duï :
ø ä ä ä ù ã ø
<% say = "Hello" %> la mo t script thöï c hie n vie c ga n chuo i Hello va o
á
bie n say
å ù
♦ Bie u thö c ñôn :
à ø â á
Baï n ca n ñöa va o(include) be n trong da u nga n cach ASP nhie u bie u thö c cho
ê ù à å ù
â õ à â ù
ngo n ngö scripting ña u tie n. Ví duï , vô i do ng sau la ke t qua cuo i cu ng cu a va n ban
ø ø á û á ø û ê û
ù ø ä ø û
vô i thô i gian hie n hanh cu a server :
This page was last refeshed at<% =now %>
ø ø û à ù û ø
Trong tröô ng hôï p na y , Web server tra ve gia trò now cu a ham VBScript töø
ù
browser vô i text .
â ä
2.Ca u le nh (Statement):
ä â ä â õ ù ø ä á
Mo t ca u le nh trong VBScript hay trong ngo n ngö script kha c la mo t ca u
ù ø å ä ä
tru c du ng ñe thöï c hie n mo t thao ta c, ca u le nh pha i ñöôï c khai ba o hoa c ñò nh
ù â ä û ù ë
â õ ù â õ á
nghó a trong ngo n ngö scripting. Ca c ngo n ngö script trong ASP cung ca p cho ta
à á ù á ù à å ø
ha u he t cac ca u tru c ñie u khie n : IF…ELSE, For, While, DO WHILE… cu ng
ä
Löu haønh no i boä
5 å
Tìm hie u veà ASP
ù õ å õ ä û û
vô i nhö ng kie u dö lie u cô ba n nhö integer , char, string, Array …sau sö duï ng
û â ä û
Ví duï : sö duï ng ca u le nh If cu a VBScript
<% if Time >=#12:00:00 AM# And Time < #12 :00:00 PM# then
greeting ="Good Morning!";
else
greeting ="Hello!";
end if
%>
ø õ û ù
do ng sau se gô i gia trò trong Green tôí Client browser
<FONT COLOR= "Green">
<%=greeting%>
</FONT>
3.SCRIPT tag:
ù ù å å ù
Ca c pha t bie u , bie u thö c , le nh, hay thu tuï c ma baï n sö duï ng be n trong hai da u
ä û ø û â á
ê ù ø û
nga n ca ch <% va %> pha i ñöôï c nhìn nha n bô i ngoâ n ngö Script ma c ñò nh hoa c ngo n
ä û õ ë ë â
õ ù û à â õ ë û
ngö Script ñöôï c khai ba o ô ña u trang ASP. Ngo n ngö scripting ma c ñò nh cu a ASP
ø â ù ã
la VBScript , tuy nhie n vô i ASP ta va n co the sö duï ng ca c ngo n ngö laä p trình kha c
ù å û ù â õ ù
â è ù û û ø
be n trong ba ng ca ch sö duï ng the <SCRIPT> va </SCRIPT>
Ví du:
<SCRIPT LANGUAGE="JSCRIPT">
<!-- hide Script from old browsers
for(i=0;i<10;i++ )
ä
Löu haønh no i boä
6 å
Tìm hie u veà ASP
docoment.write("for loop"+ i+"<br>")
docoment.write("second line of for loop"+ i+"<br>")
//end script hiding-->
</SRIPT>
</BODY>
</HTML>
û ù ø
trong file ASP sau xö ly JScript trong ha m MyFunction
<HTML >
<BODY>
<%Call MyFunction %>
</BODY>
</HTML>
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
function MyFunction ()
{
Response.Write("MyFunction Called")
}
</SCRIPT>
ù ù
Chu y : ben trong tag <SCRIPT></SCRIPT> pha i la ca c thu tuï c,kho ng co mo t
â û ø ù û â ù ä
å ù á ù
bie u thö c xua t hay pha t bie u na o na m beâ n ngoa i cac thu tuï c.
å ø è ø ù û
4.Include file:
ä ù à à á ø ä ù
Khi taï o mo t ö ng duïng Web, bao go m nhie u trang ASP, ne u nhö to an bo ca c
à à û õ â
trang ñe u ca n sö duïng nhö ngtho ng tin chung na o ño cha ng haï n nhö ca c ha ng,gia trò
ø ù ú ù è ù
å ù ä ù
…ñe tra nh laï i vie c ñò nh nghó a laï i ca c gia trò na y ta co the sö duï ng cô che include
ù ø ù å û á
ä
Löu haønh no i boä
7 å
Tìm hie u veà ASP
û á â õ ä å å ä
file cu a ASP (gio ng nhö trong ngo n ngö la p trình coå ñie n).Ñe include mo t file trong
û ù ù
trang ASP ta sö duï ng cu pha p sau:
<!--#include Virtual/File="filename" -- >
Ví duï : <!--#include Virtual="whatever.asp"-- >
û å ë
Baï n pha i ñò nh nghó a kie u Virtual hoa c file
ù û ù à û ä ë
Trong ño qui ñò nh file ñöôï c include pha i co pha n mô ro ng laø .inc hoa c .asp ,
à à û ø ã ø â
pha n filename bao go m ca ñöông da n va te n file.
û ø ù
sö duï ng tö kho a virtual:
á ø å æ è
Tham so Virtual du ng ñe ch ñò nh ra ng ñöô ng da n ñöôï c ba t ña u vô i mo t thö
ø ã é à ù ä
û
muï c a o(Virtual Directory)
Vd: <!--# include virtual = " /whatever.asp" -- >
õ á ø
Se include ba t ky taä p na o tre n site cu a baï n(whatever la na m tre n thö muï c
ø â û ø è â
á û û á
go c cu a web server) nhöng baïn pha i cung ca p te n ta p tin vô i 1 ñöô ng da n
â ä ù ø ã
û ø ù
sö duï ng tö kho a file
á ø å æ
Tham so file du ng ñe ch ñò nh ñöô ng da n Relative,ñöôï c ba t ña u vô i ten thö
ø ã é à ù â
ù à ú á ù ø
muï c chö a file ca n include.Cha ng haï n ne u baï n co 1 file trong thö muï c myapp va
ø õ ø ø
file header1.inc trong myapp/header , do ng sau se che n header1.inc va o trong file
û
cu a baï n .
<!--#include file ="header/header1.inc"-->
ù ù è ø ã å ù â
Chu y ra ng ñöô ng da n ñe include file headers / header1.inc thì co lien quan
á ä á ä
ñe n vie c include file , ne u noi dung cu a script na y co cu phap include la thö muï c
û ø ù ù ù ø
ù ù õ â ä
/myapp, cu pha p se kho ng hoaït ño ng .
ù ä á â å û
ASP includes files tröô c khi thöï c thi le nh script.Vì the , baï n kho ng the sö duï ng
ä ä å â û ú â
mo t le nh script ñe xaâ y döï ng te n cu a 1 file include.cha ng haï n script sau kho ng theå
ä
Löu haønh no i boä
8 å
Tìm hie u veà ASP
û û á
mô file Header1.inc bô i vì ASP chie m ñe thöï c thi ch thò include tröô c khi ga n mo t
å æ ù ù ä
â ù
te n file cho gia trò name
<!-- This script will fail -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->
ä ø û û ø
Le nh script va thu tuïc pha i hoa n toa n bao ha m da u nga n ca ch<% va %> trong
ø ø á ê ù ø
ø ë
script,tag HTML <SCRIPT> va </SCRIPT> hoa c tag HTML
ø
<OBJECT>va </OBJECT>.
û
sö duï ng server script:
å å ë ø û å û ù ê
Ñe bo sung 1 client Script,ma c du ASP sö duï ng Script server site ñe xö ly va n
û ù å û ä
ba n,baï n co the mô ro ng ba ng ca ch sö duï ng no ñeå pha t sinh ra client side script
è ù û ù ù
û ù û ø à ø è ù á
sau ñöôï c xö ly bô i client browser.ASP la m ñie u na y ba ng ca ch ke t hôï p client_side
à õ ù û ø à û á
script bao go m nhö ng chu thích HTML cu a server _side script va bao go m ca dau
ê ù
nga n ca ch:
<SCRIPT LANGUAGE="VBScript">
<!--
client script
<% server script %>
client script
<% server script %>
client script
...
-->
</SCRIPT>
ä
Löu haønh no i boä
9 å
Tìm hie u veà ASP
ù ù ê
Vô i chö c na ng trong scripts cu a baï n, baïn co the taïo ra 1 ö ng duï ng thu vò .
û ù å ù ù
ú û ä å á ã ø
Cha ng haïn script sau sö duï ng mo t database ñe cung ca p mau tin script client nhö la
á û ä û
ke t qua haø nh ño ng cu a user.
õ ä ø ø ù ã
Trong Script sau ASP tìm dö lie u tö Database va pha t ra mo i chöông trình con
ã ø õ ä
cho mo i do ng dö lieu. Chöông trình con ño ñie u khie n ca i gì xa y ra khi 1 user
ù à å ù û
ø â á å
click va o lie n ke t trong trang hie n thò trong client browser
ù ù
Chu y :
ø õ â ù ø
Trong script na y se kho ng co ha m cu a chính ba n tha n no .No cho tha y ô ña y
û û â ù ù á û â
æ ù ê û
ch minh hoï a chö c na ng cu a ASP ne u sö duï ng trang lie n ke t vô i Database,server-
á û â á ù
ø
side scripting va client-side scripting.
ù
Löu y :
ä ù å â ä ø ë á
• Vie c include file co the ga y neâ n mo t vo ng la p ne u file ñöôï c
ä ù à
include laï i goï i include mo t file kha c ,hay file ban ña u.
õ ù û ù ù â â
• Vì Asp se include file tröô c khi xö ly ca c Script cho ne n ta kho ng
å û ä ä ø ä
the sö duï ng mo t le nh ma le nh na y laï i taïo ra mo t lô i goï i include, hoa c sö
ø ä ø ë û
ø
duï ng include nhö sau la sai:
<% name =(header1&".inc")%>
ù
<!--#include file ="<%=name >"-- >
õ â å û á ä ø ù
• Ta cu ng kho ng the mô da u <% trong mo t file include va ñong %>
ä ù ø
trong mo t file include kha c.ví duï sau la sai:
<!-- This script will fail -->
<%For i = 1 To n
statements in main file
<!--#include file="header1.inc" -->
ä
Löu haønh no i boä
10 å
Tìm hie u veà ASP
Next
%>
õ ä
Script sau se hoaï t ñong ñöôï c:
<!-- This script would work-->
<%
For i = 1 to n
statements in main file
%>
<!--#include file="header1.inc" -->
<% Next %>
Ù Á Û Û
III.CA C ÑO I TÖÔÏ NG CÔ BA N CU A ASP:
á ø ä ù á
ASP cung ca p cho ngöô i la p trình ca c ñoi töôï ng co sa n, mo i ño i töôï ng na y se
ù ü ã á ø õ
ä ä ù ê
thöï c hie n mo t chö c na ng rie ng na o ño , ca c ño i töôï ng co san(built-in oject) bao
â ø ù ù á ù ü
à
go m:
â á
Te n ño i töôï ng ù ê
Chö c na ng
Request á â ø ä
La y tho ng tin tö mo t user
Respone û â ù ä
Gö i tho ng tin tô i mo t user
Server à å â ø ä û
Ñie u khie n mo i tröô ng hoaï t ñong cu a ASP
Session õ â à ä û
Löu giö tho ng tin ve mo t session cu a user
Application û â õ ù ø ä ù
Chia se tho ng tin giö a ca c user trong cu ng mo t ö ng
duï ng.
á
III.1.Ño i töôï ng Request
ù á ù ù ù å ã ø á â
Vô i ño i töôï ng Request ,ca c öng duï ng ASP co the de da ng la y ñöôï c tho ng tin
û ù ø
gö i tô i tö user
ä
Löu haønh no i boä
11 å
Tìm hie u veà ASP
á ù á ù
Ño i töôï ng Request cho phe p truy xua t chi tô i ba t ky tho ng tin na o user gö i tô i
á ø â ø û ù
è ù
ba ng giao thö c HTTP nhö:
ù â å è ù á
1. Ca c tho ng tin chua n na m trong ca c bie n Server (Variable Server)
ù á û ù è ù
2. Ca c tham so ñöôï c gö i tô i bang phöông thö c POST
ù â û ù è ù
3 .Ca c tho ng tin ñöôïc gö i tô i ba ng phöông thö c GET
ù ø â û û ø ù ø
4. Ca c cookies( la tho ng tin cu a user ñöôïc gö i ke m theo) tô i tö Browser
ù
5. Ca c Client Certificates
á á ù ù ø ø
Ño i töôï ng Request tìm kie m ca c gia trò ma client browser ñöa va o server
ù ä â à
trong khi co mo t ye u ca u HTTP
ù ù
Cu pha p:
Request.collection|property|method
Collections
Cookies ù û ù û â à
Gia trò cua ca c cookie gô i trong ye u ca u HTTP
Form ù ù à
Gia trò ca c pha n tö form trong tha n cu a ye u ca u HTTP
û â û â à
QueryString ù û ù á ã á
Gia trò cua ca c bie n trong trong chuo i truy va n HTTP
ù û ù
Gia trò cua ca c bie n mo i tröô ng ña ñöôï c xa c ñò nh
á â ø õ ù
ServerVariables
ù
tröô c
Properties
TotalBytes å á
To ng so byte client ñang gô i trong tha n cu a ye u ca u
û â û â à
ù á á ø
Ca c tham so bie n la chuo i ky töï ch ro muï c (item) ñöôï c tìm kie m tö mot
ã ù æ õ á ø ä
ë û ø ø á ä ù
collection hoa c ñöôï c sö duï ng nhö la muï c va o ño i vôù i mo t phöông thö c (method)
ë ä
hoa c mo t property
ù
Ghi chu :
á û ù á ù å
Ta t ca ca c bie n co the ñöôï c truy ca p mo t ca ch tröï c tie p ba ng ca ch goï i cu
ä ä ù á è ù ù
ù ø â à â ø ø
pha p Request(variable) ma kho ng ca n te n collection.Trong tröô ng hôï p na y,
á ù ù
Web server tìm kie m ca c collection theo thö töï sau:
ä
Löu haønh no i boä
12 å
Tìm hie u veà ASP
1. QueryString
2. Form
3. Cookies
4. ClientCertificate
5. ServerVariables
ø ä ù ù
1 . La m vie c vô i ca c HTML FORM
û á ù å ø û ù â ù
Sö duï ng ño i töôï ng Request ,baïn co the taïo va xö ly tho ng tin vô i HTML
ø ù ù â ø å â õ
FORM., HTLM FORM la ca ch thö c tho ng thöô ng ñeå trao ño i tho ng tin giö a
ø ù á
Web server va user, no cung ca p nhie u ca ch nha p tho ng tin cu a user : Text
à ù ä â û
ù ù ù ø
boxes, Buttons, Check boxes cho phe p user töông ta c vô i trang Web va
â ù ä
Submit tho ng tin tô i mo t Web Server.
ä å ù å ä ø
Ví duï : Taïo mo t FORM ñe user co the nha p va o hoï te n,tuo i va ñöa va o mo t nut ñe
â å ø ø ä ù å
â ù õ
submit tho ng tin tô i Web server. FORM cu ng chö a mo t ñieu khie n hidden ñe ñöa
ù ä à å å
â â ù
the m tho ng tin tô i Web server.
<FORM METHOD="POST" ACTION="myfile.asp">
<INPUT TYPE="text" NAME="firstname">
<INPUT TYPE="text" NAME="lastname">
<INPUT TYPE="text" NAME="age">
<INPUT TYPE="hidden" NAME="userstatus" VALUE= "new">
<INPUT TYPE="submit" VALUE="Enter">
</FORM>
û ù ä ø ù
III.2Xö ly FORM nha p va o vô i ASP
ä â ù û â
Khi mo t FORM submit tho ng tin tô i Web server,Web browser cu a user ye u
à æ ä û û
ca u file.asp ch ñò nh trong thuo c tính ACTION cu a the HTML <FORM>. File.asp
ù ä ä û ù
chö a ñoaï n script thöïc hie n vie c xö ly gia trò FORM nhö hie n thò mo t bang no i dung
ù å ä û ä
ä
Löu haønh no i boä
13 å
Tìm hie u veà ASP
á û ë á
ke t qua hoa c truy va n tho ng tin tö mo t cô sô dö lie u.Baï n co the sö duï ng file .asp
â ø ä û õ ä ù å û
å ä ù ä ù
ñe thu tha p gia trò HTML FORM mo t trong 3 ca ch:
ù ù ø ù û ù ù ä
File.html chö a ca c form va submit gia trò cu a no tô i mo t file.asp.
ù å ø
File.asp co the taï o form va chuye n gia trò tô i mo t file asp kha c.
å ù ù ä ù
ù å ø û â ù ù ù ø á ø
File.asp co the taï o form va gö i tho ng tin tô i chính no ño la ñe n file.asp ma
ù
chö a ñöï ng form.
á â ä ø
III.3 La y tho ng tin nha p va o FORM
û
Sö duï ng QueryString Collection
á ù ù ø
QueryString collection la y laï i ca c gia trò form ñöa va o Web
û ø ä ã
server cu a baï n nhö la mo t chuo i sau sau mo t da u ? trong ye u ca u URL. Vie c sö
ä á â à ä û
ø ä á â û â ã ø
duï ng Querystring collection la m cho vie c truy xua t tho ng tin trô ne n de da ng hôn
ù
Cu pha p ù
Request.QueryString(variable)[(index)|.Count]
ù
Ca c tham soá
variable
â û á ã
te n cu a bie n trong chuo i query HTTP.
index
ù á ä ù ù ù å ø á
Cho phe p baï n truy va n mo t trong ca c gia trò cho variable.Noù co the la ba t
ø á â ø û ø ù
ky so nguye n na o trong khoa ng tö 1 tô i Request.QueryString(variable).Count.
á ù û ø ø ù á û â
♦ Ne u phöông thö c gô i tö form la POST thì Querystring chö a ta t ca tho ng
û ù ø á
tin gö i tô i nhö la 1 tham so sau trang URL.
á ù û ø ø ù
♦ Ne u phöông thö c gô i tö form la GET thì Querystring Collection chö a
ø ä â
toa n bo tho ng tin gö i tô i nhö la ca c tham so ñi ñang sau da u “?” trong URL .
û ù ø ù á è á
ä á ù ø ø ä â û ù õ è
Nhö va y ne u phöông thö c la GET thì toa n bo tho ng tin gô i tô i se na m trong
Querystring Collection.
ä
Löu haønh no i boä
14 å
Tìm hie u veà ASP
á ù ù û ù
Ví duï : ne u ví duï tröô c ño sö duï ng phöông thö c GET(ACTION= “GET”) va ngöô iø ø
û õ ø ù â à õ û ù ø
sö duï ng go va o Jeff, Smith, vaø 30 ,sau ño ye u ca u URL se ñöôï c gô i tô i server la :
http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=ne
w
ù å ù û ù
Myfile.asp co the chö a ñoaï n script xö ly nhö sau:
Hello, <%= Request.QueryString("firstname") %>
<%= Request.QueryString("lastname") %>.
You are <%= Request.QueryString("age") %> years old.
<%
If Request.QueryString("userstatus") = "new user" then
Response.Write"This is your first visit to this Web site!"
End if
%>
ø ø û õ û à ê û ù
Trong tröô ng hôï p na y,Web sever cu a baï n se tra ve ñoaï n va n ba n sau tô i Web
û
browser cu a user:
Hello, Jeff Smith. You are 30 years old. This is your first visit to this Web site!
ù à á ø ä â
Khi co nhie u bie n cung mo t ten va mo i bie n co gia trò kha c
ø ã á ù ù ù
ù ù ä
nhau.Khi ño , QueryString collection co mo t tham so du ng ñe truy ca p nhie u gia trò
á ø å ä à ù
á ä â û â
xua t hie n trong tha n cu a ye u ca u.Baï n co the sö duïng ña c tính Count ñe ñe m so la n
à ù å û ë å á á à
ø ä å ë ù á ä
ma mo t kie u ña c tröng gia trò xua t hie n .
ä ù ä ù à ù å û
Ví duï :mo t FORM chö a mo t list box vô i nhie u muï c co the tra laï i nhö sau:
http://list.asp?food=apples&food=olives&food=bread
å å à å ù å ù
Ñe hie n thò nhie u kie u gia trò , List.asp coù the chö a ñoaï n script sau:
<%Total = Request.QueryString("food").Count%>
<%For i = 1 to Total%>
<%= Request.QueryString("food")(i) %> <BR>
<%Next%>
ø á å ø
va ke t quaû hie n thò la :
apples
olives
bread
ä
Löu haønh no i boä
15 å
Tìm hie u veà ASP
û
III.4.Sö duï ng Form Collection
ù ø ä ù ù
Form collection chö a toa n bo ca c gia trò ma user nha p va o FORM sau ño gö i bang
ø ä ø ù û è
ù ù û õ ä â â
phöông thö c POST. Phöông thö c POST gô i dö lieu FORM trong tha n ye u ca u à
ù å û â ù á ù ù
HTTP,co the gô i kho ng giô i haï n so ky töï tô i server
ù ù
Cu pha p
Request.Form(element)[(index)|.Count]
ù
Ca c thamsoá
element
â û à û à á
te n cu a pha n tö form collection ca n truy va n.
index
ä á ù á
Mo t thamso löï a choïn cho phe p baï n truy va n mo t trong ca c gia trò ño i vô i
ä ù ù á ù
ä á ù ù å ø á
mo t thamso .No co the la ba t ky so integer na m trong vu ng tö 1 ñe n
ø á è ø ø á
á
Request.Form(thamso ).Count.
Ghi chuù
æ û â â
Form collection ñöôï c ch muïc bô i te n trong tha n cu a ye u ca u. Gia trò cu a
û â à ù û
ø ä õ û
Request.Form(element) la mo t da y cu a ta t ca ca c gia trò cua element xua t hie n
á û ù ù û á ä
â û â à ù
trong tha n cu a ye u ca u.Baï n co the xa c ñò nh so gia trò cu a mo t thamso ba ng ca ch
å ù á ù û ä á è ù
goï iRequest.Form(element).Count.
å û ä ù û
Ñe tham kha o mo t gia trò ñôn cu a mo t pha n tö form co nhie u gia trò ,baï n pha i
ä à û ù à ù û
æ ä ù á
ch ñò nh mo t gia trò cho index.Thamso index co the la ba t ky so na o giö a 1 va
ù å ø á ø á ø õ ø
Request.Form(element).Count.
á à ø è
Ví duï : ne u user ñie n va o FORM ba ng ca ch ñöa va o mo t danh sa ch te n thì baïn co
ù ø ä ù â ù
å á ù â ù
the la y laï i ca c te n vô i ñoaï n script sau:
<% For i = 1 to Request.Form.Count %>
<% =Request.Form("names")(i) %>
<% Next %>
ä
Löu haønh no i boä
16 å
Tìm hie u veà ASP
û
2.Sö duï ng ServerVariables collection
á ù ù
ServerVariables collection la y laï i ca c gia trò ca c bien mo i tröô ng ña ñöôïc
ù á â ø õ
ù ù á
xa c ñò nh tröô c.. ServerVariables cung ca p tho ng tin tö tie u ñe HTTP vô i mo t
â ø â à ù ä
â à û
ye u ca u cu a user .
ù ù
Cu pha p
Request.ServerVariables (server environment variable)
Tham soá
ø â û á â ø
server environment variable: la te n cu a bie n mo i tröô ng.
ù å û ø ë
Baï n co the sö duï ng vo ng la p ñe la p tho ng qua te n ca c bie n server.Ví duï ,ñoaï n
å ë â â ù á
õ á û ù ù û
script sau se in ra ta t ca ca c gia trò cu a ca c bie n mo i tröô ng trong mo t ba ng.
ù á â ø ä û
<TABLE>
<TR><TD><B>ServerVariable</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD><%=name%> </TD>
<TD> <%= Request.ServerVariables(name) %> </TD>
</TR>
</TABLE>
<% Next %>
û á å
Ví duï :sö duï ng ño i töôï ng Request ñe hien thò mo t so bie n moi tröô ng .
å ä á á â ø
<HTML>
<!-- This example displays the content of several ServerVariables. -->
ALL_HTTP server variable =
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
CONTENT_LENGTH server variable =
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR>
ä
Löu haønh no i boä
17 å
Tìm hie u veà ASP
CONTENT_TYPE server variable =
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
QUERY_STRING server variable =
<%= Request.ServerVariables("QUERY_STRING") %> <BR>
SERVER_SOFTWARE server variable =
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR>
</HTML>
û å ø â ø ä
Ví duï : sö duï ng ServerVariables collection ñe chen te n server va o trong mo t
â â á
sie u lie n ke t (hyperlink).
<A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>
/scripts/MyPage.asp">Link to MyPage.asp</A>
û â ø ä
III.5.Gö i tho ng tin trong cu ng mo t file.asp:
ù û ä ø ë ù
- Vô i ASP baï n pha i ñò nh nghó a ño ng 1 form trong 1 file.asp ma ña t gia trò
à ø û û â ù
ña u va o tra laï i chính ba n tha n no .
ù ä ù
- ASP cho phe p mo t file.asp co chö a From, khi user ñie u khie n ca c gia trò
ù à å ù ù
ø à û
va o From ro i gö i (Submit) thì chính file.asp se nhan ñöôï c ca c thamtin na y va xö
õ ä ù ø ø û
ù
ly .
á
III.6.Ño i töôï ng Response
ù å û á å û á á ù
Baï n co the sö duï ng ño i töôï ng Response ñe gô i ke t xua t tô i client.
ù ù
Cu pha p
Response.collection|property|method
Collections
Cookies æ ù ø á ä ù ù
Ch ñò nh gia trò cookie va thie t la p ca c gia trò
ä
Löu haønh no i boä
18 å
Tìm hie u veà ASP
cookie .
Properties
Buffer æ ä á á ä â
Ch ra lie u trang ke t xua t ñöôï c ñe m hay kho ng.
æ å ä
Ch ñò nh kie u no i dung HTTP(vd:”Text/HTML”)
ContentType
ù ù
khi ña p ö ng.
æ ø ù ä õ â
Ch ñò nh thô i gian tröô c khi mo t trang löu trö tre n
Expires
á ù
browser ke t thu c.
Status û à ù û ù ø
Server tra ve gia trò cu a traï ng tha i do ng .
Methods
á ä â â à è ù
Thie t la p te n (name) tie u ñe HTML ba ng gia trò
AddHeader
(value).
Clear û û ø ä á
Hu y bo vung ñe m keá t xua t HTML.
ø û ù ä ø û û á û ä
Dö ng xö ly ta p tin .asp va gô i tra ke t qua hie n
End
ø
ha nh.
Redirect æ ã á á ù ä ù
Ch da n browser ke t no i tô i mot URL kha c.
á ä á
Xua t mo t bie n tô i trang hie n ha nh nhö la mo t
ù ä ø ø ä
Write
ã
chuo i.
û ä
III.6.1 Gô i no i dung
å û û ä ù ê
Ñe gô i trô laï i mo t trang chö a va n ba n,hình a nh va ca c no i dung kha c tô i
û û ø ù ä ù ù
â á ê ù
browser be n trong da u nga n ca ch ASP hoa c tö mot thu tuï c. Sö duï ng phöông thö c
ë ø ä û û ù
û á
Write cu a ño i töôï ng Response.
ù ù
Cu pha p
Response.Write variant
ä
Löu haønh no i boä
19 å
Tìm hie u veà ASP
Tham soá
variant
õ ä å á á ø ù
Dö lie u ñe xua t. Tham so na y co the la ba t ky dö lie u na o ma ngo n ngö
å ø á ø õ ä ø ø â õ
å å û ù ù ã á â
script ho trôï (ke ca cac ky töï ,chuo i,so nguye n).
â ä û ø ø ù
Ví duï 1: ca u le nh gô i lô i cha o kha c nhau tô i user tu y thuo c vao user ña vie ng tha m
ù ø ä ø õ á ê
ù ù â
trang tröô c ño bao nhie u la n :à
<%
If FirstTime = True Then
Response.Write "<H3 ALIGN=CENTER>Welcome to the Overview Page</H3>"
Else
Response.Write "<H3 ALIGN=CENTER>Welcome Back to the Overview
Page</H3>"
End If
%>
â ø ä
Be n ngoa i mo t thu tuï c, baï n kho ng ca n pha i sö duï ng phöông thö c
û â à û û ù
å û ä û
Response.Write ñe gô i no i dung trô laï i tô i user.No i dung na y thì kho ng na m trong
ù ä ø â è
á ê ù ø û á ù
da u nga n ca ch scripting ma ñöôï c gô i tröïc tie p tô i browser .
õ ù á á ù
Ví duï 2: ñoaï n script sau se co ke t xua t nhö ñoaï n script tröô c :
<H3 ALIGN=CENTER>
<% If FirstTime Then %>
Welcome to the Overview Page.
<% Else %>
Welcome Back to the Overview Page.
<% End If %>
</H3>
û ù
III.6.2Gô i cookie tô i browser
ä ä á ä ø ø û
Mo t Cookie ñöôï c coi nhö mo t da u hie u ñi ke m theo ngöô i sö duï ng trong
ù å â õ ø ë õ
qua trình trao ño i tho ng tin giö a Client browser va Web server hoa c giö a Web
ä
Löu haønh no i boä
20 å
Tìm hie u veà ASP
ø á å û ø
server va Client browser . Cookies cung ca p cho 1 kie u cu a thamtin tö söï giao
á ù ø û
ke t vô i ngöô i sö duï ng
ù û ù å û å á ä ù
Ca c script cu a ASP co the sö duï ng Cookies collection ñe thie t la p gia trò
û ä ø á ë û à
cu a mo t Cookie. Khi du ng Response.Cookies ne u cookie ñöôïc ña c ta chöa to n
ù õ ù á
taï i thì no se ñöôï c taï o mô i, ne u Cookie ña to n taï i thì no se la y gia trò mô i, gia trò
õ à ù õ á ù ù ù
õ õ û
cu se bò loaï i bo .
ù ù
Cu pha p:
Response.Cookies(cookie)[(key)|.attribute] = value
ù
Ca c tham soá
cookie
â û
Te n cu a cookie.
key
á á æ ø ä ø å ø
Tham so löï a choï n.Ne u key ñöôï c ch ñò nh, cookie la mo t tö ñie n va key thì
á ä ù
thie t la p gia trò (value).
attribute
æ â à ù ù ä ù å ø
Ch ñò nh tho ng tin ve cookie ño .Ca c thuo c tính co the la :
â
Te n â û
Mo ta
á æ æ
Ne u ch ñònh, cookie ch ñöôï c gô i tô i yeu ca u cu a vu ngs
û ù â à û ø
Domain
ù
domain ño.
ø á ù õ á ù á
Nga y cookie ke t thu c. Cookie se ke t thu c khi session ke t
Expires
ù
thu c.
HasKeys æ ù ù ù â
Ch ñò nh cookie chö a ca c kho a hay kho ng.
ä
Löu haønh no i boä
21 å
Tìm hie u veà ASP
á æ æ û
Ne u ch ñònh,cookie ch ñöôï c gô i ye u ca u tô i ñöô ng da n
â à ù ø ã
Path ø á
na y.Ne u kho ng,ñöô ng da n cu a chöông trình ö ng duïng ñöôï c
â ø ã û ù
ø
du ng .
Secure æ ù û û â
Ch ñò nh co ñöôï c ba o ña m hay kho ng.
Value
ù å ù ø ë
Gia trò ñe ga n va o key hoa c attribute.
ù å á ä ù
Ví duï : baï n co the thie t la p gia trò cho mo t cookie va ga n ca c gia trò va o
ä ø ù ù ù ø
ù ä û ù
ca c thuo c tính (attribute) cu a no
<%
Response.Cookies("Type") = "Chocolate Chip"
Response.Cookies("Type").Expires = "July 31, 1997"
Response.Cookies("Type").Domain = "msn.com"
Response.Cookies("Type").Path = "/www/home/"
Response.Cookies("Type").Secure = FALSE
%>
å ù à å
III.6.3 Chuye n höô ng ñie u khie n browser
û ä ä ù
Thay vì gô i mo t no i dung tô i user, ta co the gô i mot tho ng ba o ñe n browser
ù å û ä â ù á
å ù å ù ä
ñe no chuye n tô i mo t URL kha c ba ng ca ch sö duïng phöông thö c Redirect.
ù è ù û ù
ù ù
Cu pha p
Response.Redirect URL
Tham soá
URL
ä
Löu haønh no i boä
22 å
Tìm hie u veà ASP
æ ø å ù à å
Ñò a ch URL (Uniform Resource Locator) ma ta chuye n höô ng ñie u khie n
ù
tô i.
á ù ê
Ví duï : baï n muo n khi kha ch tha m Web site cu a baï n thì hoï ña ng ky tröô c khi sö
û ê ù ù û
ù ä ù â ø
duï ng no .Ta taï o mo t Form co te n la register.asp :
---register.asp---
<HTML>
<HEAD><TILTE>Register</TILTE></HEAD>
<BODY>
<H4>Registration:</H4>
<FORM ACTION = "/regresults.asp" METHOD = "POST">
<P>Please enter your first name: <INPUT NAME = "FirstName"
TYPE=“TEXT” SIZE = 30>
<P>Please enter your last name: <INPUT NAME = "LastName"
TYPE=“TEXT” SIZE = 20>
<BR><INPUT TYPE = SUBMIT VALUE=“Register”>
</FORM>
</BODY>
</HTML>
ù å å ù ø
Sau ño ñe kie m tra xem user co ñöa va o ña y ñu tho ng tin hay kho ng. Ne u
à û â â á
â å ù
kho ng thì chuye n höô ng ñie u khie n ve laï i trang ña ng ky la “register.asp”.
à å à ê ù ø
---regresults.asp---
<%
If Request.Form(“FirstName”)=“” Then Response.Redirect “/register.asp”
%>
<HTML>
<HEAD><TILTE>Registration Results</TILTE></HEAD>
<BODY>
<%
ä
Löu haønh no i boä
23 å
Tìm hie u veà ASP
Thank you <% =Request.Form(“FirstName”) %> for registering!
%>
</BODY>
</HTML>
ù ù
Chu y : Ne u sö duï ng Response.Redirect sau khi mo t no i dung ña ñöôï c gö i ve
á û ä ä õ û à
õ û ã
cho user thì se xa y ra lo i.
ä
III.6.4 Ñe m trang
ø ä û ù â á á û
Bình thöô ng, khi mo t trang ASP ñöôï c xö ly tre n server, ke t xua t ñöôï c gô i
ù ä ù ã ä
tô i browser ngay la p tö c sau khi mo i le nh trong trang ñöôï c thöïc thi.
á ä á
Khi baï n muo n ñe m ke t xua t cu a mo t trang ASP thì server se kho ng gô i
á û ä õ â û
ù ù ø ù á á û ù ø õ
ña p ö ng na o tô i client cho ñe n khi ta t ca ca c server script trong trang hieä n ha nh ña
û ë ø á ù ë
ñöôï c xö lyù hoa c la cho ñe n khi phöông thö c Flush hoa c End ñöôï c goï i.
â å á ä õ û ä à
Buffer property kho ng the thie t la p khi server ña gö i no i dung ve client, vì
á å á ä û û à
the ñe thie t la p ta pha i goï i Response.Buffer ô ña u trang.
ù ù
Cu pha p
Response.Buffer [= flag]
ù
Ca c tham soá
flag
æ á á ù ä â
Ch ñò nh trang ke t xua t co ñöôï c ñe m hay kho ng.
ù
Gia trò â û
Mo ta
FALSE â ä û á á ù û ù
Kho ng ñem.Server gô i ke t xua t tô i client buffer ñöôï c xö ly .
â û á á ù á û ù
Server kho ng gô i ke t xua t tô i client cho ñe n khi taá t ca ca c ñoaï n
TRUE â â
script ASP tre n trang hie n ha nh ña ñöôï c xö ly hoa c cho ñe n khi
ø õ û ù ë á
ù ë
phöông thö c Flush hoa c End ñöôï c goï i.
ä
Löu haønh no i boä
24 å
Tìm hie u veà ASP
ù ë á û ù ø â
Gia trò Buffer ma c ñò nh cho ta t ca ca c trang ASP la FALSE. Tuy nhie n baï n
ù å ë û
co the ña t buffer cu a ño i töôï ng Response la TRUE ñe thi ha nh ca c script trong
á ø å ø ù
ä ù û ù
mo t trang tröô c khi gô i tô i user
ø õ å
Ví duï : ñoaïn script na y se hie n thò ca c so tö 1 ñe n 100 nhöng ta t ca no i dung cu a
ù á ø á á û ä û
û ø ä ù ù á û ù
trang ñöôï c gô i cu ng mo t lu c tô i browser cho ñe n khi ñoaï n script xö ly xong.
<% Response.Buffer = True %>
<HTML>
<HEAD><TILTE>Buffer Example</TILTE></HEAD>
<BODY>
<%
For i=1 To 100
Response.Write i & “<BR>”
Next
%>
</BODY>
</HTML>
ù å û å ù ä á å ø ù û
Co the sö duï ng Buffer ñe xa c ñò nh taï i mo t so ñie m na o ño cua trang ñöôï c
û ù ø û ù â á û
xö ly , ma ô ño ta kho ng muo n gö i no i dung tröô c ño tô i ngöô i sö duï ng,lu c ño co
ä ù ù ù ø û ù ù ù
å û ù å á á ø û ù ù
the sö duï ng phöông thö c Redirect ñe ke t no i ngöô i sö duï ng vô i URL kha c,
ë û ù å ù
hoa c sö duï ng phöông thö c Clear ñe xo a Buffer va gô i no i dung kha c tô i ngöô i
ø û ä ù ù ø
û
sö duï ng.
Ví duï :
---Choose.asp---
<HTML>
<BODY>
<HEAD><TILTE></TILTE></HEAD>
<H4></H4>
<FORM ACTION = "jump.asp" METHOD = "GET">
<SELECT NAME=“whichpage” >
<OPTION SELECTED VALUE=“news” >News </OPTION>
ä
Löu haønh no i boä
25 å
Tìm hie u veà ASP
<OPTION VALUE=“sport” >Sport</OPTION>
<OPTION VALUE=“music” >Music</OPTION>
</SELECT>
<BR><INPUT TYPE = SUBMIT VALUE=“Choose” >
</FORM>
</BODY>
</HTML>
---jump.asp---
<% Response.Buffer = True %>
<HTML>
<HEAD><TILTE> </TILTE></HEAD>
<BODY>
<%
which=Request.QueryString(“whichpage”)
Select Case which
case “news”
Response.Redirect “/news.asp”
case “sport”
Response.Redirect “/sport.asp”
case “music”
Response.Redirect “/music.asp”
%>
</BODY>
</HTML>
á ä å ä û
III.6.5 Thie t la p kieu no i dung cu a trang
æ õ å ä û â ù ù å
ContentType property ch ro kie u no i dung cu a tha n ña p öng(kie u MIME).
ù å å á ø
Ca c kie u pho bie n la : “text/HTML”, “image/GIF”, “application/msword” , , ,
á â æ ë ø
“text/rtf”. Ne u ContentType kho ng ñöôï c ch ñò nh,ma c ñò nh la text/HTML.
ä
Löu haønh no i boä
26 å
Tìm hie u veà ASP
ù ù
Cu pha p
Response.ContentType [= ContentType ]
Tham soá
ContentType
ã â û ä å
Chuo i mo ta no i dung kie u dö lie u. Chuo i na y thöô ng ñöôï c ñò nh daï ng la
õ ä ã ø ø ø
ø ä å
type/subtype sao cho type la loaï i no i dung to ng qua t va subtype la kie u no i
ù ø ø å ä
ë
dung ña c tröng.
å å û ê û á
Ví duï 1: ñe hie n thò source code cu a moä t va n ba n HTML, baï n thie t laä p
â û ù ù û ø ä
ContentType property tha nh “text/plain” ,tha n cu a ña p ö ng ñöôï c gô i nhö la mo t
ø
ê û ø ø ä
va n ba n bình thöô ng hôn la mot trang HTML.
< % Response.ContentType= “text/plain” %>
<HTML>
<HEAD><TILTE>HTML Document</TILTE></HEAD>
<BODY>
<H1>This is an HTML Document </H1>
</BODY>
</HTML>
ù õ å ä ä ê û
Khi ño browser se hie n thò trang nha n ñöôï c nhö mo t trang va n ba n bình
ø ù â û ø ä
thöô ng chö kho ng pha i la mo t trang HTML.
å å â ø ä
Ví duï 2: ñe hie n thò trang tre n Web browser la mo t trang HTML, baï n thie t
á
la p ContentType property tha nh “text/HTML”
ä ø
<% Response.ContentType = "text/HTML" %>
<HTML>
<HEAD><TILTE>HTML Document</TILTE></HEAD>
<BODY>
<H1>This is an HTML </H1>
</BODY>
</HTML>
ä
Löu haønh no i boä
27 å
Tìm hie u veà ASP
ù
III.6.6 Maõ traï ng tha i
æ ù û ø ù û à û
Status property ch ñò nh gia trò cu a do ng traï ng tha i tra ve bô i server trong mo tä
ù ù ø â û
ña p ö ng HTTP, property na y kho ng sö a ño i tie u ñe . Gia trò ca c traï ng tha i ñöôï c
å â à ù ù ù
ë û
ñò nh nghó a trong ña c ta HTTP.
ù
Cu pha p:ù
Response.Status = StatusDescription
Tham soá
StatusDescription
ä ã à
Mo t chuo i go m co 3 chö so cho bie t ma traï ng tha i.
ù õ á á õ ù
û à õ ù á ù
Ví duï : tra ve ma traïng tha i 401 Not Authorized ne u ai ño truy tìm trang ASP trong
ø
nga y Wednesday
<%
If WEEKDAY(WEEKDAY(DATE))=“Wednesday” Then
Response.Status=“401 Not Authorized”
Response.End
Else
%>
<HTML>
<HEAD><TILTE>Not Wednesday</TILTE></HEAD>
<BODY>
Today is not Wednesday.
</BODY>
</HTML>
<% End If %>
á
III.7.Ño i töôï ng Server
á á ä ù ù ù ø ë
Ño i töôï ng server cung ca p truy ca p tô i ca c phöông thö c va ña c tính
â à á ù ù ø ë
(property) tre n server.Ha u het ca c phöông thö c va ña c tính (property) server
ø ù ù ê ä
nhö la ca c chö c na ng tie n ích.
ù ù
Cu pha p
Server.property|method
ä
Löu haønh no i boä
28 å
Tìm hie u veà ASP
Properties
û ø ä ù å ù á
Khoa ng thô i gian maø mo t script co the chaï y tröô c khi he t
ScriptTimeout
ø
thô i gian (time out).
Methods
ä å û ä á ë ø
Taï o mo t thöï c the (instance) cu a mo t ñoi töôï ng hoa c tha nh
CreateObject
à
pha n server .
õ ù ã ø
HTMLEncode Ma ho a chuo i tha nh daï ng HTML .
ù ø ã û
A nh xaï ñöô ng da n ao ,ñöô ng da n tuye t ño i hay töông ño i
ø ã ä á á
MapPath
â ä ø
tre n server hie n ha nh va o mo t ñöô ng da n va t ly .
ø ä ø ã ä ù
URLEncode õ ù ã ø
Ma ho a chuo i kí töï tha nh daï ng URL.
III.7.1 ScriptTimeout
æ û ø á ä ù
ScriptTimeout property ch ñònh khoa ng thô i gian to i ña mo t script co theå
ù ù á ù û
chaï y tröô c khi no ñöôï c ke t thu c. Khoa ng thô i gian na y se kho ng a nh höô ng trong
ø ø õ â û û
û ù ä ø à
khi ñang xö ly mo t tha nh pha n server.
ù ù
Cu pha p
Server.ScriptTimeout = NumSeconds
ù
Ca c tham soá
NumSeconds
æ á â á ø
Ch ñò nh so gia y to i ña ma mot script co the chaï y tröô c khi ke t thu c no.
ä ù å ù á ù ù
ù ë ø â
Gia trò mac ñò nh la 90 gia y.
ù â å
Ghi chu : Baï n kho ng the thie t la p gia trò nho hôn gia trò ch ñò nh.
á ä ù û ù æ
ä á ø á ø ä ø ø
Ví duï trong mo t so tröô ng hôï p, baï n muo n thi ha nh mo t ñoaï n script ma thô i
û ù ø â ø
gian cu a no da i hôn 90 gia y ma kho ng muo n ch mo t pha n cua ñoaï n script ñöôï c
â á æ ä à û
å ù ù å û å
hie n thò thì khi ño ta co the sö duï ng ScriptTimeout property ñe thöï c thi ñoaï n script
ù
ñoaï n script ño .
<% Server.ScriptTimeout = 100 %>
ä
Löu haønh no i boä
29 å
Tìm hie u veà ASP
<HTML>
<HEAD><TILTE>ScriptTimeOut Example</TILTE></HEAD>
<BODY>
<%
For i=1 To 10000
Response.Write i & “<BR>”
Next
%>
</BODY>
</HTML>
III.7.2 CreateObject
ù ä å û ä ø à
Phöông thö c CreateObject taï o mo t thöï c the (instance) cu a mo t tha nh pha n
å ù å û ù ù
server ñe co the sö duï ng ca c phöông thö c va truy ca p ca c property cu a tha nh pha n
ø ä ù û ø à
ù
ño .
ù ù
Cu pha p
Server.CreateObject( progID )
Thamsoá
progID
æ å á à
Ch ñò nh kie u ño i töôï ng ca n taïo .
å ä ù ã û
Ví duï : ñe xem mo t Web browser co ho trôï cookie,frames,tables ta sö duï ng
ä ù ø
mo t trong ca c tha nh pha n cung ca p cho ASP la tha nh pha n Browser Capabilities.
à á ø ø à
<HTML>
<HEAD><TILTE>CreateObject Example</TILTE></HEAD>
<BODY>
<%
å û ø à
‘taï o thöïc the cu a tha nh pha n
Set objBrowser= Server.CreateObject("MSWC.BrowserType")
%>
ä
Löu haønh no i boä
30 å
Tìm hie u veà ASP
û ù
‘sö duï ng ca c property
Your browser has the properties:
Cookies =<%=objBrowser.cookie%><BR>
Tables = <%=objBrowser.tables%><BR>
Frames = <%=objBrowser.frames%><BR>
</BODY>
</HTML>
ù
Ghi chu :
ë ù á û ù ù
Ma c ñò nh, ca c ño i töôï ng taï o bô i phöông thö c Server.CreateObject co page
ä û û ù û ù
scope (phaï m vi trang) nghó a laø server töï ño ng hu y bo chu ng khi server xö ly xong
ä ø
trang ASP hie n ha nh.
å ä á
Ñe taï o mo t ño i töôïng vô i phaïm vi la session hay application ,baï n co the sö
ù ø ù å û
û ø á ä ä ë
duï ng the <OBJECT> va thie t la p thuo c tính SCOPE cho SESSION hoa c
ë ø õ á á ë
APPLICATION, hoa c la löu trö ño i töôïng trong bie n session hoa c application .
ø à ù
Taï o tha nh pha n vô i Session scope (phaïm vi session)
ä á ã ù ä ù
Mo t ño i töôï ng session-scope ñöôï c taï o ra cho mo i session mô i trong mo t ö ng duï ng
ø û ù á
va ñöôï c gia i pho ng khi session ke t thu c.Do ño , co mo t ño i töôïng tre n session hoaï t
ù ù ù ä á â
ä á ù å û
ño ng. Bie n session co the ñöôïc sö duï ng ma mo t user ye u cau. Ñe taï o mo t ño i
ø ä â à å ä á
ù å û û ä
töôï ng session scope, baï n co the sö duï ng the <OBJECT> trong ta p tin Global.asa
ë ø û ù
hoa c la sö duï ng phöông thö c Server.CreateObject tre n trang ASP .
â
û ù
Ví duï 1: sö duï ng phöông thö c Server.CreateObject
<% Set Session(objAd) = Server.CreateObject("MSWC. Adrotator")%>
û û ä
Ví duï 2: sö duï ng the <OBJECT> trong ta p tin Global.asa
<OBJECT RUNAT=Server SCOPE=Session ID=objAd
PROGID="MSWC.Adrotator">
</OBJECT>
ø à ù
Taï o tha nh pha n vô i Application scope (phaï m vi Application)
ä
Löu haønh no i boä
31 å
Tìm hie u veà ASP
ä á ø
Mo t ño i töôï ngAn application-scope object la mo t thöï c the ñôn cu a mo t ño i töôï ng
ä å û ä á
ù é à á ø õ û á û ù
ñöôï c taï o ra khi ö ng duï ng ba t ña u. Ño i töôï ng na y ñöôï c chia se bô i ta t ca ca c gien
â à
ye u ca u.
û ù
Ví duï 1: sö duï ng phöông thö c Server.CreateObject
<% Set Application(objAd) = Server.CreateObject("MSWC.Adrotator")%>
û û ä
Ví duï 2: sö duï ng the <OBJECT> trong ta p tin Global.asa
<OBJECT RUNAT=Server SCOPE=Application ID=objAd
PROGID="MSWC.Adrotator">
</OBJECT>
â å ä å
Baï n kho ng the taï o mo t thöï c the (instance) co te n tru ng vô i ca c ño i töôï ng co
ù â ø ù ù á ù
ü
sa n. Ví duï:
<% Set Response = Server.CreateObject("Response") %>
III.7.3 HTMLEncode
ù ø å õ ù ä ã ø
Phöông thö c HTMLEncode du ng ñe ma ho a mo t chuo i tha nh daï ng HTML .
ù ù
Cu pha p
Server.HTMLEncode( string )
Tham soá
string
ã å õ ù
Chuo i ñe ma ho a.
Ví duï :
<HTML>
<HEAD><TILTE>HTMLEncode Example</TILTE></HEAD>
<BODY>
<%
ä
Löu haønh no i boä
32 å
Tìm hie u veà ASP
Response.Write “<B>The bold tag </B>"
Response.Write “<BR>”
Response.Write Server.HTMLEncode("<B>The bold tag </B>")
%>
</BODY>
</HTML>
á û å ø
ke t qua hie n thò la :
The bold tag
<B>The bold tag </B>
III.7.4 MapPath
ù ù ä ø
Phöông thö c MapPath a nh xaï mo t ñöô ng da n töông ño i hoa c a o tô i mo t thö
ã á ë û ù ä
ä â
muï c va t lí tre n server
ù ù
Cu pha p
Server.MapPath( Path )
Tham soá
Path
æ ø ã
Ch ñò nh ñöô ng da n töông ño i hoa c a o a nh xaï tha nh mo t thö muï c va t
á ë û ù ø ä ä
ù á é à ù ë ù
ly .Ne u Path ba t ña u vô i 1 forward (/) hoa c backward slash hay (\) thì phöông thö c
û à ä ø ã á
MapPath tra ve mo t ñöô ng da n ne u Path la mo t ñöô ng da n ao ña y ñu .Ne u Path
ø ä ø ã û à û á
â é à ù ä
kho ng ba t ña u vô i mo t slash (/ hoa c\ ), phöông thö c MapPath tra ve mo t ñöô ng da n
ë ù û à ä ø ã
á ù û ä
töông ño i tô i thö muïc cu a ta p tin .asp ñang thöï c thi.
ä
Ví duï : ta p tin data.txt ñöôï c ñò nh vò trong thö muï c,C:\Inetpub\Wwwroot\Script,
ø ä ù
nhö la ta p tin test.asp chö a ñoaï n script sau. Thö muï c C:\Inetpub\Wwwroot thì ñöôï c
á ä ø û û
thie t la p nhö la thö muï c chu cu a server.
û á ø å ù ø ã
Ñoaï n script sau sö duï ng bie n server la PATH_INFO ñe a nh xaï ñöô ng da n
ä ù û ä ä ø
va t ly cu a ta p tin hie n ha nh.
ä
Löu haønh no i boä
33 å
Tìm hie u veà ASP
<%= server.MapPath(Request.ServerVariables("PATH_INFO"))%><BR>
á û ø
ke t qua la:
C:\inetpub\wwwroot\script\test.asp<BR>
á â é à
Ne u kho ng ba t ña u vô i ky töï slash (/ hoa c \) thì chu ng ñöôïc a nh xaï töông
ù ù ë ù ù
á ù ä ø ø ø ø
ño i tô i thö muï c hie n ha nh, trong tröô ng hôï p na y la C:\Inetpub\Wwwroot\Script .
<%= server.mappath("data.txt")%><BR>
<%= server.mappath("script/data.txt")%><BR>
á û ø
ke t qua la:
c:\inetpub\wwwroot\script\data.txt<BR>
c:\inetpub\wwwroot\script\script\data.txt<BR>
ù ä ã
III.7.5 Maõ ho a mo t chuo i query
ù õ ù ä ã ø á û
Phöông thö c ULREncode ma ho a mo t chuo i tha nh daï ng URL.Ví duï , ta t ca
ù û é
ca c khoa ng tra ng ñöôï c chuye n ño i tha nh da u co ng.
å å ø á ä
ù ù
Cu pha p
Server.URLEncode( string )
ù
Ca c thamsoá
string
ã å õ ù
Chuo i ñe ma ho a.
Ví duï 1:
<%= Server.URLEncode("The paragraph tag: <P>") %>
ù á û õ ù ø
khi ño ke t qua ma ho a la :
The+paragraph+tag%3A+%3CP%3E
Ví duï 2:
<% Response.Write(Server.URLEncode("http://www.microsoft.com")) %>
ä
Löu haønh no i boä
34 å
Tìm hie u veà ASP
ù á û õ ù ø
khi ño ke t qua ma ho a la :
http%3A%2F%2Fwww%2Emicrosoft%2Ecom
ù û à ù
Ö ng duï ng cô ba n ASP go m co mo t thö muï c a o tre n server va ta t ca ta i lie u va
ä û â ø á û ø ä ø
ä ø ù û û
ta p tin ma no ô trong thö muï c a o.
û õ ù û
Khi sö duïng nhö ng ö ng duï ng cô ba n cua ASP baï n co the sö duï ng ca c loaï i ño i
û ù å û ù á
töôï ng sau:
á û â é
• Application state: ta t ca tho ng tin ga n lie n vô i mo t ö ng duï ng co the ñöôïc
à ù ä ù ù å
ø á û õ û ä ù
du ng cho ta t ca nhö ng user cu a mo t ö ng duï ng .
õ â æ ù å ø ä
• Session state: nhö ng tho ng tin thì ch co the ñöôï c du ng cho mo t user.
á
III.8.Ño i töôï ng Session
á û å õ ø â à ä
Ño i töôï ng Session ñöôï c sö duï ng ñe löu trö va tìm laï i tho ng tin ve mo t user
ù ù õ á â û
session. Ca c gia trò löu trö trong ño i töôï ng Session kho ng bò loaï i bo ñi khi user di
å ø ø ù ù ä
chuye n tö trang na y sang trang kha c trong ö ng duï ng, Web server töï ñong taï o ra
ä á ä
mo t ño i töôï ng Session khi mo t trang Web trong ö ng duï ng ñöôï c ye u cau bô i mo t
ù â à û ä
ù û û á ù á ø
user chöa co session. Server hu y bo ño i töôï ng Session khi no he t thô i gian hay
û û á
ñöôï c hu y bo . Thöï c te , mo t Session ch thuo c ve mot user.
ä æ ä à ä
õ ä ø é à ù
Dö lie u Session thöô ng ga n lie n vô i mot user, no qua n ly cac tho ng tin ve
ä ù û ù ù â à
û ä ù
user ñang sö duï ng mo t ö ng duïng .
ù ù
Cu pha p
Session.collection|property|method
Collections
ù ù ø â ø ù ù ä
Chö a ca c muï c (item) ma baï n the m va o session vô i ca c le nh
Contents
script .
Properties
SessionID û à á ù
Tra ve ñò nh danh session ño i vô i user.
ä
Löu haønh no i boä
35 å
Tìm hie u veà ASP
Timeout û ø á ù ù
Khoa ng thô i gian ñoi vô i ca c session trong ud.
Methods
û û ä á
Hu y bo mo t ño i töôïng Session va gia i pho ng ta i nguye n cu a
ø û ù ø â û
Abandon
ù
no .
Events
û ø û à â â à ä
Xa y ra khi ngöô i sö duï ng ña u tie n ye u cau mo t trang trong
Se_OnStart
ä
mo t chöông trìng ud
Se_OnEnd û á ù
Xa y ra khi session ke t thu c
õ â
III.8.1.Löu trö thong tin Session
á à õ õ ä á õ ä
Ne u baïn ca n löu trö dö lie u trong ño i töôï ng Session thì löu trö trong mo t
û á â õ á ù
collection cu a ño i töôï ng Session. Tho ng tin löu trö trong ño i töôï ng Session thì co
ù â ø ù
gia trò thong qua session va co session scope.
õ õ ä á û á
Ví duï : löu trö dö lie u trong 2 bie n cu a ño i töôï ng Session
<HTML>
<HEAD><TILTE>Session Example</TILTE></HEAD>
<BODY>
<%
Session("Name") = "John"
Session("age") = 20
%>
</BODY>
</HTML>
å â ø á ä â á
Ñe truy tìm laï i tho ng tin tö ñoi töôï ng Session, truy ca p te n bie n.
å ù ä ø û ø
Ví duï : hie n thò gia trò hie n ha nh cu a Session("Name") va Session("age")
<HTML>
<HEAD><TILTE>Session Example</TILTE></HEAD>
<BODY>
<%
Response.Write Session("Name") & “<BR>”
ä
Löu haønh no i boä
36 å
Tìm hie u veà ASP
Response.Write Session("age") & “<BR>”
%>
</BODY>
</HTML>
û ù ù
Qua n ly ca c session
é à ø á ù
Ba t ña u va ke t thu c Session
ä ù å é à è ù
Mo t Session co the ba t ña u bang 3 ca ch :
á â à ä ä ø ä
♦ User muo n ye u ca u mo t URL ñöôï c ñò nh nghó a trong ta p tin .asp va ta p tin
ù à û û
Global.asa cho ö ng duï ng bao go m ca thu tuï c Session_OnStart
õ ù á
♦ User löu trö gia trò trong ño i töôï ng Session
â à ä ä ù ø ä
♦ User ye u ca u mo t taä p tin asp trong mo t trình ö ng duïng va ta p tin
û ù û û
Global.asa cu a ö ng duï ng sö duï ng the <OBJECT> ñe khô i taï o mo t ñoi töôï ng vô i
å û ä á ù
session scope.
ä ä á ù
Mo t session töï ño ng ke t thu c ne u user kho ng co ye u ca u hoa c refresh mo t
á â ù â à ë ä
ä ù ä û ø ù ø ë
trang trong mo t ö ng duï ng trong mo t khoa ng thô i gian. Gia trò na y ma c ñò nh
ø ù ù å
la 20 phu t. Baï n co the thay ño i gia trò mac ñò nh cho mo t ö ng duï ng ba ng ca ch
å ù ë ä ù è ù
á ä
thie t la p Session Timeout property.
ë û ø ø ù
Ví duï : ña t laï i khoa ng thô i gian la 40 phu t.
<% Session.Timeout = 40 %>
ø õ ù å á
Ngoa i ra, baï n cu ng co the ke t thu c mo t session vô i phöông thö c Abandon cu a ño i
ù ä ù ù û á
töôï ng Session .Ví duï:
<% Session.Abandon %>
ä
Löu haønh no i boä
37 å
Tìm hie u veà ASP
ä ä
III.8.2.Nha n daï ng mo t Session
ù ã ä á ã ù ä
ASP ga n mo i user session mo t ñò nh danh duy nha t. Mo i session co mot
á ù û å
ñò nh danh duy nha t ñöôï c pha t sinh bô i server khi session ñöôï c taï o ra.Ñe tìm laï i
û û á
session ID, sö duï ng SessionID property cu a ño i töôï ng Session.
ù ù
Cu pha p
Session.SessionID
Ví duï :
<HTML>
<HEAD><TILTE>SessionID Example</TILTE></HEAD>
<BODY>
Your session ID is :<% =Session.SessionID %>
</BODY>
</HTML>
III.8.3.Timeout
æ û ø õ ù á ù
Timeout ch ñò nh khoa ng thô i gian ña gan ño i töôï ng Session cho ö ng duï ng
è ù á ø û
(tính ba ng phu t). Ne u ngöô i sö duï ng kho ng refresh(la m töôi) hoa c ye u ca u mo t
â ø ë â à ä
ä û ø á ù
trang trong mo t khoa ng thô i gian, session ke t thu c.
ù ù
Cu pha p
Session.Timeout [ = nMinutes]
Tham soá
nMinutes
æ á ù ø ä
Ch ñò nh so phu t ma mo t session co the va n co n tröô c khi server ke t thu c
ù å ã ø ù á ù
ù ä ù ä ë ø ù
no mo t cach töï ño ng, ma c ñò nh la 20 phu t.
ø ë ù ù
Ví duï : hieå n thò Timeout property va ña t laï i gia trò Timeout mô i.
<HTML>
<HEAD><TILTE>Timeout Example</TILTE></HEAD>
ä
Löu haønh no i boä
38 å
Tìm hie u veà ASP
<BODY>
Timeout=<% =Session.Timeout %><BR>
<% Session.Timeout=30 %>
Your new time out is: <% =Session.Timeout %>
</BODY>
</HTML>
ù â å ë
Löu y : Baïn kho ng the ña t laï i khoa ng thô i gian nho hôn gia trò ma c ñò nh.
û ø û ù ë
ù ä
III.8.4.Ca c söï kie n Session
á ù ä û ä
Ño i töôï ng Session co 2 söï kie n: Session_OnEnd ñöôï c kích khô i khi mo t
é à ø
session ba t ña u va Session_OnStart ñöôï c kích khô i khi mo t session ke t thu c. Ca 2
û ä á ù û
ä ø û ä
söï kie n nay pha i ñöôïc ñò nh vò trong ta p tin Global.asa. No chö a toa n bo tho ng tin
ù ù ø ä â
à ù û ä ù á ù
ve ö ng duïng Web site cu a baï n. Ta p tin Global.asa co ca u tru c sau:
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Session_OnEnd
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Session_OnStart
End Sub
</SCRIPT>
Tham soá
ScriptLanguage
æ â õ û
Ch ñò nh ngo n ngö scripting sö duï ng ñe vie t ca c script söï kie n. No co the la
å á ù ä ù ù å ø
á ø õ ã ø ë
ba t ky ngoâ n ngö scripting ñöôï c ho trôï nhö la VBScript hoa c JScript.
ù
Ghi chu :
ä
Löu haønh no i boä
39 å
Tìm hie u veà ASP
â å û ù û ë ù
Baï n kho ng the sö duï ng ca c the HTML hoa c phöông thö c Response.Write be nâ
ä
trong ta p tin Global.asa.
â å ù
Baï n kho ng the goï i phöong thö c MapPath trong ñoaï n script Session_OnEnd.
â ù ù è á
Baï n ne n chu y ra ng ba t ky script söï kie n Session_OnStart na o theo sau la mo t
ø ä ø ø ä
ø ù ù â á â
lô i goï i tô i phöông thö c Redirect thì kho ng ñöôï c thöïc thi. Vì the , baï n ne n goï i
ù ø ä û
phöông thö c Redirect sau cu ng trong script söï kie n cu a baï n.Ví duï nhö:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
û
' ñoaï n script khô i taï o Session
Response.Redirect "http:/server/app/StartHere.asp"
End sub
</SCRIPT>
â â å
Tuy nhie n, baï n kho ng the löu trö mo t ño i töôï ng co sa n trong ño i töôï ng
õ ä á ù ü á
Session.Ví duï nhö:
<%
Set Session("var1") = Session
Set Session("var2") = Request
Set Session("var3") = Response
Set Session("var4") = Server
Set Session("var5") = Application
%>
ù å û á å
Baï n co the sö duï ng ño i töôï ng session ñe thie t la p nhö ng ño i töôï ng hoa c bie n
á ä õ á ë á
ù ø û ä ø ù ø
co session scope. Scope la söï mô ro ng ma no la 1 ño i töôï ng tha nh pha n hoa c bie n
á ø à ë á
ä
Löu haønh no i boä
40 å
Tìm hie u veà ASP
ù ù ä á ø ù ù æ ù å â
co gia trò trong ASP. Mo t bie n ma co session scope thì no ch co the be n trong
ù
session ño.
á
III.8.5.Ño i töôï ng Application
á ø å û
Ño i töôï ng Application du ng ñe chia se tho ng tin giö a ta t ca ngöô i sö duï ng
â õ á û ø û
û ä ù ä ù â ø ä ù ä
cu a mo t öng duï ng. Mo t ö ng duï ng tre n ASP ñöôï c ñò nh nghó a nhö toa n bo ca c ta p
ä û ø ù
tin .asp trong mo t thö muï c a o va ca c thö muï c con cu a no . Mo t so ña c ñie m cu a ö ng
û ù ä á ë å û ù
duï ng ASP:
õ ä ù å û õ ù ù
Dö lie u co the ñöôïc chia se giö a ca c trang trong ö ng duï ng.
ä å û ä á
Mo t thöï c the cu a mot ño i töôï ng co the ñöôï c chia se giö a ca c trang trong ö ng
ù å û õ ù ù
duï ng.
ø ä ù ø
Dö ng mo t ö ng duï ng ma kho ng a nh höô ng tô i ca c ö ng duï ng kha c.
â û û ù ù ù ù
ù ù
Cu pha p
Application.method
Collections
ù á û ù õ â ø
Chö a ta t ca ca c muï c ña ñöôï c the m va o
Contents á â ù ä
ño i töôï ng Application tho ng qua ca c le nh
script.
Methods
ê á ù
Nga n ca m ca c client kha c sö a ño i ña c tính ño i töôï ng
ù û å ë á
Lock
Application .
ù ù ù û å ë á
Cho phe p ca c client kha c sö a ño i ña c tính ño i töôï ng
Unlock
Application .
Events
û ù á ù ø
Application_OnEnd Xa y ra khi ö ng duï ng ke t thu c(ví duï khi ngö ng web server)
û ä ù à à
Application_OnStart Xa y ra khi mo t trang trong ö ng duï ng la n ña u ñöôï c tham
ä
Löu haønh no i boä
41 å
Tìm hie u veà ASP
û á
kha o ñe n.
û ù ø
III.8.5.1.Sö duï ng phöông thö c Lock va Unlock
å ê á ù
Ñe nga n ca m gia trò ca c bie n löu trö trong ño i töôï ng Application co the bò
ù á õ á ù å
ù á é ä õ ä
hö khi co 2 client co ga ng truy ca p dö lieu cu ng mo t lu c thì chu ng ta co the sö
ø ä ù ù ù å û
ù ø ù ã á â
duï ng phöông thö c Lock va Unlock.Khi phöông thö c ñang Lock die n tie n thì kho ng
ù ù ù á é å â õ á
co ca c ñoaï n script kha c co gang thay ñoi tho ng tin löu trö trong ño i töôïng
á ù
Application cho ñe n khi phöông thö c Unlock ñöôï c goï i.
ù ù
Cu pha p
Application.Lock
Application.Unlock
û á ù å õ á à ä å õ
Ví duï : sö duï ng bie n ö ng duï ng NumVisits ñe löu trö so la n mot trang cuï the ña
ä ù å æ ù ä ø ù å
ñöôï c truy ca p.Phöông thö c Lock ñöôï c goï i ñe ch co client hie n ha nh co the truy
ä ë å ù ù ù õ
ca p hoa c thay ño i NumVisits.Sau ño goïi phöông thö c Unlock cho phe p nhö ng
ø û ù ä á
ngöô i sö duï ng kha c truy ca p ñoi töôï ng Application.
<%
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application.Unlock
%>
This application page has been visited
<%= Application("NumVisits") %> times!
ä
Löu haønh no i boä
42 å
Tìm hie u veà ASP
ù ä
III.8.5.2.Ca c söï kie n Application
á á á ø ù ä
Gio ng nhö ño i töôïng Session, ño i töôï ng Application cu ng co 2 söï kie n: Söï
ä û ä ù
kie n Application_OnStart xa y ra khi mo t ö ng duï ng ASP ba t ña u va tröô c söï kie n
é à ø ù ä
ä û ù á ù ø
Session_OnStart, söï kie n Application_OnEnd xa y ra khi ö ng duï ng ke t thu c va sau
ä
söï kie n Session_OnEnd.
ù ù
Cu pha p
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Application_OnEnd
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Application_OnStart
End Sub
</SCRIPT>
Tham soá
ScriptLanguage
æ â õ û
Ch ñò nh ngo n ngö scripting sö duï ng ñe vie t ca c script söï kie n.No co the
å á ù ä ù ù å
ø á â õ ã ø ë
la ba t kyø ngo n ngö scripting ñöôï c ho trôï nhö la VBScript hoa c JScript.
Ghi chuù
â å ù
Baï n kho ng the goï i phöông thö c MapPath trong ñoaï n script
Application_OnEnd .
ä
Löu haønh no i boä
43 å
Tìm hie u veà ASP
å â ã û ù ø ù
Ví duï : hie n thò tho ng tin cho mo i user cu a ö ng duïng xem khi va o ö ng duï ng
è ù û ä ù ù ø û
ba ng ca ch sö duï ng söï kie n Application_OnStart, sau ño cho phe p ngöô i sö duï ng
û å â
sö a ño i laï i tho ng tin.
<SCRIPT LANGUAGE =VBScript RUNAT=Server>
Sub Application _OnStart
Application (“yourname” )= “Unknow”
Application (“occuption” )= “Unknow”
End Sub
</SCRIPT>
---Display.asp---
å â å ä ä ù å
‘hie n thò tho ng tin ñe user truy ca p ta p tin Display.asp co the xem
<HTML>
<BODY>
Thank you, <%=Application (“yourname”)%><br>
You are <%=Application (“occuption”)%><br>
</BODY>
</HTML>
---Change.asp---
å ù ù ø á å å
‘ thay ño i gia trò mô i va nha n Send ñe thay ño i
<html>
<body>
<Form Method=“GET” Action=“Result.asp” >
Please enter your name: <input type="text" name="name" ><br>
Please choose your occupation:<BR>
ä
Löu haønh no i boä
44 å
Tìm hie u veà ASP
<input type= "radio" name= "occup" >Studen <br>
<input type= "radio" name= "occup" >Teacher <br>
<input type= "radio" name= "occup" >Engineer <br>
<input type="submit" value="Send" >
</form>
</body>
</html>
---Result.asp---
ë ù ä
‘ña t laï i gia trò nha n ñöôï c tö user trong ta p tin Change.asp va chuye n höô ng
ø ä ø å ù
á á ù ä å ù ù
ke t no i user tô i ta p tin Display.asp ñe xem gia trò mô i.
<%
If Not IsEmpty(Request .Form(“ newmsg” )) then
Application.Lock
Application(“yourname”) = Request.QueryString(“name” )
Application(“your_occup”) = Request.QueryString(“occup” )
Application .UnLock
End If
Response.Redirect “Display.asp”
%>
â å õ ä á ù ü á
Baï n kho ng the löu trö mo t ño i töôï ng co sa n trong ño i töôï ng Application. Ví duï
nhö:
<%
Set Application("var1") = Session
Set Application("var2") = Request
Set Application("var3") = Response
ä
Löu haønh no i boä
45 å
Tìm hie u veà ASP
Set Application("var4") = Server
Set Application("var5") = Application
%>
Ù Ø À Û
VI. CA C THA NH PHA N (COMPONENT) CU A ASP
ø ù á û
Ngoa i ca c ño i töôï ng cô ba n co sa n trong mo i tröô ng ASP, ASPvie c taï o ca c
ù ü â ø ä ù
ä è ø ù
trang Web ño ng ba ng ASP co n ñöôï c trôï giu p nhô mo t so thö vie n ca c ño i töôï ng
ø ä á ä ù á
û ù ø à á á å
(Active X Component) cu a ActiveX Server. Ca c tha nh pha n ñöôï c thie t ke ñe chaï y
â ä ù û ø ù ù û ë
tre n Web Server nhö mo t ö ng duï ng Web cô sô hôïp tha nh ca c go i nho ña c tröng
ø ä ã ø à
chung la ño ng. Mo i tha nh pha n ñöôï c sö duï ng cho mo t co ng vie c chuye n bie tnhie m
û ä â ä â ä ä
ø ä ä
cho la mo t thö vie n ca c lô p (hay ño i töôï ng), ñöôï c thie t ke ô daï ng Automation
ù ù á á á û
ä ä ù â ä
Server, thöï c hie n mo t nho m co ng vie c chung nha t cho mo t thao ta c na o ño , cha ng
á ä ù ø ù ú
á á á ø ù å ù
haï n nhö truy xua t database, truy xua t file… vì the ngöô i pha t trie n ö ng duï ng Web
è ä à û ù ë ø
ba ng ASP kho ng ca n pha i taï o laï i ca c ña c tính na y.
ù å ä ù
Baï n co the taï o ño ng, töông ta c vô i ca c trang Web ba ng ca ch sö duï ng ca c
ù ù è ù û ù
ø à õ ù ù
tha nh pha n server ña ñöôï c included vô i Active Server Pages (ASP) trong ca c ñoaï n
û
script cu a baï n.
ø
Tha nh phaà n File Access
á
VI.1.Ño i töôï ng FileSystemObject
ø à û á ø
Tha nh pha n File Access sö duï ng ño i töôï ng FileSystemObject va TextStream
å â ø û å â õ â
ñe kho i phuï c laï i va sö a ño i tho ng tin löu trö trong file tre n server.
á á ù ù ä ê û ø â
Ño i töôï ng FileSystemObject cung ca p thao ta c cac ta p tin va n ba n tö be n trong
õ û ù ù
ñoaï n ma cu a chu ng ta. Chu ng ta co the taïo mo t thöïc the cu a ño i töôï ng
ù å ä å û á
è ù û
FileSystemObject ba ng ca ch sö duï ng ñoaï n script sau:
Set objFSO=CreateObject(“Scripting.FileSystemObject”)
ã ù ù ä á ù
Mo i khi chu ng ta co mo t ño i töôï ng FileSystemObject, chu ng ta taï o ñoá i
è ù û ù ù û
töôï ng TextStream ba ng ca ch sö duï ng ca c phöông thö c cu a FileSystemObject
ä
Löu haønh no i boä
46 å
Tìm hie u veà ASP
ù
VI.1.1Phöông thö c CreateTextFile
ù ä ê û
Phöông thö c CreateTextFile taï o mo t file va n ba n mô i hoa c vie t ñe len mo t
ù ë á ø â ä
õ à ù ø û à
file ña to n taï i. Phöông thö c nay tra ve mo t ño i töôïng TextStream ma chu ng ta co
ä á ø ù ù
å û å ë ø
the sö duï ng ñe ñoï c file hoa c ghi va o file. Tröô c tie n chu ng ta taï o mo t ño i töôï ng
ù â ù ä á
ù û á ø å á
FileSystemObject, sau ño sö duï ng ño i töôï ng na y ñe taï o ño i töôï ng TextStream.
ù ù
Cu pha p:
[object.]CreateTextFile(filename[,overwrite])
ù á
Ca c tham so :
Object â û ä á
Te n cu a mo t ño i töôï ng FileSystemObject
Filename ø ã ø â ù ë
Ñöô ng da n va te n file chu ng ta taï o ra hoa c ghi
â
le n
Overwrite ø â ä õ à ø
TRUE ghi ñe le n mo t file ña to n taï i, ngöôï c laï i la
FALSE
ä ù ø õ ä ø
Ví duï : taïo mo t file mô i va ghi dö lie u va o file.txt
<%
Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”)
Set objNewFile=obj.CreateTextFile(“C:\MyFile\file.txt”,FALSE)
objNewFile.Write(“Hello”)
objNewFile.WriteLine(“Welcom”)
objNewFile.Close
%>
ù
VI.1.2.Phöông thö c OpenTextFile:
ù û ä
Phöông thö c OpenTextFile mô mo t file va n ba n ña to n taï i. Phöông thö c na y
ê û õ à ù ø
û à ä á ø
tra ve mo t ño i töôï ng TextStream ma chung ta co the sö duï ng ñe ñoï c file hoa c
ù ù å û å ë
â õ ä ø
the m dö lie u va o file. Tröô c tie n, chu ng ta taï o mo t ño i töôï ng FileSystemObject sau
ù â ù ä á
ù û á ø å á
ño sö duï ng ño i töôï ng na y ñe taï o ño i töôïng TextStream.
ä
Löu haønh no i boä
47 å
Tìm hie u veà ASP
Set objFSO=CreateObject(“Scripting.FileSystemObject”)
Set objNewFile=obj.OpenTextFile (“C:\TextFile\Myfile.txt”)
ù ù
Cu pha p:
[object.]OpenTextFile (filename[,iomode[ , create]])
ù á
Ca c tham so :
Object â û ä á
Te n cu a mo t ño i töôï ng FileSystemObject.
Filename ø ã ø â á û
Ñöô ng da n va te n taä p tin muo n mô .
Iomode ë ë ø
ForReading hoa c ForAppending. Ma c ñò nh la
ForReading.
Create ä ù ë ø á
TRUE taï o mo t file mô i hoa c la FALSE ne u file
õ à à
ña to n taï i ro i.
ä û ù
Ví duï1 : ñoï c mo t file sö duïng phöông thö c ReadLine
<HTML>
<HEAD>
<TITLE>ReadingFile.asp</TITLE>
</HEAD>
<BODY>
<%
Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”)
Set objTextFile=obj.OpenTextFile(“C:\MyFile\file.txt”, 1 , FALSE )
WHILE NOT objTextFile.AtEndOfStream
Response.Write objTextFile.ReadLine(“Hello”)
WEND
objTextFile.Close
%>
</BODY>
</HTML>
â õ ä ø
Ví duï 2 : the m dö lie u va o file.txt
<HTML>
ä
Löu haønh no i boä
48 å
Tìm hie u veà ASP
<HEAD>
<TITLE>ReadingFile.asp</TITLE>
</HEAD>
<BODY>
<%
Set objFSO=Server.CreateObject(“Scripting.FileSystemObject”)
Set objTextFile=obj.OpenTextFile(“C:\MyFile\file.txt”,ForAppending)
objTextFile.WriteBlankLines(2)
objTextFile.WriteLine(“This is a new line”)
objTextFile.Close
%>
</BODY>
</HTML>
á
VI.2..Ño i töôï ng TextStream
û ù ù ø û á å
Sö duï ng ca c phöông thö c va property cu a ño i töôï ng TextStream ñe ñoï c hay
õ ä ø
ghi dö lieu va o file.
ù
Phöông thö c
Close ù ä
Ño ng mo t file.
Read(numchars) ù ø
Ñoï c numchars ky töï tö file.
ReadAll ø ä ä û
Ñoï c toa n bo no i dung cu a file TextStream .
ReadLine ä ø ø
Ñoï c mo t do ng tö file.
Skip(numchars) û ù
Nha y qua numchars ky töï khi ñoï c file.
SkipLine û ø á á
Nha y qua do ng ke tie p khi ñoï c file.
Write(string) ã â
Ghi chuo i le n file.
WriteLine([string]) ã ø
Ghi chuo i va the m ky töï xuo ng ha ngle n file.
â ù á ø â
WriteBlankLine(n) ø â
Ghi n do ng le n file.
Properties
ä
Löu haønh no i boä
49 å
Tìm hie u veà ASP
AtEndOfLine á û û á ø ä
TRUE ne u con tro file ô cuo i do ng trong mo t file.
AtEndOfStream á û û á
TRUE ne u con tro file ô cuo i file.
Column û à á ä ä
Tra ve so co t hie n ha nh trong mo t file, ba t ña u tö 1.
ø ä é à ø
Line û à á ø ä
Tra ve so do ng hie n ha nh trong mo t file, ba t ña u tö 1.
ø ä é à ø
û å õ ä ø
Ví duï 1 : sö duï ng FileSystemObject ñe ghi dö lie u va o file
<%
Set objFile =Server. CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFile.CreateTextFile("c:\myfile.txt", True)
objTextFile.WriteLine("This is a test.")
objTextFile.Close
%>
û å
Ví duï 2 : sö duï ng FileSystemObject ñe ñoï c file
<%
Set objFile =Server.CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFile.CreateTextFile("c:\testfile.txt", True)
While NOT objTextFile.AtEndOfStream
Response.Write(objTextFile.ReadLine)
Wend
objTextFile.Close
%>
ø à
VI.3.Tha nh pha n Ad Rotator
ø ä á ä ù û û
Tha nh phaà n Ad Rotator taï o mo t ño i töôï ng töï ño ng quay ca c hình a nh qua ng
ù â ä
ca o tre n mo t trang Web. Mo i khi mo t user mô hoa c naï p laï i trang Web ,tha nh
ã ä û ë ø
ä
Löu haønh no i boä
50 å
Tìm hie u veà ASP
à å ä â
pha n Ad Rotator hie n thò mo t tho ng ba o mô i döï a tre n tho ng tin baï n ch ñò nh
ù ù â â æ
trong Rotator Schedule File
ù ù
Cu pha p:
Set AdRotator = Server.CreateObject("MSWC.AdRotator")
ù ø â û á
vô i AdRotator la te n cu a ño i töôï ng AdRotator.
Properties
Border æ ù
Ch ñò nh kích thöô c ñöô ng vie n cu a qua ng ca o banner.
ø à û û ù
á û ù ù ù
Cho bie t qua ng ca o banner co chö c na ng la mo t sie u lie n ke t.
ê ø ä â â á
Clickable
ù ù ù ø ø
No co 2 gia trò la TRUE va FALSE.
æ â û å â ù ù
TargetFrame Ch ñò nh te n cu a frame ñe hieå n thò tho ng ba o trong ño .
Methods
á á â à û ù
GetAdvertisement La y chi tie t tho ng tin ve qua ng ca o banner.
å å û ø à ù û
Ñe taï o moä t thöï c the cu a tha nh pha n Ad Rotator, chu ng ta sö duï ng phöông
ù û á
thö c CreateObject cu a ño i töôïng Server.
<% Set objAd= Server.CreateObject("MSWC.AdRotator") %>
å ù â ù ù ã ù
Ví duï : Hie n thò ca c tho ng ba o kha c nhau mo i khi user xem trang Web, trong ño
ä ù â à ù û ù å
ta p tin MyAdFile.txt chö a tho ng tin ve cac qua ng ca o ñöôï c hie n thò .
<HTML>
<HEAD>
<TITLE>Adrotator Example</TITLE>
</HEAD>
<BODY>
<%
Set objAd = Server.CreateObject("MSWC.AdRotator") %>
objAd.Border(0) â ù ø à
‘kho ng co ñöô ng vie n
ø ä â â á
objAd.Clickable(TRUE) ‘la mo t sie u lie n ket
ø â
objAd.TargetFrame(“MyFrame”) ‘naï p va o frame te n MyFrame
ä
Löu haønh no i boä
51 å
Tìm hie u veà ASP
strHTML=objAd.GetAdvertisement(“AdFiles\MyAdFile.txt”)
Response.Write(strHTML) ø
‘ñöa HTML va o trong trang
%>
</BODY>
</HTML>
ø à
VI.4.Tha nh pha n Browser Capabilities
ù û ê å û ã â ù ã
Xa c ñò nh kha na ng, loaï i, kie u cu a mo i browser nhö te n,version,co ho trôï
â
frame,table hay kho ng…)
ä á á ù
Khi mo t browser ke t no i tô i web server, no töï ño ng gô i tie u ñe User Agent
ù ä û â à
â à ø ø
HTTP. Tie u ñe na y la mo t chuo i ASCII ñò nh daï ng browser va version cu a no
ä ã ø û ù
ù å â ù
Baï n co the the m cac property hoa c ñò nh nghó a browser mô i ba ng ca ch ca p
ë ù è ù ä
ä
nha t file browscap.ini.
ù ù
Cu pha p
Set BrowserType = Server.CreateObject("MSWC.BrowserType")
ù
vô i BrowserType la te n ño i töôï ng BrowserType.
ø â á
û á å ä û á ù û
Ví duï : sö duï ng ño i töôï ng BrowserType hie n thò mo t ba ng cho bie t ca c kha
ê û ä ø
na ng cu a browser hie n ha nh
<HTML>
<HEAD>
<TITLE>Browser Example</TITLE>
</HEAD>
<BODY>
<% Set objBrow = Server.CreateObject("MSWC.BrowserType") %>
<table border=1>
<tr><td>Browser</td><td><%= objBrow.browser %>
<tr><td>Version</td><td><%= objBrow.version %> </td></TR>
ä
Löu haønh no i boä
52 å
Tìm hie u veà ASP
<tr><td>Frames</td><td>
<% if (objBrow.frames = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>Tables</td><td>
<% if (objBrow.tables = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>BackgroundSounds</td><td>
<% if (objBrow.BackgroundSounds = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>VBScript</td><td>
<% if (bc.vbscript = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
<tr><td>JScript</td><td>
<% if (bc.javascript = TRUE) then %> TRUE
<% else %> FALSE
<% end if %> </td></TR>
</table>
</BODY>
</HTML>
ä
Löu haønh no i boä
53 å
Tìm hie u veà ASP
ø à
VI.5.Tha nh pha n Content Linking
ä û ø â
Taï o no i dung cu a trang va lien ke t chu ng vô i nhau gio ng nhö nhö ng trang
á ù ù á õ
ä å ù
trong mo t quye n sa ch.
ø û ù ù ù ù ù
Tha nh phaà n Content Linking taï o Nextlink qua n ly danh sa ch ca c URL, no co
å ù ø ä ä û
the pha t sinh va ca p nha t ba ng no i dung va ñie u khie n lie n ket tô i ca c trang tröô c
ä ø à å â á ù ù ù
ù ø ù ù
ño va ca c trang sau ño .
ù ù
Cu pha p
Set NextLink = Server.CreateObject("MSWC.NextLink")
ù
vô i NextLink la ten cu a ño i töôï ng ñöôï c taï o bô i phöông thö c
ø â û á û ù
Server.CreateObject .
ù ù
Ca c phöông thö c
GetListCount(list) û à å á ù
Tra ve to ng so trang chö a trong list file.
GetNextURL(list) á û á á
La y URL cu a trang ke tie p trong list file.
á ø â û û ù ù
GetPreviousDescription(list) La y do ng mo ta cu a trang tröô c ño trong list file .
GetListIndex(list) á û ä ø
La y vò trí cu a trang hie n ha nh trong list file.
GetNthDescription(list,n) â û ù
Mo ta trang thö Nth trong list file.
GetPreviousURL(list) á û ù ù
La y URL cu a trang tröô c ño trong list file.
GetNextDescription(list) á â û û á á
La y mo ta cu a trang ke tie p trong list file.
GetNthURL(list,n) á û ù
La y URL cu a trang thö Nth trong list file.
ä û ä
VI.5.1.Taï o no i dung cu a mo t trang
â û ä
Xa y döï ng ba ng no i dung trong trang :
<ul>
<% Set objNextLink = Server.CreateObject ("MSWC.NextLink") %>
<% intCount = objNextLink.GetListCount ("contentlink.txt")
For intLoop=1 To intCount %>
ä
Löu haønh no i boä
54 å
Tìm hie u veà ASP
<li>
<a href="<%= NextLink.GetNthURL ("contentlink.txt",intLoop ) %> ">
<%= objNextLink.GetNthDescription ("contentlink.txt",intLoopI) %>
</a>
<% Next %>
</ul>
<% intCount = objNextLink.GetListCount ("links\ contentlink.txt")
<% intCoun=objNextLink.GetListCount ("/demo/contentlink.txt")
ä â ù
VI.5.2. Duye t tho ng qua ca c trang
â ø ù ø ù ù ä
Ñoaï n script sau the m va o nu t Back va nu t Next tô i mo t file HTML .
<% Set objNextLink = Server.CreateObject ("MSWC.NextLink")
strListFile=(“contentlink.txt”)
intThisPage= objNextLink. GetListIndex(strListFile)
If ( intThisPage > 1) Then %>
<Input Type=Button Value=“<Back” Onclick=“location.href=’<%=
objNextLink.GetPreviousURL (strListFile) %>’ ; ">
<% End If %>
<Input Type=Button Value=“Home” Onclick=“location.href=’content,asp %>’
; ">
If ( intThisPage < objNextLink. GetListCount(strListFile) Then %>
<Input Type=Button Value=“Next>” Onclick=“location.href=’<%=
NextLink.GetNextURL (strListFiel) %>’; ">
<% End If %>
ø à
Tha nh pha n Database Access
ä
Löu haønh no i boä
55 å
Tìm hie u veà ASP
ù å õ ä ù
Ta co the taï o nhö ng trang Web ño ng ta c ño ng la n nhau ba ng ca ch sö duïng ca c
ä ã è ù û ù
ø à
tha nh pha n Server sau trong Script
ä ù á è ù û ø à
Mo t ö ng duï ng Web Database vie t ba ng ca ch sö duïng tha nh pha n Database Access
û ø ø ä â õ
cu a ActiveX hay co n goï i la thö vie n ADO (ActiveX Data Object). Ña y cu ng chính
ø ä å á û ä ù å ù
la mo t ñiem maï nh nha t cu a ASP trong vie c pha t trie n ö ng duï ng Web Database.
ù á û á
Ca c ño i töôï ng cu a ADO cung ca p cô che taï o ra ca c ke t no i (Connection) vô i
á ù á á ù
à á ù å õ
ha u he t cac kie u Database, cu ng nhö vie c truy xua t, ca p nha t ca c Database na y.
ä á ä ä ù ø
ä ä ø ä â
Hie n nay thö vie n ADO la mo t co ng cuï maï nh nha t trong vie c pha t trie n ca c
á ä ù å ù
ù â
ö ng duï ng Database tre n Internet.
à ø õ
Trong pha n na y ta se xem xe t ca c pha n trong thö vie n co ng cuï na y.
ù ù à ä â ø
ä
Giao die n ADO :
á á ä ù û
ADO ñöôïc thie t ke mo t ca ch ñôn gia n nha t, no giao tie p vô i database tho ng
á ù á ù â
ù ù ù å û
qua phöông thö c ODBC (Open Database Connectivity), chu ng ta co the sö duï ng
ù ù á ø
chu ng vô i ba t ky loaïi Database na o ne u nhö ODBC co driver ho trôï . (Hie n nay to n
ø á ù ã ä à
à á ù
taï i Driver cho ha u he t ca c loaï i Database, nhö Foxpro, Access, oracle, Spl
â ù û õ ä û ë
server…tuy nhie n cac file cô sô dö kie u theo daï ng ba ng nhö Exel, hoa c File text
â ã
thì ODBC kho ng ho trôï ).
ù á
Ca c ño i töôï ng trong ADO
ù á ù ø ø
Ca c ño i töôï ng chính trong ADO ño la : Connection, Commmand va RecordSet.
ø á ø ø
Ngoa i ba ño i töôï ng chính na y co n co cac ño i töôï ng con cu a no cu ng vô i ca c tham
ù ù á û ù ø ù ù
á ù â
so , property, phöông thö c be n trong. Sö duï ng Connection ta co the thie t la p söï lie n
û ù å á ä â
á ù û õ ä â ù
ke t vô i cô sô dö lie u, tho ng qua ño ta co the thöï c hie n ca c query ñe la y ra ca c
ù å ä ù å á ù
ä ä ä
record hoaë c ca p nha t mo t record ba ng sö duï ng ño i töôï ng Command. Ke t qua thöï c
è û á á û
ä
Löu haønh no i boä
56 å
Tìm hie u veà ASP
ä ù â
hie n ca c query tre n database se ñöôï c löu va o ño i töôï ng RecordSet, tre n ño i töôï ng
õ ø á â á
ø ù å ä ø á ä à
na y ta co the duye t va la y ra mo t hay nhie u Record.
á
1. Ño i töôïng Connection
å û á ù â ä
Ñe sö duï ng ño i töôï ng Connection, tröô c tie n ta phaû i taï o ra mo t thöï c theå
ù â ø å û á ø
(instance) cho no , ñay thöï c söï la thöï c the cu a ño i töôï ng na y trong trang ASP.
å å á ù å û
Ñe taï o moä t thöï c the (instance) ño i töôï ng Connection baï n co the sö duï ng ñoaï n
script sau:
<%
Connection_name= Server.CreateObject (“ADODB.Connection”)
%>
â ø ä ù á
Tho ng thöô ng trong mo t ö ng duï ng ne u ta ca n co mo t lie n ke t vô i Data Source
à ù ä â á ù
á á û ù õ ë û
co ñò nh cho ta t ca trang thì khi ño ta se ña t thöï c theå (instance) cu a Connection ôû
ù è ù
mö c application scope ba ng ca ch ñöa pha t bie u taï o thöï c the (instance) ô tre n va o
ù å å û â ø
ä
söï kie n Application_OnStart:
<%
Sub Application_OnStart ()
Set objConn= Servcer.CreateObject (“ADODB.Connection”)
End Sub
%>
ë á ä à û ù
hoa c thie t la p ta m vöï c cho Connection ô mö c Sesstion nhö sau :
<%
ä
Löu haønh no i boä
57 å
Tìm hie u veà ASP
Sub Session_OnStart ()
Set objConn = Server.CreateObject (“ADODB. Connection”)
End Sub
%>
â ù å
Tuy nhie n ta co the xem xe t the m vie c to i öu cho ca c Connection trong mo t
ù â ä á ù ä
ù ù à ø û á ù ù ø û ê
ö ng duï ng co nhie u ngöô i sö duïng truy xua t tô i Database, ño la kha na ng
û
Connection Pooling cu a ODBC 3.0.
Connection Pooling
ù ù û ù à á
Ca c ö ng duï ng cô sô ö ng duï ng truye n tho ng ñe u taï o mo t no i lie n ke t ñôn tô i
à ä á â á ù
ø ù û ø ù ù â û ø ù ù
Database ma no sö duï ng, co n ca c ö ng duï ng Database tre n Web laï i mô va ño ng ca c
â á ø û ã ä ä ù ù ù
lie n ke t na y ô mo i mo t trang Web. Mo t phöông pha p cho ca c ö ng duïng Database
â ø ä â á
tre n Web la taï o mo t söï lie n ket lie n tuï c vô i cô sô dö lie u cua tö ng ngöô i sö duï ng
â ù û õ ä û ø ø û
ø õ á
va löu trö trong ño i töôï ng Session.
â ù ø ù
Tuy nhie n phöông pha p na y co the la m gia ta ng so löôï ng ca c user co ke t no i
å ø ê á ù ù á á
ù û õ ä ø â ø
vô i cô sô dö lie u ma kho ng la m vie c va no ch ñaï t ñöôï c ño tin ca y ño i vô i ca c Web
ä ø ù æ ä ä á ù ù
ù â õ ä á
Site co söï löu tho ng dö lie u tha p (low-trafic)
ù ä ä û
Phöông pha p tie n lôï i trong vie c qua n ly ca c ke t noi vô i cô sô dö lie u cuû a ö ng
ù ù á á ù û õ ä ù
ø û è û è û ù á
duï ng Web la qua n lyù ba ng Connection Pool cu a ODBC 3.0, nha m gia m bô t so
â á û ã õ û ù
löôï ng lie n ke t ra nh ro i, ODBC se mô ca c ke t no i va qua n ly ca c ke t noi na y.
á á ø û ù ù á á ø
ã ù ä â à
Mo i khi co mo t ye u ca u mô i thì thöï c hie n vie c kie m tra xem co lie n keá t na o
ù ä ä å ù â ø
û â á â
trong Connection Pool ñang ra nh kho ng, ne u kho ng co thì se taï o ke t no i mô i, ne u
ù õ á á ù á
ù ù õ á â á û ø ø
co thì no se la y lie n ke t ra nh na y ma khoâ ng taï o lie n ke t mô i. Ne u mo t lie n ke t
â á ù á ä â á
û ø à
ra nh na o trong Connection Pool to n taï i qua 60 gia y thì no se töï ño ng loaïi bo .
ù â ù õ ä û
ä
Löu haønh no i boä
58 å
Tìm hie u veà ASP
ë â ù å û
Connection Pooling ñöôï c kích hoaï t ma c nhie n trong ASP, ta co the loaïi bo
è ù á ä ù à ù
ba ng ca ch thie t la p gia trò Register Entry Start Connection Pool ve gia trò 0.
ù ù ø ë û á
Ca c phöông thö c va ña c tính (property) cu a ño i töôï ng Connection
ù
Phöông thö c â û
Mo ta
Open û ä
Mô mo t ke t no i mô i tô i dö lieu nguo n.
á á ù ù õ ä à
Close ù ä á á
Ño ng laï i mo t ke t no i .
Execute ä ë ä û
Thöï c thi mo t query,SQL hoa c mo t thu tuï c löu
õ ü
trö sa n.
Property â û
Mo ta
CommandTimeout á â ø ä ä ù
So gia y chô ñôï i khi thöï c thi mo t le nh tröô c khi
á ù
ke t thu c.
ConnectionString â ø
Tho ng tin du ng ñe taïo ke t no i tô i nguo n dö
å á á ù à õ
ä
lie u.
á â ø ä á á ù
ConnectionTimeout So gia y chô ñôï i khi taï o ra mo t ke t no i tröô c
á ù
khi ke t thu c.
û ø ù ä á á
1.1 Mô va ño ng mo t ke t no i Database
å á ä ä
Ñe thie t la p mo t lie n no i vô i database thì baï n taïo thöï c the (instance) cu a
â á ù å û
á ù ù å û
ño i töôï ng Connection, sau ño ta co the mô mo t ke t no i tô i dö lie u nguo n (DSN) ñe
ä á á ù õ ä à å
ù å á õ ä
co the truy xua t dö lie u .
ù ù
Cu pha p :
Connection.Open ConnectionString,User,Passwosd
ä
Löu haønh no i boä
59 å
Tìm hie u veà ASP
ù
trong ño
ã â û â
ConnectionString : Chuo i ñò nh nghó a te n cu a Data Source Name (DSN), te n
ø ù
na y ñöôï c khai ba o trong ODBC.
â ø û ø û ä á á
User : Te n ngöô i sö duï ng ñöa va o khi mô mo t ke t no i
ä õ ø á ä ä á á
Password : Ma t ma ñöa va o khi thie t lap mo t ke t no i.
ä ù â ø ø
Ví duï : môû mo t DSN co te n la student,user="student" va password ="magic"
<%
Set objConn=Server.CreateObject("ADODB.Connection")
objConn .Open "DSN=student;uid=student;pwd=magic"
objConn.Close
Set objConn=Nothing
%>
û ù õ ä â ù á ù û
Sau khi xö ly xong dö lie u tre n data source, tröô c khi ke t thu c trang ta pha i
ù ù á á
ño ng laï i ca c ke t no i ña mô . Sö duï ng phöông thö c Close cu a ño i töôï ng Connection
õ û û ù û á
å ù ä á á
ñe ño ng mo t ke t no i.
objConn.Close
ä á á â
Sau khi ñoù ng mo t ket no i, baï n kho ng the sö duï ng ke t no i ñe giao tie p vô i
å û á á å á ù
database.
â ä ù á á
1.2Thöï c thi ca u le nh SQL vô i ke t no i Open:
õ á á ù
Sau khi ña ke t no i vô i Data Source, ñe thöï c thi mo t ca u le nh SQL hoa c vô i
å ä â ä ë ù
ä û û
mo t thu tuïc, sö duï ng phöông thö c Execute cho phe p thöï c thi mo t ca u leä nh ta c ño ng
ù ù ä â ù ä
ä
Löu haønh no i boä
60 å
Tìm hie u veà ASP
â ù ø ù ä û á
le n Data Source. Phöông thö c na y co 2 daïng : Mo t daï ng ñöôï c sö duï ng khi tìm kie m
á û ø ä ø
ke t qua tö mo t database va daïng kha c la ñöôï c sö duï ng khi kho ng co ke t qua na o
ù ø û â ù á û ø
û à
ñöôï c tra ve .
Set recordset = connection.Execute(CommandText, RecordsAffected,
Options)
connection.Execute CommandText, RecordsAffected, Options
ù
trong ño
ä á á ù á û á
recordset : Mo t bie n ño i töôï ng Recordset chö a ke t qua truy va n.
å
CommandText : Chöù a query ñe thöï c thi.
ä á á
Connection : Mo t bie n ño i töôï ng Connection.
ù á ø ä ù ä á
RecordsAffected : chö a so record ma le nh ta c ñong ñe n.
ù ù ù ù ù ù ã
Options : Co ca c gia trò kha c nhau töông ö ng vô i mo i loaï i CommandText.
ù
Gia trò è ù
Ha ng töông ö ng â û
Mo ta CommandText
ù ø ø ë
Unknown. Gia trò nay la ma c ñò nh khi ñò nh
0 AdCmdUnknown
nghó a.
ø ä â ä â
CommandText la mo t ca u le nh nhö ca u
1 AdCmdText
ä
le nh SQL.
2 AdCmdTable â û û
Te n cu a ba ng taï o recordset .
ä û õ ü
Mo t thu tuïc trö sa n (stored procedure)
3 AdCmdStoredProc
trong data source.
ù ù å û õ è á ø ä
Tröô c khi baï n co the sö duï ng nhö ng ha ng so na y trong mo t trang ASP, baï n
û ä ë ä ø
pha i include mo t file ña c bie t goï i la ADOVBS.inc.
ä
Löu haønh no i boä
61 å
Tìm hie u veà ASP
û ù å ä â ø
Ví duï 1 : sö duï ng phöông thö c Execute ñe thöï c thi mo t ca u leä nh SQL ma
â á á ø á û ø
kho ng tìm kie m laï i ba t ky ke t qua na o.
<!-- #include virtual="ADOVBS.INC"-->
<%
ä å û á
‘taï o mo t instance (thöï c the ) cu a ño i töôïng Connection
Set objConn = Server.CreateObject("ADODB.Connection")
û á á ù
‘mô ke t no i tô i Database
objConn.Open "DSN=student;uid=student;pwd=magic"
ä û õ ü â ø
‘thöï c thi mo t thu tuïc löu trö sa n te n la MyPro
objConn.Execute “MyProc”, adCmdStoredProc
objConn.Close
Set objConn=Nothing
%>
û ù å û á û ø ä â á
Ví duï 2 : sö duï ng phöông thö c Execute ñe tra ke t qua tö mo t ca u truy va n
SQL
<!-- #include virtual="ADOVBS.INC"-->
<%
ä å û á
‘taï o mo t thöï c the cua ño i töôï ng Connection
Set objConn = Server.CreateObject("ADODB.Connection")
û á á ù
‘Mô ke t no i tô i Database
ä
Löu haønh no i boä
62 å
Tìm hie u veà ASP
objConn.Open "DSN=student;uid=student;pwd=magic"
â ä
‘thöï c thi ca u le nh SQL
SQLtemp="SELECT * FROM MyTable WHERE Name= 'John' "
objConn.Execute SQLtemp, adCmdText
objConn.Close
Set objConn=Nothing
%>
á
2. Ño i töôïng Command.
û û ù û á
Thay vì pha i sö duï ng phöông thö c Execute cu a ño i töôï ng Connection ñeå
ä û õ ü ë
thöï c thi mo t thu tuï c löu trö sa n hoa c mo t ca u le nh SQL, ta co the sö duï ng ño i
ä â ä ù å û á
å ø ù ù
töôï ng Command ñe thi ha nh ca c thao ta c vô i cô sôû dö lie u nhö : the m, xo a, ca p
ù õ ä â ù ä
ä õ ä ë á õ ä ä û
nha t dö lie u hoa c truy va n dö lie u trong mo t ba ng.
Chu y : Ñe thöï c thi mo t truy va n kho ng sö duï ng ño i töôï ng Command, ñöa mo t
ù ù å ä á â û á ä
ã á ø ù û á
chuo i truy va n va o phöông thö c Execute cu a ño i töôï ng Connection hoa c la tô i ë ø ù
ù û á â á
phöông thö c Open cu a ño i töôïng Recordset. Tuy nhie n, ño i töôï ng Command ca n à
û á ã õ
ñöôï c sö duï ng khi baïn muo n van giö laï i le nh va thöïc thi laï i noù , hoa c sö duï ng ca c
ä ø ë û ù
á
tham so truy va n.á
ä ä å á õ á
Vie c taïo mo t thöïc the (instance) cho ño i töôï ng Command cu ng gio ng nhö
á ù ø õ û ù
ño i töôï ng Connection tö c la ta cu ng sö duï ng phöông thö c Server.CreateObject.
Ví duï :
Set objCmd = Server.CreateObject (“ADODB.Command”)
â å û á
Tuy nhie n ñe thöï c söï sö duï ng bie n ño i töôï ng na y ta pha i xem xe t ca c ña c tính
á ø û ù ù ë
ø ù ø ù
va phöông thö c ñi ke m theo no .
ä
Löu haønh no i boä
63 å
Tìm hie u veà ASP
ù
Phöông thö c â û
Mo ta
CreateParameter ä á
Taï o mo t ño i töôï ng Parameter trong
Parameters collection.
Execute â ä ë û
Thöï c thi ca u le nh SQL hoa c thu tuï c löu
õ ü æ
trö sa n ch ñò nh trong CommandText
property.
Property â û
Mo ta
ActiveConnection á ø û
Ño i töôï ng Connection na o ñöôï c sö duï ng
ù á
vô i ño i töôï ng Command.
CommandText æ â ä à
Ch ñò nh ca u le nh ca n thöï c thi.
CommandTimeout Xa c ñò nh thô i gian thöï c thi le nh, gia trò
ù ø ä ù
ø ø â
thô i gian na y tính theo gia y.
CommandType á å û æ
Cho bie t kie u cu a query ch ñò nh trong
CommandText.
Prepared ä å ù
Taï o ra le nh chua n bò tröô c khi thöï c thi.
ä á á
2.1 Taï o mo t ke t no i Active Connection :
õ ù å û á õ á á
Sau khi ña co thöï c the (instance) cu a ño i töôï ng Connection ña ñöôï c ke t no i
ù û õ ä ø á
vô i cô sô dö lie u va ño i töôï ng Command. Lu c nay ne u muoá n sö duï ng ño i töôï ng
ù ø á û á
û ù â û ø á á ù
Command ta pha i gan te n cu a Connection thích hôïp (Connection na o ke t no i tô i cô
û õ ä à ø ä ø û á
sô dö lie u ca n la m vie c ) va o cho ActiveConnecttion cu a ño i töôï ng Command.
ä
Löu haønh no i boä
64 å
Tìm hie u veà ASP
ù ù
Cu pha p
name.ActiveConnection = Connection_name
Ví duï :
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN=student;uid=student;pwd=magic"
objCmd.ActiveConnection = objConn.Open
õ á ä á
Sau khi ña thie t la p ke t no i vô i ño i töôï ng Connection, ta co the sö duï ng
á ù á ù å û
ù û á à á ù
phöông thö c Exexcute cu a ño i töôï ng Command ga n gio ng nhö vô i Connection .
â å ù á ø á ù á
Tuy nhie n, ñie m khaù c vô i ño i töôï ng Connection la ño i vô i ñoi töôï ng Command
á ù ø ä ä
ne u ta co döï ñò nh thi ha nh mo t le nh na o thì ta se pha i khô i taï o ca c gia trò cho
ø õ û û ù ù
CommandText, CommandType, ….
ø ä â â ä
Ví duï : ñoaï n chöông trình thi ha nh mo t ca u query tre n mo t data source
<%
Set objConn = Server.CreateObject("ADODB.Connection")
Set objCmd = Server.CreateObject(“ADODB.Command”)
á á
‘taï o ke t no i
objConn.Open "DSN=student;uid=student;pwd=magic"
objCmd.ActiveConnection = objConn.Open
objCmd.CommandText="SELECT * FROM Contact WHERE State=’LA’"
á ø ä â ä
‘cho bie t CommandText la mo t ca u le nh SQL
objCmd.CommandType = 1
ä
Löu haønh no i boä
65 å
Tìm hie u veà ASP
â â ä
‘bie n dò ch ca u le nh
objCmd.Prepared = TRUE
â ä
‘thöï c thi ca u le nh
objCmd.Execute
û ù ø â õ û
‘gia i pho ng ta i nguye n ña sö duï ng
Set objCmd.ActiveConnection = Nothing
%>
ù ù å
Chu ng ta co the thie t la p gia trò CommandTimeout ña u tie n ñe xa c ñò nh
á ä ù à â å ù
û ø â ä ë
khoa ng thô i gian thöïc thi ca u le nh, ma c ñò nh la 30 gia y, ne u ñe gia trò na y la 0 thì
ø â á å ù ø ø
õ á ù ø á
ADO se thöï c thi cho ñe n khi ta c vuï ñöôïc hoa n ta t.
û á ù ä
2.2 Sö duïng tham so cho ca c le nh SQL.
á à ä ù â
Ne u nhö query ca n thöï c hie n co ye u ca u ca c tham so , thì ta pha i the m cac
à ù á û â ù
á ø ø ù
tham so na y va o Parameter collection tröô c khi thöï c hie n ca u le nh. Ño i vô i phöông
ä â ä á ù
ù û á â ù û ê ø
thö c Execute cu a ñoi töôï ng Connection kho ng co kha na ng na y.
û ù û á â æ
Sö duï ng phöông thö c Execute cu a ño i töôï ng Command thöï c thi ca u query ch
ñò nh trong CommandText property.
ù ù
Cu pha p
Set recordset = command.Execute(RecordsAffected, Parameters, Options)
command.Execute RecordsAffected, Parameters, Options
ù
trong ño
ä á á ù á û á
recordset : Mo t bie n ño i töôï ng Recordset chö a ke t qua truy va n.
ä
Löu haønh no i boä
66 å
Tìm hie u veà ASP
ä á á ä á
command : Mo t bie n ño i töôï ng ñaï i die n cho ño i töôï ng Command.
ø ù ê ø ù á á
RecordAffected va Options coù chö c na ng va gia trò gio ng nhö trong ño i töôï ng
Connection.
ø ä õ ù ù
Parameter la mo t day ca c gia trò tham so ñöôï c ñöa va o vô i mo t ca u le nh SQL.
á ø ù ä â ä
å å ù ù
Ñe tìm hie u ca ch taïo ra danh sa ch ca c tham so cua ca u le nh, ta ha y xem xe t
ù á û â ä õ ù
ù ù ø û
ca c phöông thö c va property cu a Parameter collection.
ù
Phöông thö c â û
Mo ta
Append â ä á ø
The m mo t tham so va o collection.
Delete ù ä á
Xoa mo t tham so trong collection.
Refresh ä ä å û ù
Ca p nha t collection ñe pha n anh söï
å ù á
thay ño i ca c tham so .
Property â û
Mo ta
Count û à á á
Tra ve so tham so trong collection.
Item á ù û ä á
La y laï i gia trò cu a mo t tham so trong
collection.
ø â á ø
Taï o va the m tham so va o Collection
ã ä à
Mo i mo t pha n tö cu a Parameter collection co the coi nhö mo t ño i töôï ng
û û ù å ä á
ø ù õ ù ù ë â û
Parameter va chu ng cu ng co ca c ña c tính (property) rie ng cu a mình.
Property â û
Mo ta
Attributes å õ ä ø á á ä
Kie u dö lie u ma tham so cha p nha n.
ä
Löu haønh no i boä
67 å
Tìm hie u veà ASP
Direction å ä å õ ä ø á ø
The hie n kie u dö lie u ma tham so la
ø û
Input hay Output, hay la ca hai, hay
ù ø ù û à ø ä û
no la gia trò tra ve tö mo t thu tuï c löu
õ ü
trö sa n (stored procedure).
Name â û á
Te n cu a tham so .
NumericScale á õ á ä â
So chö so tha p pha n trong tham soá
å á
kie u so .
Precision á õ á û á å á
So chö so cu a tham so kie u so.
Size ù ù á
Kích thöô c lô n nha t, tính theo byte,
û ù á
cu a gia trò tham so .
Type å õ ä û á
Kie u dö lie u cu a tham so .
Value ù ù á
Gia trò gan cho tham so .
å á ù û ù
Ñe taï o moä t ño i töôï ng Parameter mô i, sö duï ng phöông thö c CreateParameter
û á
cu a ño i töôï ng Command
ù ù
Cu pha p
Set pamareter = command.CreateParameter(Name,Type,Direction,Size,Value)
å â ä
Ñe the m mo t tham so mô i vao Parameter collection. Tröô c tie n ta phaû i taï o
á ù ø ù â
ä å á ù á ä ù ù
mo t thöï c the (instance) cho ño i töôï ng Parameter, sau ño thie t la p ca c gia trò
ù ø á ø û ù
property cho no va cuo i cu ng sö duï ng phöông thö c Append.
ä á ù ø â á ø ø
Ví duï : taï o mo t tham so mô i va the m tham so na y va o Parameter collection.
Set objParam = objCmd.CreateParameter ( “State” , 128 , 1 , 2 , ”Ny” )
objCmd.Parameters.Append objParam
ä
Löu haønh no i boä
68 å
Tìm hie u veà ASP
Ví duï :
<%
ä å û á
‘taï o mo t thöï c the cua ño i töôï ng Command
objCmd = Server.CreateObject(“ADODB.Command”)
á á
‘taï o ke t no i
objConn.Open "DSN=student;uid=student;pwd=magic"
objCmd.ActiveConnection = objConn.Open
objCmd.CommandText="DeleteStateQuery"
á ø ä û õ ü
‘cho bie t CommandText la mo t thu tuï c löu trö sa n
objCmd.CommandType = 4
ø ä
strValue=Request.Form(“txtState”) ‘khi submit tö mo t form
æ ù â
Set objParam = objCmd.CreateParameter ( “State” ) ‘ch co te n tham soá
å á ø ã
ObjParam.Type=adChar ‘ kie u tham so la chuo i
ä ø
ObjParam.Direction=adParamInput ‘mo t query ñöa va o tham soá
û ã
ObjParam.Size=Len(strValue) ‘kích thöôù c cu a chuo i
ù ã
ObjParam.Value=strValue ‘gia trò chuo i
â á ø
objCmd.Parameters.Append objParam ‘the m tham so va o collection
â ä
objCmd.Execute ‘thöï c thi ca u le nh
û ù ø â õ û
Set objCmd.ActiveConnection = Nothing ‘gia i pho ng ta i nguye n ña sö duï ng
ä
Löu haønh no i boä
69 å
Tìm hie u veà ASP
%>
û ù á
Tham kha o ca c ño i töôï ng collection
ã ù ù ù
Mo i khi chu ng ta co ca c tham so trong collection. Ñe la y gia trò cu a tham so
á å á ù û á
ù å û ë û æ ë
trong collection ta co the sö duï ng Item property hoa c sö duïng ch muïc (index) hoa c
ø â á
la te n tham so .
ù ù
Cu pha p
objCmd.Parameters.Item(index)
ë
hoa c objCmd.Parameters(index)
ë â á
hoa c objCmd.Parameters.Item(te n_tham_so )
ë ø â á
hoa c la objCmd.Parameters(te n_tham_so )
å á ù û á
Ví duï : ñe la y gia trò cu a tham so State va 128 ô ví duï tre n, ta co the sö duï ng
ø û â ù å û
ù ù ù
ca c cu pha p
objCmd.Parameters.Item(0)
ë
hoa c objCmd.Parameters(0)
ë
hoa c objCmd.Parameters.Item(“State”)
ë ø
hoa c la objCmd.Parameters(“State”)
töông töï
objCmd.Parameters.Item(1)
ë
hoa c objCmd.Parameters(1)
ë
hoa c objCmd.Parameters.Item(128)
ë ø
hoa c la objCmd.Parameters(128)
ä
Löu haønh no i boä
70 å
Tìm hie u veà ASP
ø û û ù
Ñoï c va huy bo ca c tham soá
ù ù å û ø ë
Chu ng ta co the sö duï ng vo ng la p For…Each ñe xua t ra te n va gia trò cu a ta t
å á â ø ù û á
û ù á ø ë ù ø
ca ca c tham so trong Parameter collection va ña t chu ng trong trang hieä n ha nh söû
ù
duï ng phöông thö c Response.Write
Ví duï :
<%
For Each objParam In objCmd.Parameters
Response.Write “Parameter name = ” & objParam.Name & “<br>”
Response.Write “Parameter value = ” & objParam.Value
Next
%>
å û ä á û ù
Ñe hu y boû mo t tham so trong Parameter collection, sö duï ng phöông thö c
Delete.
ù á â ù ù
Ví duï : xoa tham so te n State, chu ng ta co the sö duï ng te n hoa c ch muï c cu a
å û â ë æ û
ù
no
objCmd.Parameters.Delete “State”
objCmd.Parameters.Delete 0
á
3. Ño i töôïng Recordset.
è ù û
Ba ng ca ch sö duï ng ca c ño i töôïng Connection va Command ta co the thöïc thi
ù á ø ù å
ù å â ø
ca c query ñe the m va o, ca p nha t hay xo a mo t record trong data source. Tuy nhie n
ä ä ù ä â
ù ù õ û ä ä á ä á ù
trong ca c ö ng duï ng thì ta cu ng pha i thöï c hie n vie c la y ra mo t so ca c record töø
å å ù û ù û û á
ADO, ñe hie n thò gia trò cu a chu ng ta pha i sö duï ng ño i töôï ng Recordset.
ä
Löu haønh no i boä
71 å
Tìm hie u veà ASP
û å å ù
Sö duï ng Recordset ñe hie n thò ca c record
ä ù å û å ù ä
Mo t Recordset co the ñöôï c sö duï ng ñe töôï ng tröng cho ca c record trong mo t
û ù ù å ù ä
ba ng database. No co the chö a mo t hoa c nhie u record (ha ng), mo i record co the
ë à ø ã ù å
ù ä ë à ä
chö a mo t hoa c nhie u field (co t).
å å û á û ù
Ñe taï o moä t thöï c the (instance) cu a ño i töôï ng Recordset, sö duïng phöông thö c
Server.CreateObject :
Set objRs = Server.CreateObject("ADODB.Recordset")
õ ù á á
Sau khi ña co bie n ño i töôï ng Recordset, ta co the khô i taï o gia trò cho no ba ng
ù å û ù ù è
ù á û û à ã ù û á
ca ch löu ke t qua tra ve mo i khi thöï c thi phöông thö c Execute cu a ño i töôï ng
å å ù û ø
Connection hay Command. Ñe hie n thò ca c record trong Recordset, sö duï ng vo ng
ë â ù
la p tho ng qua ca c record.
Ví duï :
<%
ä
Set objConn = Server.CreateObject(“ADODB.Connection”) ‘taï o mo t thöï c
å û á
the (instance) cu a ñoi töôï ng Connection
Set objRs = Server.CreateObject(“ADODB.Recordset”)
objConn.Open "DSN=student;uid=student;pwd=magic"
Set objRs = objConn.Execute(“SELECT * FROM MyTable” )
Do While objRs.EOF
Response.Write objRs(“Name”) & “<br>”
objRs.MoveNext
Loop
ä
Löu haønh no i boä
72 å
Tìm hie u veà ASP
Set objRs.Close
Set objConn.Close
%>
ø ä ù
La m vie c vô i Fields Collection.
ã á ù
Mo i ño i töôï ng Recordset co mo t Fields collection chö a dö lie u va thong
ä ù õ ä ø â
à ã ø ä ø û å á
tin ve moi tröô ng (field) trong record hie n ha nh. Sö duï ng Fields collection ñe lay
ã
mo i record trong Recordset.
ù
Phöông thö c â û
Mo ta
Refresh ä ä å û ù å
Ca p nha t collection ñe pha n anh söï thay ño i
ù ù ù
tô i gia trò ca c field.
Property â û
Mo ta
Count û à á
Tra ve so field trong collection.
Item á ä û ù
La y laï i no i dung cu a ca c field trong
collection.
å å ù û ä
Ñe hie n thò gia trò cua co t trong ba ng, baï n co the sö duï ng te n cu a tröô ng (co t)
û ù å û â û ø ä
ë â á â û
hoa c khi baï n kho ng bie t te n cu a tröô ng (co t) thì ta co the sö duï ng ch muï c cu a
ø ä ù å û æ û
ø ù å å
tröô ng ño ñe hie n thò .
ù á û ù á ø ù ù
Chu yù : chæ so cu a caù c filed trong record ñöôï c ña nh so tö 0 cho tô i gia
objRs.Fields.Count-1.
ä
Löu haønh no i boä
73 å
Tìm hie u veà ASP
á ù ø ø ä ä û
Ví duï : hieå n thò ta t caû ca c ha ng va co t trong mo t bang
<HTML>
<HEAD>
<TITLE>Dislay Database Example</TITLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<%
whichDSN="DSN=student;uid=student;pwd=magic"
Mysql="Select * From MyTable "
Set objConn = Server.CreateObject("ADODB.Connection")
Conn.Open whichDSN
Set objRs = Server.CreateObject("ADODB.Recordset")
Mysql="Select * From MyTable "
objRs = objConn.Execute("Select * From MyTable ")
ù á
howmanyfields= objRs .Fields.Count –1 ‘chö a so field trong Recordset
%>
<TABLE border=1>
<TR>
å â û ù
‘hie n thò te n cu a cac field
ä
Löu haønh no i boä
74 å
Tìm hie u veà ASP
<% for i=0 to howmanyfields %>
<TD><b><%= objRs (i).Name %></b></TD> <% Next %>
</TR>
å á û ù
‘hie n thò ta t ca ca c field trong Recordset
<% Do While Not objRs.eof %>
<TR>
<% for i =0 to howmanyfields %>
<TD><% = objRs (i) %></TD>
<% Next %>
</TR>
<%
objRs .movenext
Loop
objRs.close
set objRs=nothing
objConn.close
set objConn=nothing %>
</TABLE>
</BODY>
ä
Löu haønh no i boä
75 å
Tìm hie u veà ASP
</HTML>
ù å û ø ù
Ca c kie u con tro (Cursor)va kho a (Locking) Recordset
ä ù å ù ù
Mo t cursor xa c ñò nh kie u thao ta c co the thöï c hie n va kie u thay ño i ma ca c
å ä ø å å ø ù
ù û ä
user kha c khi mô mo t Recordset .
ø å ù õ û ù ø à á é
Co n kie u locking xa c ñò nh database se xö ly tröô ng hôï p nhie u user co ga ng
å ä ø ä ù
thay ño i mo t record trong cu ng mo t lu c.
å ä ä ø
Ñe thöï c hie n vie c nay, ña u tie n baï n taï o mo t thöï c the (instance) cu a ñoi töôï ng
à â ä å û á
ù û ù å û ä
Recordset, sau ño sö duï ng phöông thö c Open ñe mô mo t Recordset.
ù ù
Cu pha p
objRs .Open Source, ActiveConnection, CursorType, LockType, Options
ù ù á
vô i ca c tham so :
ä á â ä
Source: Mo t ño i töôïng Command, ca u le nh SQL, te n ba ng hoa c thu tuïc löu trö
â û ë û õ
ü
sa n(stored procedure).
â û õ û á á ù û õ
ActiveConnection : Te n cu a dt Connection ña ñöôïc mô ke t no i vô i cô sô dö
ä à ä
lie u ca n laø m vie c.
å û û û û
CursorType : Kie u cu a con tro ñöôï c sö duï ng khi mô Recordset. CursorType söû
ù å û ø
duï ng ca c kie u cursor khi mô Recordset la :
ë ù á ø æ ù å ä
AdOpenForwardOnly : (Ma c ñò nh)Vô i tham so nay baï n ch co the duye t
ù ä ø à á á
ca c record trong Recordset theo mo t chieà u tö ña u ñe n cuo ùi .
û ù û ê ù ä ä
AdOpenKeyset : Recordset ñöôï c mô co kha na ng cho phe p ta ca p nha p
ù ù å â
ca c record (xo a, thay ño i) . Tuy nhie n, ne u user kha c the m mo t record mô i, record
á ù â ä ù
ø õ â á ä
na y se kho ng xua t hie n trong Recordset.
ä
Löu haønh no i boä
76 å
Tìm hie u veà ASP
ù å ä á û ù à â á
AdOpenDynamic : Co the duye t theo ta t ca ca c chie u (le n, xuo ng) trong
û ù á û õ å
Recordset. Pha n a nh ta t ca nhö ng thay ñoi (the m vao, sö a ño i, loaï i bo ) record
â ø û å û
ä
trong Recordset do user thöï c hie n.
ù å ä á û ù à â á
AdOpenStatic : Baï n co the duye t theo ta t ca ca c chie u (le n, xuo ng) trong
â û ù á û õ å
Recordset. Kho ng pha n a nh ta t ca nhö ng thay ño i record trong Recordset do user
ä
thöï c hie n.
å û û û ù
LockType : Kie u locking sö duïng khi mô Recordset. LockType sö duï ng ca c
å û ø
kie u locking khi mô Recordset la :
ë â å å ù
adLockReadOnly : Ma c ñò nh. Kho ng the thay ño i ca c record trong
Recordset.
ä æ ù å
adLockOptimistic : Mo t record ch bò lock (kho a) ngay sau khi thay ño i döõ
ä â â
lie u tre n Recordset tre n data source.
ä æ ù ù
adLockPessimistic : Mo t record ch bò lock (kho a) khi baï n goïi phöông thö c
û
Update cu a Recordset .
ù õ ä ä ù
adLockBatchOptimistic : Ca c record se ñöôï c ca p nha t theo bo (batch
update).
å û ë û ä û
Options : Kie u cu a query hoa c ba ng ñaï i die n bô i Source.
Ví duï :
<HTML>
<HEAD>
<TITLE>Cursor and Locking Example</TITLE>
</HEAD>
ä
Löu haønh no i boä
77 å
Tìm hie u veà ASP
<%
Set objConn = Server.CreateObject(“ADODB.Connection”)
Set objRs = Server.CreateObject(“ADODB.Recordset”)
objConn.Open "DSN=student;uid=student;pwd=magic"
MySql=(“Select * From MyTable”)
objRs.Open Mysql,objConn, adOpenForwardOnly, adLockReadOnly,
adCmdText
objRs.close
set objRs=nothing
objConn.close
set objConn=nothing
%>
</BODY>
</HTML>
û å
Sö a ño i caù c record trong Recordset
ù å û ä á ù û å û å ù
Baï n co the sö duï ng mo t so phöông thö c cu a Recordset ñe sö a ño i cac record
ä
trong mo t Recordset.
ù
Phöông thö c â û
Mo ta
AddNew â ä ù ø
The m mo t record mô i va o Recordset.
ä
Löu haønh no i boä
78 å
Tìm hie u veà ASP
Close ù á ø ù á
Ño ng laï i ño i töôï ng Recordset va ca c ño i
û ù
töôï ng con cu a no .
Delete ù ä ø
Xoa record hie n ha nh trong Recordset.
Requery ä
Thöï c hie n laï i query.
Update ù å â ä ø
Löu ca c thay ño i tre n record hie n ha nh.
û ù å â ä ø
Ví duï : sö duï ng phöông thö c AddNew ñe the m mo t record va o Recordset
<HTML>
<HEAD>
<TITLE>AddNew Database Example</TITLE>
</HEAD>
<%
Set objConn = Server.CreateObject(“ADODB.Connection”)
Set objRs = Server.CreateObject(“ADODB.Recordset”)
objConn.Open "DSN=student;uid=student;pwd=magic"
MySql=(“Select Name From MyTable”)
objRs.Open Mysql,objConn, adOpenForwardOnly, adLockReadOnly,
adCmdText
objRs.AddNew(“Name”)=“David”
ä
Löu haønh no i boä
79 å
Tìm hie u veà ASP
objRs.Update
objRs.close
set objRs=nothing
objConn.close
set objConn=nothing
%>
</BODY>
</HTML>
ä ù â
Duye t ca c record tre n Recordset.
á à ä á ù å å
Ño i töôï ng Recordset bao go m mo t so phöông thö c ñe dò ch chuye n qua
ù ä ø ù å ù ø ä ø
ca c record trong mo t Recordset, record ma no dò ch chuye n tô i la record hie n ha nh.
û ä å ë ø
Khi mô mo t Recordset thì kie u CursorType ma c ñò nh la adOpenForwardOnly nghó a
ø ù æ ù å å
la chu ng ta ch co the dò ch chuye n ve phía tröô c, co n ne u muo n dò ch chuye n quanh
à ù ø á á å
ä à û ù å ø ë
mo t Recordset thì ta ca n mô Recordset vô i kie u CursorType la adOpenStatic (hoa c
adOpenDynamic, adOpenKeyset).
å û ä ø
Move : Dò ch chuye n vò trí cu a record hie n ha nh.
å à à â
MoveFirst : Dò ch chuye n ve record ña u tie n.
å à á ø
MoveLast : Dò ch chuye n ve record cuo i cu ng.
å à á á
MoveNext : Dò ch chuye n ve record ke tie p.
å à ù ù
MovePrevious : Dò ch chuye n ve record tröô c ño .
ä
Löu haønh no i boä
80 å
Tìm hie u veà ASP
õ ù ä å å á ù ã ù
Khi ta ña co mo t Recordset, ñe hie n thò truy xua t tô i mo i Recordset trong ño
ù å û ù ù ä
ta co the sö duï ng ca c phöông thö c duye t nhö : MoveFirst, MoveLast , MoveNext ,
õ á ä û à â á ø á á
MovePrevious seõ lay ñöôï c no i dung cu a record ñau tie n, cuo i cu ng, ke tie p hay
ù
record phía tröô c.
û ù ù å
Khi sö duïng ca c phöông thö c ñe dò ch chuye n ca c vò trí kho ng xa c ñò nh. Ne u
å ù â ù á
ä ø ø ø á ø
record hie n ha nh la record la record cuo i cu ng trong Recordset thì khi goï i phöông
ù õ â ã
thö c MoveNext thì se ga y ra lo i. Ñe tranh tröô ng hôï p na y thì ta sö duï ng ca c
å ù ø ø û ù
û å ù ä ø ø à â
property cu a Recordset nhö BOF, EOF ñe xa c ñò nh record hie n ha nh la ña u tie n
ø á ø ù ø ù ù
hay la cuoi cu ng. Ca c property na y co y nghó a nhö sau:
ù ù ø û û à
BOF property co gia trò TRUE nghó a la con tro ñang ô vò trí ña u Recordset,
ù û â ù ù ø
khi Recordset mô i ñöôï c mô thì BOF luo n co gia trò na y.
ù ù ø û û á ø û
EOF property co gia trò TRUE nghó a la con tro ñang ô vò trí cuo i cu ng cu a
Recordset.
á â ù
Ne u kho ng co record na o trong Recordset thì ca BOF la n EOF ñe u la TRUE.
ø û ã à ø
û ä ø
Ví duï : sö duï ng mo t vo ng la p va phöông thö c MoveNext ñe duye t ca c record
ë ø ù å ä ù
trong Recordset.
<HTML>
<HEAD>
<TITLE>AddNew Database Example</TITLE>
</HEAD>
<%
ä
Löu haønh no i boä
81 å
Tìm hie u veà ASP
Set objConn = Server.CreateObject(“ADODB.Connection”)
Set objRs = Server.CreateObject(“ADODB.Recordset”)
objConn.Open "DSN=student;uid=student;pwd=magic"
MySql=(“Select Name From MyTable”)
objRs.Open Mysql, objConn, adOpenDynamic, adCmdText
objRs.MoveLast
Do While Not objRs.BOF
Response.Write “<br>” & objRs(“Name”)
objRs.MovePrevious
Loop
objRs.Close
set objRs=Nothing
objConn.Close
set objConn=Nothing
%>
</BODY>
</HTML>
ù
Löu y :
ø ù ù å
BOF va EOF co ca c ñie m sau:
ä
Löu haønh no i boä
82 å
Tìm hie u veà ASP
á â ù ø û ù û ø ø
• Ne u Recordset kho ng chö a record na o khi baï n mô no ca BOF va EOF la
TRUE.
ø ø ä ã ø ø á
• Khi BOF va EOF la TRUE, thuo c tính va n co n la TRUE cho ñe n khi baï n
å ù ä à
di chuye n tô i mo t record ñang to n taï i, ô thô i ñie m na y gia trò BOF hay EOF se
û ø å ø ù õ
û ø
trô tha nh FALSE.
ø ø á ù
• Khi BOF hay EOF la FALSE va record duy nha t trong recordset bò xoa,
ä ã õ ù
thuo c tính va n giö FALSE cho tô i khi baïn co di chuye n tô i 1 record kha c, ô thô i
á å ù ù û ø
å ø û ø û ø
ñie m na y ca BOF va EOF trô tha nh TRUE.
ø ù û
• Va o lu c baï n taï o hay mô mo t Recordset co chö a ít nha t mo t record ,
ä ù ù á ä
à â ø
record ñau tie n la record hie n ha nh va ca BOF va EOF la FALSE.
ä ø ø û ø ø
,
ä
Löu haønh no i boä
Related docs
Get documents about "