Tìm hiểu về ASP

Microsoft?Active Server Pages (ASP) là một môi trường kịch bản dựa trên

server (server-side scripting) cho phé p tạ o hoặ c xâ y dự ng ca c ứ ng dụ ng Web

mạ nh chứ a các thẻ HTML, vă n ba n và cá c lệ nh script hay ca c ứ ng dụ ng Web

độ ng , giao tiế p giữ a Client va server một cách hiệu quả. Cá c trang ASP co

thể gọ i cá c thà nh phầ n ActiveX để thự c hiệ n ca c công việc như kết nối vớ i

vớ i mộ t database hoặ c thự c hiệ n mộ t tính toá n kinh doanh. Vớ i ASP, bạ n co

thể đưa nộ i dung tương tác với cá c trang Web cu a bạ n hoặ c xâ y dự ng toa n bộ

cá c ứ ng dụ ng Web sử dụ ng ca c trang HTML như giao tiế p vớ i kha ch hàng

của bạn.

pdf82 trang | Chuyên mục: ASP | Chia sẻ: dkS00TYs | Lượt xem: 2079 | Lượt tải: 2download
Tóm tắt nội dung Tìm hiểu về ASP, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t") 
Sau khi đã có biế n đố i tượ ng Recordset, ta có thể khở i tạ o giá trị cho nó bằ ng 
cá ch lưu kế t quả trả về mỗ i khi thự c thi phương thứ c Execute củ a đố i tượ ng 
Connection hay Command. Để hiể n thị cá c record trong Recordset, sử dụ ng vò ng 
lặ p thô ng qua cá c record. 
Ví dụ : 
<% 
 Set objConn = Server.CreateObject(“ADODB.Connection”) ‘tạ o mộ t thự c 
thể (instance) củ a đố i tượ ng Connection 
 Set objRs = Server.CreateObject(“ADODB.Recordset”) 
 objConn.Open "DSN=student;uid=student;pwd=magic" 
 Set objRs = objConn.Execute(“SELECT * FROM MyTable” ) 
 Do While objRs.EOF 
 Response.Write objRs(“Name”) & “” 
 objRs.MoveNext 
 Loop 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
72 
 Set objRs.Close 
 Set objConn.Close 
 %> 
Là m việ c vớ i Fields Collection. 
 Mỗ i đố i tượ ng Recordset có mộ t Fields collection chứ a dữ liệ u và thô ng 
tin về mỗ i trườ ng (field) trong record hiệ n hà nh. Sử dụ ng Fields collection để lấ y 
mỗ i record trong Recordset. 
Phương thứ c Mô tả 
Refresh Cậ p nhậ t collection để phả n á nh sự thay đổ i 
tớ i giá trị cá c field. 
Property Mô tả 
Count Trả về số field trong collection. 
Item Lấ y lạ i nộ i dung củ a cá c field trong 
collection. 
Để hiể n thị giá trị củ a cộ t trong bả ng, bạ n có thể sử dụ ng tê n củ a trườ ng (cộ t) 
hoặ c khi bạ n khô ng biế t tê n củ a trườ ng (cộ t) thì ta có thể sử dụ ng chỉ mụ c củ a 
trườ ng đó để hiể n thị . 
Chú y ù : chỉ số củ a cá c filed trong record đượ c đá nh số từ 0 cho tớ i giá 
objRs.Fields.Count-1. 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
73 
Ví dụ : hiể n thị tấ t cả cá c hà ng và cộ t trong mộ t bả ng 
Dislay Database Example 
<% 
 whichDSN="DSN=student;uid=student;pwd=magic" 
 Mysql="Select * From MyTable " 
 Set objConn = Server.CreateObject("ADODB.Connection") 
 Conn.Open whichDSN 
 Set objRs = Server.CreateObject("ADODB.Recordset") 
 Mysql="Select * From MyTable " 
 objRs = objConn.Execute("Select * From MyTable ") 
 howmanyfields= objRs .Fields.Count –1 ‘chứ a số field trong Recordset 
%> 
‘hiể n thị tê n củ a cá c field 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
74 
‘hiể n thị tấ t cả cá c field trong Recordset 
<% 
objRs .movenext 
Loop 
objRs.close 
set objRs=nothing 
objConn.close 
set objConn=nothing %> 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
75 
Cá c kiể u con trỏ (Cursor)và khó a (Locking) Recordset 
Mộ t cursor xá c đị nh kiể u thao tá c có thể thự c hiệ n và kiể u thay đổ i mà cá c 
user khá c khi mở mộ t Recordset . 
Cò n kiể u locking xá c đị nh database sẽ xử lý trườ ng hợ p nhiề u user cố gắ ng 
thay đổ i mộ t record trong cù ng mộ t lú c. 
Để thự c hiệ n việ c nà y, đầ u tiê n bạ n tạ o mộ t thự c thể (instance) củ a đố i tượ ng 
Recordset, sau đó sử dụ ng phương thứ c Open để mở mộ t Recordset. 
Cú phá p 
 objRs .Open Source, ActiveConnection, CursorType, LockType, Options 
vớ i cá c tham số : 
Source: Mộ t đố i tượng Command, câ u lệ nh SQL, tê n bả ng hoặ c thủ tục lưu trữ 
sẵ n(stored procedure). 
ActiveConnection : Tê n củ a dt Connection đã được mở kế t nố i vớ i cơ sở dữ 
liệ u cầ n là m việ c. 
CursorType : Kiể u củ a con trỏ đượ c sử dụ ng khi mở Recordset. CursorType sử 
dụ ng cá c kiể u cursor khi mở Recordset là : 
 AdOpenForwardOnly : (Mặ c đị nh)Vớ i tham số nà y bạ n chỉ có thể duyệ t 
cá c record trong Recordset theo mộ t chiề u từ đầ u đế n cuố iù . 
 AdOpenKeyset : Recordset đượ c mở có khả nă ng cho phé p ta cậ p nhậ p 
cá c record (xó a, thay đổ i) . Tuy nhiê n, nế u user khá c thê m mộ t record mớ i, record 
nà y sẽ khô ng xuấ t hiệ n trong Recordset. 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
76 
 AdOpenDynamic : Có thể duyệ t theo tấ t cả cá c chiề u (lê n, xuố ng) trong 
Recordset. Phả n á nh tấ t cả nhữ ng thay đổ i (thê m và o, sử a đổ i, loạ i bỏ ) record 
trong Recordset do user thự c hiệ n. 
 AdOpenStatic : Bạ n có thể duyệ t theo tấ t cả cá c chiề u (lê n, xuố ng) trong 
Recordset. Khô ng phả n á nh tấ t cả nhữ ng thay đổ i record trong Recordset do user 
thự c hiệ n. 
LockType : Kiể u locking sử dụng khi mở Recordset. LockType sử dụ ng cá c 
kiể u locking khi mở Recordset là : 
 adLockReadOnly : Mặ c đị nh. Khô ng thể thay đổ i cá c record trong 
Recordset. 
 adLockOptimistic : Mộ t record chỉ bị lock (khó a) ngay sau khi thay đổ i dữ 
liệ u trê n Recordset trê n data source. 
 adLockPessimistic : Mộ t record chỉ bị lock (khó a) khi bạ n gọ i phương thứ c 
Update củ a Recordset . 
 adLockBatchOptimistic : Cá c record sẽ đượ c cậ p nhậ t theo bó (batch 
update). 
Options : Kiể u củ a query hoặ c bả ng đạ i diệ n bở i Source. 
Ví dụ : 
Cursor and Locking Example 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
77 
<% 
 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 
%> 
Sử a đổ i cá c record trong Recordset 
 Bạ n có thể sử dụ ng mộ t số phương thứ c củ a Recordset để sử a đổ i cá c record 
trong mộ t Recordset. 
Phương thứ c Mô tả 
AddNew Thê m mộ t record mớ i và o Recordset. 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
78 
Close Đó ng lạ i đố i tượ ng Recordset và cá c đố i 
tượ ng con củ a nó . 
Delete Xoá record hiệ n hà nh trong Recordset. 
Requery Thự c hiệ n lạ i query. 
Update Lưu cá c thay đổ i trê n record hiệ n hà nh. 
Ví dụ : sử dụ ng phương thứ c AddNew để thê m mộ t record và o Recordset 
AddNew Database Example 
<% 
 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” 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
79 
objRs.Update 
objRs.close 
set objRs=nothing 
objConn.close 
set objConn=nothing 
%> 
Duyệ t cá c record trê n Recordset. 
 Đố i tượ ng Recordset bao gồ m mộ t số phương thứ c để dị ch chuyể n qua 
cá c record trong mộ t Recordset, record mà nó dị ch chuyể n tớ i là record hiệ n hà nh. 
Khi mở mộ t Recordset thì kiể u CursorType mặ c đị nh là adOpenForwardOnly nghĩ a 
là chú ng ta chỉ có thể dị ch chuyể n về phía trướ c, cò n nế u muố n dị ch chuyể n quanh 
mộ t Recordset thì ta cầ n mở Recordset vớ i kiể u CursorType là adOpenStatic (hoặ c 
adOpenDynamic, adOpenKeyset). 
 Move : Dị ch chuyể n vị trí củ a record hiệ n hà nh. 
 MoveFirst : Dị ch chuyể n về record đầ u tiê n. 
 MoveLast : Dị ch chuyể n về record cuố i cù ng. 
 MoveNext : Dị ch chuyể n về record kế tiế p. 
 MovePrevious : Dị ch chuyể n về record trướ c đó . 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
80 
Khi ta đã có mộ t Recordset, để hiể n thị truy xuấ t tớ i mỗ i Recordset trong đó 
ta có thể sử dụ ng cá c phương thứ c duyệ t như : MoveFirst, MoveLast , MoveNext , 
MovePrevious sẽ õ lấ y đượ c nộ i dung củ a record đầ u tiê n, cuố i cù ng, kế tiế p hay 
record phía trướ c. 
Khi sử dụng cá c phương thứ c để dị ch chuyể n cá c vị trí khô ng xá c đị nh. Nế u 
record hiệ n hà nh là record là record cuố i cù ng trong Recordset thì khi gọ i phương 
thứ c MoveNext thì sẽ gâ y ra lỗ i. Để trá nh trườ ng hợ p nà y thì ta sử dụ ng cá c 
property củ a Recordset như BOF, EOF để xá c đị nh record hiệ n hà nh là đầ u tiê n 
hay là cuố i cù ng. Cá c property nà y có ý nghĩ a như sau: 
 BOF property có giá trị TRUE nghĩ a là con trỏ đang ở vị trí đầ u Recordset, 
khi Recordset mớ i đượ c mở thì BOF luô n có giá trị nà y. 
 EOF property có giá trị TRUE nghĩ a là con trỏ đang ở vị trí cuố i cù ng củ a 
Recordset. 
Nế u khô ng có record nà o trong Recordset thì cả BOF lẫ n EOF đề u là TRUE. 
Ví dụ : sử dụ ng mộ t vò ng lặ p và phương thứ c MoveNext để duyệ t cá c record 
trong Recordset. 
AddNew Database Example 
<% 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
81 
Set objConn = Server.CreateObject(“ADODB.Connection”) 
 Set objRs = Server.CreateObject(“ADODB.Recordset”) 
 objConn.Open "DSN=student;uid=student;pwd=magic" 
 MySql=(“Select Name From MyTable”) 
 objRs.Open Mysql, objConn, adOpenDynamic, adCmdText 
objRs.MoveLast 
Do While Not objRs.BOF 
 Response.Write “” & objRs(“Name”) 
objRs.MovePrevious 
Loop 
objRs.Close 
set objRs=Nothing 
objConn.Close 
set objConn=Nothing 
%> 
Lưu ý : 
BOF và EOF có cá c điể m sau: 
Tìm hiể u về ASP 
Lưu hành nộ i bộ 
82 
• Nế u Recordset khô ng chứ a record nà o khi bạ n mở nó cả BOF và EOF là 
TRUE. 
• Khi BOF và EOF là TRUE, thuộ c tính vẫ n cò n là TRUE cho đế n khi bạ n 
di chuyể n tớ i mộ t record đang tồ n tạ i, ở thờ i điể m nà y giá trị BOF hay EOF sẽ 
trở thà nh FALSE. 
• Khi BOF hay EOF là FALSE và record duy nhấ t trong recordset bị xó a, 
thuộ c tính vẫ n giữ FALSE cho tớ i khi bạn cố di chuyể n tớ i 1 record khá c, ở thờ i 
điể m nà y cả BOF và EOF trở thà nh TRUE. 
• Và o lú c bạ n tạ o hay mở mộ t Recordset có chứ a ít nhấ t mộ t record , 
record đầ u tiê n là record hiệ n hà nh và cả BOF và EOF là FALSE. 
, 

File đính kèm:

  • pdfTìm hiểu về ASP.pdf
Tài liệu liên quan