Bài giảng Lập trình web - ASP 3.0 Active Server Pages
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình web - ASP 3.0 Active Server Pages", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_web_asp_3_0_active_server_pages.ppt
Nội dung text: Bài giảng Lập trình web - ASP 3.0 Active Server Pages
- Lập Trình Web ASP 3.0 ACTIVE SERVER PAGES
- Yêu cầu q Yêu cầu chung: 1. Người hoc phải có kiến thức về HTML. 2. Biết ít nhất một công cụ thiết kế web. 3. Kiến thức về lập trình, lập trình hướng đối tượng. 4. Làm việc theo nhóm 5. Biết ít nhất một hệ quản trị dữ liệu (ACCESS hoặc SQL Server) 2
- Mục đích q Sau khi hoàn thành phần này người học có thể: 1. Biết được cách thức làm việc của trang web động. 2. Sử dụng được một số ngôn ngữ script để lập trình cho các web site. 3. Tạo và quản trị được các web site trên các máy chủ. 4. Cơ sở cho việc sử dụng ASP.Net tạo nên các trang web động sau này. 3
- Nội dung giáo trình q Nội Dung: 1. Chương I: Giới thiệu về ASP. 2. Chương II: VBScript . 3. Chương III: Các đối tượng trong ASP. 4. Chương IV: Ngôn Ngữ SQL. 5. Chương V: Cơ sở dữ liệu trong ASP 6. Chương VI: Xây dựng ứng dụng Web bằng ASP. q Thời lượng: Ø 30 tiết lý thuyết Ø 15*2 tiết thực hành 4
- Nội dung giáo trình q Tài liệu tham khảo: 1. Giáo trình nhập môn ASP – Nguyễn Thiên Bằng 2. ASP 3.0 & ASP.NET – Nguyễn Phương Lan 3. ASP Cơ sở dữ liệu cơ bản và chuyên sâu – N.X.B Thống Kê. 4. Xây dựng & triển khai ứng dụng thương mại điện tử tập 1- Phạm Hữu khang. 5. Những bài thực hành ASP- N.X.B Thống Kê. 6. ASP E-Book – www.cstutoring.com 7. 5
- Chương I: Giới Thiệu 1. Giới thiệu về ASP. 2. Môi trường làm việc của ASP. 3. Giới thiệu về IIS. 4. Cách thức làm việc của IIS. 5. Cài đặt và cấu hình cho IIS. 6
- 1. Giới thiệu về ASP q ASP Active Server Pages, cung cấp môi trình lập trình Web, q Cho phép có sự kết hợp giữa HTML, các ngôn ngữ Scripting (VBScript, Java Script) và các thành phần được tạo ra từ các ngôn ngữ khác. q Tạo ra những ứng dụng trên Internet mạnh mẽ. q Các file trong ASP có phần mở rộng là *. ASP. q Chứa các thẻ HTML, các đoạn mã script (VBScript, Java Script) và các lời gọi đến các components (DLL, ActiveX control) q Các Script của ASP được đặt trong cặp thẻ 7
- 2. Cách thức làm việc của ASP q Trang HTML tĩnh: 8
- 2. Cách thức làm việc của ASP q Trang web động: (Dynamic) 9
- 2. Cách thức làm việc của ASP q Cách làm việc 10
- 3. Giới thiệu về IIS q IIS là gì? Ø Microsoft Internet Information Services là ứng dụng server trao đổi thông tin bằng cách sử dụng giao thức HTTP. Ø Trình chủ Web Server hoạt động trên các hệ điều hành từ phiên bản Windows NT, 2000 trở lên. q IIS làm được gì? Ø Xuất bản một Home page lên Internet. Ø Tạo ra các giao dịch thương mại điện tử trên Internet Ø Cho phép người dùng từ xa truy xuất dữ liệu (data base remove access). Ø 11
- 4. Cách thức hoạt động của IIS q Web là hệ thống các yêu cầu và đáp ứng các yêu cầu. q IIS lắng nghe các yêu cầu phía Users trên mạng sử dụng WWW và phản hồi lại các thông tin đã yêu cầu lên trên web Borwser. q Cho phép thực hiện các đoạn mã Script trong các trang ASP để tạo ra trang web động. q IIS sẽ nộp thư viện asp.dll để khởi động và triệu gọi các bộ máy diễn dịch các trang ASP 12
- 5. Cài đặt IIS q Nếu máy chưa có trình IIS thì cài đặt như sau: Ø Chọn nút Start Settings Control Panel Add or Remove Program Add/Remove Windows Components 13
- 5. Cài đặt IIS Ø Nhấp chuột chọn mục Internet Information Services (IIS) Ø Chọn nút Next để tiến hành cài đặt Ø Chú ý: phải có đĩa chứa file nguồn Windows (đĩa cài đặt Windows) để chương trình cài đặt bổ sung một số dịch vụ hỗ trợ cho IIS. 14
- 5. Cài đặt IIS q Cài đặt cấu hình cho IIS Ø Microsoft cung cấp một cửa sổ Microsoft Management Console (MMC) để quản lý các ứng dụng Web. Ø Khởi động MMC: Trong Control Panel chọn Administrative Tools Internet Services Manager. 15
- 5. Cài đặt IIS q Thư mục ảo: Ø Mỗi web site có một thư mục vật lý để ánh xạ làm thư mục gốc cho các ứng dụng web. v Ví dụ: IIS đã tạo ra thư mục C:\InterPub\webroot cho Default Web Site. Ø Mỗi ứng dụng web tồn tại trong một thư mục ảo (Virtual Folder) và được cấu hình nhất định. Ø Mở cửa sổ Default Web Site để thay đổi một số thông số cho phù hợp việc quản lý web site. Click chuột phải vào Default Web site chọn Properties 16
- 5. Cài đặt IIS q Cửa sổ Default web site: Ø Chọn Execute Permission và Application Protection để thiết lập quyền bảo vệ và thực thi các ứng dụng 17
- 5. Cài đặt IIS q Để kiểm tra IIS đã hoạt động hay chưa ta gõ vào địa chỉ trong Internet Explore như sau: 18
- 5. Cài đặt IIS q Tạo một thư mục ảo Ø Mỗi ứng dụng web được đặt trong một thư mục ảo và được tham chiếu đến thông qua địa chỉ URL. Ø Cách tạo một thư mục ảo bên trong Default Web Site v Bước 1: Click chuột phải vào Default Web Site chọn New -> chọn Virtual Directory -> hộp thoại hiện ra * Chọn nút Next để tiếp tục 19
- 5. Cài đặt IIS Ø Bước 2: Đặt tên cho thư mục ảo trong mục Alias và chọn nút Next để tiếp tục 20
- 5. Cài đặt IIS Ø Bước 3: Trong mục Directory chọn thư mục vật lý trên máy chủ ứng với thư mục ảo của ứng dụng và chọn nút Next để tiếp tục. 21
- 5. Cài đặt IIS Ø Bước 4: Thiết đặt quyền hạn và bảo vệ cho thư mục, có 5 quyền cho thư mục: v Read v Run Script (Such as ASP) v Execute (Such as ISAPI application or CGI) v Write v Browse 22
- 5. Cài đặt IIS q Truy xuất: truy xuất đến các trang web trong thư mục ảo sử dụng địa chỉ web URL: / Ví dụ: Ø Trong đó localhost là địa chỉ của máy chủ cục bộ, trong trường hợp máy chủ mang tên miền (domain name) ví dụ tên miền www.yourcompany.com được triệu gọi như sau: / 23
- Chương II: VBScript Nền Tảng Của ASP q Giới thiệu: Ø Có thể sử dụng VBScript hoặc Java Script để xây dựng trang ASP Ø VBScript có khả năng thực thi tốt trên các trình duyệt Ø VBScript Sản phẩm của Microsoft, có cú pháp giống với Visual Basic Ø VBScript Đơn giản, dễ học 24
- Chương II: VBScript Nền Tảng Của ASP q Các kiểu dữ liệu: Kiểu dữ liệu ý nghĩa Empty Dữ liệu trống Null Dữ liệu không hợp lệ Boolean Dữ liệu kiểu logic, nhận giá trị là True hoặc False Byte Dữ liệu kiểu nguyên có giá trị từ 0 đến 255 Integer Dữ liệu kiểu nguyên có giá trị từ -32768 đến 32767 Currency Dữ liệu thuộc kiểu tiền tệ Long Dữ liệu thuộc kiểu nguyên dài có giá trị từ -2147483648 đến 2147483647 25
- Chương II: VBScript Nền Tảng Của ASP q Các kiểu dữ liệu: Kiểu dữ ý nghĩa liệu Single Dữ liệu kiểu số thực chính xác đơn Double Dữ liệu kiểu số thực chính xác kép Date Kiểu ngày (Time) String Kiểu chuỗi Object Kiểu đối tượng Error Chứa một số lỗi 26
- Chương II: VBScript Nền Tảng Của ASP q Các toán tử: Toán tử ý nghĩa + Cộng hai số & Toán tử And, nối hai biểu thức logic, nối hai biểu thức chuỗi / Chia hai số ^ Phép lũy thừa \ Phép chia lấy phần nguyên Mod Phép chia lấy phần dư 27
- Chương II: VBScript Nền Tảng Của ASP q Các toán tử: Toán tử ý nghĩa * Nhân hai số Not Phép lấy phủ định của biểu thức logic Or Toán tử Or nối hai biểu thức logic Xor Toán tử Xor nối hai biểu thức logic 28
- Chương II: VBScript Nền Tảng Của ASP q Khai báo biến, mảng, hằng: Ø Khai báo biến v Cú pháp: Dim biến 1, biến 2, v Ví dụ: dim StrConn v Không bắt buộc nhưng nên khai báo. Ø Khai báo mảng: v Cú pháp: Dim tên mảng(chỉ số của mảng) v Ví dụ: dim a(10) v Chú ý: chỉ số của mảng bắt đầu từ 0 Ø Khai báo hằng v Cú pháp: Const = v Ví dụ: const pi= 3.14 29
- Chương II: VBScript Nền Tảng Của ASP q Khai báo biến, mảng, hằng: Dạng dữ liệu Tiền tố (prefix) Boolean Bln Byte Byt Double Dbl Integer Int Long Lng Object Obj String Str 30
- Chương II: VBScript Nền Tảng Của ASP q Xuất dữ liệu lên trình duyệt: dim name, phone name = “ Computer Science Department” phone = “084.056.646072” Document.Write name Document.Write phone 31
- Chương II: VBScript Nền Tảng Của ASP q Xuất dữ liệu lên trình duyệt: Ø Ví dụ: đoạn mã sau: My first VB Script program Dim name name = "hello Class K28 Information " Document.Write name 32
- Chương II: VBScript Nền Tảng Của ASP q Nhận dữ liệu nhập vào từ bàn phím: Ø Hàm InputBox: lấy dữ liệu nhập vào từ bàn phím v Cú pháp: InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context]) Ø Trong đó: v Prompt v Title v Default v Xpos v Ypos v Helpfile, Context 33
- Chương II: VBScript Nền Tảng Của ASP q Nhận dữ liệu nhập vào từ bàn phím: Ø Ví dụ: Input Box Test Dim name name = InputBox("What is your name?","Enter Your Name","Information 28") Document.Write "Your name is " & name 34
- Chương II: VBScript Nền Tảng Của ASP q Nhận dữ liệu nhập vào từ bàn phím: Ø Kết quả của đoạn mã: 35
- Chương II: VBScript Nền Tảng Của ASP q Hiển thị nội dung trên một cửa sổ: Ø Hàm MSGBOX: hiển thị nội dung trên cửa sổ cho đến khi nút lệnh được chọn. Ø Cú pháp: MsgBox(prompt[, buttons] [, title] [, helpfile, context]) Ø Trong đó: v Prompt: v Buttons: v Title v Helpfile, context 36
- Chương II: VBScript Nền Tảng Của ASP q Tham số Buttons có thể nhận các giá trị sau: Hằng (Constant) Giá trị(Value) Mô tả (Description) vbOKOnly 0 Display OK button only. vbOKCancel 1 Display OK and Cancel buttons. vbAbortRetryIgnore 2 Display Abort, Retry, and Ignore buttons. vbYesNoCancel 3 Display Yes, No, and Cancel buttons. vbYesNo 4 Display Yes and No buttons. vbRetryCancel 5 Display Retry and Cancel buttons. vbCritical 16 Display Critical Message icon. vbQuestion 32 Display Warning Query icon. vbExclamation 48 Display Warning Message icon. vbInformation 64 Display Information Message icon 37
- Chương II: VBScript Nền Tảng Của ASP q Các giá trị trả về của các nút lệnh Constant Value Description vbOK 1 OK vbCancel 2 Cancel vbAbort 3 Abort vbRetry 4 Retry vbIgnore 5 Ignore vbYes 6 Yes vbNo 7 No 38
- Chương II: VBScript Nền Tảng Của ASP q Ví dụ: Msg Box Test name = MsgBox("Your name is: Tom") 39
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc điều kiện: IF THEN ELSE . END IF Ø Cú pháp: then Else End if %> 40
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc điều kiện: IF THEN ELSE . END IF Ø Ví dụ: 41
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc điều kiện: IF THEN ELSEIF . END IF Ø Cú pháp: then ElseIF Then Else End if %> 42
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc: Select case End Sleect Ø Cú pháp: Case Case Case Case Else End Select %> 43
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc: Select case End Sleect Ø Ví dụ: " & " " %> 44
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp với số lần lặp xác định: For Next Ø Cú pháp: = TO STEP Các câu lệnh NEXT %> 45
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp với số lần lặp xác định: For Next Ø Ví dụ: 46
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : For Each In Ø Cú pháp: IN Các câu lệnh NEXT %> q Công dụng: Dùng để lặp với từng phần tử trong một tập hợp 47
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : For Each In Ø Ví dụ: 48
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : DO WHILE LOOP Ø Cú pháp: LOOP %> Ø Ý Nghĩa: Trong khi điều kiện còn đúng thì còn thực hiện các câu lệnh. 49
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : DO WHILE LOOP Ø Ví dụ: 50
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : WHILE WEND Ø Cú pháp: WEND %> 51
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : WHILE WEND Ø Ví dụ: 52
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : DO LOOP UNTIL Ø Cú pháp: LOOP UNTIL %> 53
- Chương II: VBScript Nền Tảng Của ASP q Cấu trúc lặp : DO LOOPUNTIL Ø Ví dụ: 10 %> 54
- Chương II: VBScript Nền Tảng Của ASP q Khai báo hàm và thủ tục Ø Cú pháp khai báo thủ tục Sub Tên thủ tục(tham số nếu có) Các câu lệnh của thủ tục End sub Ø Ví dụ: xây dựng thủ tục đổi tiền USD ra VNĐ Sub convertCurrency () Rate = 16040 Response.write “VNĐ is” & numCurrency* rate & “Đồng” End sub Ø Lời gọi thủ tục: cú pháp Call (tham số nếu có) Ví dụ: call ConvertCurrency() 55
- Chương II: VBScript Nền Tảng Của ASP q Khai báo hàm và thủ tục Ø Cú pháp khai báo hàm: Function tên hàm (tham số nếu có) Các câu lệnh của hàm End function Ø Ví dụ: xây dựng hàm chuyển đổi tiền từ USD sang VNĐ Function VND(CUSD) Rate= 15960 VND= rate*CUSD End Function Ø Lời gọi hàm: cú pháp: Tên hàm(tham số) v Ví dụ: th = VND(146) 56
- Chương II: VBScript Nền Tảng Của ASP q Một số hàm và hằng thường dùng Ø Hàm Trim(s as string) v Công dụng: cắt bỏ các khoảng trống ở hai đầu của chuỗi v Ví dụ: Trim(“ lập trình asp ”)-> “lập trình asp” Ø Hàm Left( s as string, n as integer) v Công dụng: cắt trong chuỗi s n ký tự từ bên trái sang. v Ví dụ: Left(“class ifo28”, 5)-> “class” Ø Hàm Right(s as string, n as integer) v Công dụng: cắt trong chuỗi s n ký tự từ bên phải sang. v Ví dụ: Right(“class ifo28”,5) ->”ifo28” 57
- Chương II: VBScript Nền Tảng Của ASP q Một số hàm và hằng thường dùng Ø Hàm Mid( s as string, n1,n2 as integer) v Công dụng: cắt trong chuỗi s n2 ký tự từ vị trí n1từ trái sang phải v Ví dụ: mid(“class ifo28”,8,3)-> “fo2” Ø Hàm Lcase(s as string) v Công dụng: chuyển xâu về chữ thường v Ví dụ: Lcase(“Toi la TOI”)-> “toi la toi” Ø Hàm Ucase(s as string) v Công dụng: chuyển xâu về chữ hoa v Ví dụ: Ucase(“Toi la toi”)-> “TOI LA TOI” 58
- Chương II: VBScript Nền Tảng Của ASP q Một số hàm và hằng thường dùng Ø Hàm CSTR(biến) v Công dụng: chuyển biến thành kiểu chuỗi Ø Hàm Join/Split(s as string, ) v Công dụng: nối / cắt thành một/nhiều đoạn bằng cách xác định thông qua dấu phân cách và cho các đoạn đó vào một mảng. v Ví dụ: Ø Kết quả “Quy Nhon” 59
- Chương II: VBScript Nền Tảng Của ASP q Một số hàm và hằng thường dùng Ø Hàm ROUND(m,n) v Công dụng: làm tròn đến số thứ n trong m tính từ dấu thập phân, n>0 làm tròn phần thập phân, n<0 làm tròn phần nguyên. Ø Toán tử \: dùng để chia lấy số nguyên Ø Hàm RND(): v Công dụng: Trả về số ngẫu nhiên bất kỳ trong khoảng [0,1] 60
- Ôn lại một số thẻ HTML tiêu đề của bảng Định nghĩa các dòng Định nghĩa các ô trong dòng Néi dung cña « 61
- Ôn lại một số thẻ HTML q Thẻ Form: 62
- Ôn lại một số thẻ HTML q Thẻ Input: 63
- Ôn lại một số thẻ HTML q Ví dụ: Please select your class: value="Tin k27A">Tin k27A value="Tin k27B">Tin k27B value="Tin k28">Tin k28 "" then Response.Write(" Your class is: " & cars & " ") end if %> 64
- Ôn lại một số thẻ HTML q Thẻ Tạo danh sách lựa chọn: Tªn môc chän thø nhÊt Tªn môc chän thø hai 65
- Ôn lại một số thẻ HTML q Thẻ Tạo Hộp thoại soạn thảo văn bản: văn bản ban đầu 66
- Ôn lại một số thẻ HTML q Ví dụ: form action="trangchinh2.asp" method="post"> Nokia Sam sung Motorola Sonny 02 Simence lg-elitek 67
- Bài tập: Chương I & II q Bài 1: Ø Cài đặt IIS trên windows. Ø Tạo thư mạo ảo có tên Sinh viên tham chiếu đến thư mục vật lý có tên TinK28 trên đĩa từ và thiết đặt các quyền truy cập cho thư mục ảo vừa tạo (thiết đặt ngôn ngữ Script mặt định của IIS là VBScript. Ø Viết một đoạn mã đơn giản kiểm tra hoạt động của IIS. q Bài 2: Ø Dùng HTML và VBScript để tạo trang có nội dung như sau: 68
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Request: Ø Dùng để lấy thông tin từ người dùng gởi tới từ một trang được gọi hoặc một Form được submit. Ø Gồm 2 loại: v Request.Form: Dùng để lấy thông tin từ các thẻ của một form được submit như: Input, TextArea, Select v Request.QueryString: Dùng để lấy thông tin từ các tham số trong chuỗi QueryString. 69
- Chương III: Các Đối Tượng Trong ASP q Request.Form: Ø Dùng để lấy thông tin từ người dùng gởi tới từ một Form được submit. Ø Trả về giá trị mà nó lấy được trong các thẻ của Form bởi cú pháp sau: v Request.Form(“Tên thẻ”) v Ví dụ: Request.Form(“txtUserName”) Ø Ví dụ minh họa: khi Form trong trang RequestForm1được đệ trình thì gọi đến trang RequestForm2 sử dụng Request.Form để lấy dữ liệu của các thẻ txtUserName, txtPassword trong trang RequestForm1 70
- Chương III: Các Đối Tượng Trong ASP q Nội dung trang RequestForm1.asp The first ASP page Username: Password: 71
- Chương III: Các Đối Tượng Trong ASP q Nội dung trang RequestForm2.asp The secornd ASP page Username: Password: 72
- Chương III: Các Đối Tượng Trong ASP q Kết quả thực hiện trang RequestForm1.asp q Khi nhấn nút Save thì triệu gọi đến trang RequestForm2.asp như sau 73
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Request.Form: Ø Chú ý: v Trong trường hợp có nhiều thẻ nhập liệu trùng tên với nhau thì kết quả trả về của Form khi đệ trình là tập các giá trị ngăn cách nhau bởi dấu phẩy (,). v Có thể không chỉ tên cụ thể của từng thẻ, dùng Request.Form.count để lấy giá trị của các thẻ. Ø Ví dụ: v Gọi trang ex3.asp có nội dung như sau: 74
- Chương III: Các Đối Tượng Trong ASP The third ASP page first name: last name: email: 75
- Chương III: Các Đối Tượng Trong ASP The fourth ASP page Username: Password: 76
- Chương III: Các Đối Tượng Trong ASP The five ASP page 77
- Chương III: Các Đối Tượng Trong ASP q Kết quả khi gọi trang Ex3.asp Nhấn nút Save thì form triệu gọi đến trang Ex4.asp hoặc Ex5.asp như sau: 78
- Chương III: Các Đối Tượng Trong ASP q Request.QueryString: Ø Lấy giá trị các tham số trong chuỗi QueryString. Ø Chuỗi QueryString bắt đầu từ ký tự ? Ø Gồm nhiều cặp tham số, cách nhau bởi dấu & Ø Khai báo và sử dụng đối tượng Request.QueryString Request.QueryString(“Tên Tham số”) Ø Để lấy nguyên giá trị của chuỗi QueryString Request.ServerVariables(“Query_String”) 79
- Chương III: Các Đối Tượng Trong ASP RequestQueryString ban da chon: 80
- Chương III: Các Đối Tượng Trong ASP q Request.ServerVariables: Ø Các giá trị header HTTP gởi từ client Ø Các biến môi trường của Web Server Ø Các thuộc tính chỉ đọc. Ø Ví dụ: để biết địa chỉ IP của người dùng ta dùng Request.ServerVariables(“REMOTE ADDR”) Ø Đoạn mã sau liệt kê giá trị các biến chứa trong Request.ServerVariables " & x & " ") Response.Write(Request.ServerVariables(x)) Response.Write(" " & vbCrLf) next %> 81
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Response Ø Gởi các thông tin từ server cho các client yêu cầu. Ø Dùng để giao tiếp với người dùng, điều khiển chia sẽ dữ liệu. Ø Điều khiển các cookies trên trình duyệt của khách 82
- Chương III: Các Đối Tượng Trong ASP q Response.Redirect(“URL”) Ø Chỉ thị cho trình duyệt nộp một địa chỉ khai báo trong URL Ø Ví dụ: khai báo nạp trang ex1.asp 83
- Chương III: Các Đối Tượng Trong ASP q Response. End Ø Chỉ thị cho trình thông dịch ngưng biên dịch các đoạn code còn lại trong trang ASP. Ø Ví dụ: Response End use response.end value of function(tong): 84
- Chương III: Các Đối Tượng Trong ASP q Response. Write(“chuỗi”) Ø Ghi chuỗi vào bộ đệm của IIS và nó trở thành một phần trả về. Ø Ví dụ: Welcome to asp Use Response.Write ”) %> 85
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Session: Ø Được web server tạo ra mỗi khi trang web đầu tiên được gọi trong ứng dụng. Ø Lưu lại những thông tin của người dùng. Ø Tồn tại đến khi hết phiên làm việc hoặc hết hiệu lực Ø Thông tin của từng người dùng trong mỗi phiên làm việc là duy nhất không chia sẽ hay truy xuất. 86
- Chương III: Các Đối Tượng Trong ASP q Khởi tạo và hủy bỏ một Session: Ø Khởi tạo một Session v Cú pháp khởi tạo: Session(“SessionName”)= giá trị/ biểu thức/ biến Ví dụ: Session(“counter”)=1 Ø Hủy bỏ tất cả các biến Session của trình khách v Cú pháp: Session.Abandon v Ví dụ: 87
- Chương III: Các Đối Tượng Trong ASP q Khởi tạo và hủy bỏ một Session: Ø Thời gian sống của session được tính bằng giây Ø Cú pháp để đặt thời gian sống cho session Session.Timeout = thời gian tính bằng giây Ø Sau thời gian sống quy định thì session sẽ hết hiệu lực. 88
- Chương III: Các Đối Tượng Trong ASP q Truy cập giá trị của biến Session: Ø Có thể gán giá trị, truy nhập thông tin của các biến Session theo phương thức sau: X = session(“sessionName”) Response.Write(Session(“sessionName”)) q Hủy bỏ một biến Session Ø Để hủy bỏ một biến Session đang tồn tại dùng cú pháp Session.Contents.Remove((“sessionName”)) Ø Để hủy bỏ tất cả các biến Session của một trình khách đang hoạt động dùng cú pháp: Session.Contents.RemoveAll 89
- Chương III: Các Đối Tượng Trong ASP q Duyệt nôi dung đối tượng Session Ø Dùng vòng lặp For Each để duyệt qua tất cả các biến Session chứa trong tập hợp contents Ø Ví dụ: ”) Next %> Để biết số lượng các biến trong đối tượng ta dùng phương thức Session.contents.count 90
- Chương III: Các Đối Tượng Trong ASP q Định danh Session Ø Khi cấp phát Session cho trình khách thì web server sẽ cung cấp cho mỗi trình khách một định danh session.sessionID () Ø Định danh này sẽ được thu hồi khi session hết hiệu lực Ø Ví dụ: 91
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Application Ø Asp sử dụng đối tượng Application để trao đổi thông tin giữa các phiên làm việc của trình duyệt với trình chủ. Ø Do phạm vi toàn cục nên biến Application thường dùng để lưu trữ các biến sử dụng cho toàn bộ web site Ø Ví dụ sử dụng biến counter để đếm số lần tri cập vào trang asp của các trình duyệt. 92
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Application Ø Ví dụ: ") Response.write "Application counter" Response.write application("appcounter") %> 93
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Server Ø Cho phép thực hiện các quá trình tác động đến trình chủ như: khởi tạo kết nối dữ liệu, quản lý tập tin, sử dụng DLL, COM, bằng các phương thức sau: v Server.CreateObject(objectName): khởi tạo các đối tượng như .dll, kết nối CSDL ví dụ: kết nối CSDL set rs=Server.CreateObject(“ADODB.recordset”) 94
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Server Ø Server.MapPath(path): Chuyển đường dẫn tương đối thành đường dẫn tuyệt đối. Ø Server. Execute(PathFile): Thực thi trang ASP trong PathFile. Ø Đối tượng FileSystemObject: Cho phép thao tác và xử lý các tập tin cũng như thư mục trên trình chủ: Các phương thức: v CopyFile(pathFrom, pathTo) v CopyFolder(pathFrom, pathTo) v CreateFolder(path) v CreateTextFile(path) v DeleteFolder(path) v DeleteFile(path) v FolderExists(Foldername) v FileExists(Filename) 95
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Server Ví dụ: Sserver object 96
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Server 97
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Dictionary Ø Dùng để lưu trữ thông tin dựa trên từ khóa Ø Từ khóa được xem là từ cần tra và mục dữ liệu là nội dung của từ cần tra (trong từ điển) Ø Ví dụ tạo và sử dụng đối tượng Dictionary 98
- Chương III: Các Đối Tượng Trong ASP q Đối tượng Dictionary Ø Các phương thức và thuộc tính của đối tượng Dictionary: Phương thức Mô tả Add Thêm một khóa và mục dữ liệu vào Dictionary Exists Trả về giá trị True nếu một khóa đã tồn tại Items Trả về một mảng các mục dữ liệu trong Dictionary Keys Trả về một mảng các khóa có trong Dictionary Remove Loại một khóa và mục dữ liệu ra khỏi Dictionary Removeall Xóa bỏ tất cả các khóa có trong Dictionary Count Trả về tổng số khóa hoặc mục dữ liệu trong Dictionary Item Thiết lập hoặc nhận giá trị trả về của một mục dữ liệu dựa vào khóa Key Thiết lập hoặc thay đổi khóa cho mục dữ liệu 99
- Chương III: Các Đối Tượng Trong ASP q Đối tượng ASPError Ø ASP cung cấp đối tượng ASPError chứa các thông tin lỗi xuất hiện mới nhất. Ø Dựa vào ASPError để đưa ra các thông báo lỗi thân thiện với người dùng. Ø Sử dụng dòng mã lệnh phớt lờ lỗi để thực hiện những câu lệnh tiếp theo: on error resume next Ví dụ: 0 then response.write "number:" & err.Number & " " response.write "Description:" & err.Description & " " response.write "Source:" & err.Source & " " end if %> 100
- Chương III: Các Đối Tượng Trong ASP q File Global.asa: Ø Xác định khởi đầu và kết thúc của một ứng dụng web cũng như của các Session của từng người dùng đơn Ø File này cho phép đặt 4 thủ tục bên trong v Session_OnStart : Thực hiện khi lần đầu tiên User yêu cầu trang web trong ứng dụng. v Session_OnEnd :Thực hiện khi User thoát khỏi ứng dụng hoặc timeout v Application_OnStart : Thực hiện một lần khi trang web đầu tiên của ứng dụng được thực hiện. v Application _OnEnd : Thực hiện một lần khi web server shutdown hoặc khi tất cả các Session đã đóng. 101
- Chương III: Các Đối Tượng Trong ASP q Ví dụ: Sub Application_OnStart End sub Sub Application _OnEnd conn.close set conn=nothing End sub 102
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Là ngôn ngữ dùng để truy xuất dữ liệu, cập nhật, thay đổi và quản lý các CSDL quan hệ. q Một số truy vấn của SQL Ø Truy vấn hội (Union Query) Ø Truy vấn chuyển nhượng (pass throught Query) Ø Truy vấn định nghĩa dữ liệu (Data Definition Query) Ø Truy vấn con (sub Query) q Mỗi câu lệnh của SQL có thể viết trên nhiều hàng, kết thúc câu lệnh ta dùng dấu chấm phẩy ; 103
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q SQL xử lý trên bảng dữ liệu: Ø Tạo bảng mới v Cú pháp: Create table ( [(Size)], [(Size)] [Constraint primary key ] [Constraint Unique ]) v Công dụng: tạo cấu trúc cho một bảng mới 104
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q SQL xử lý trên bảng dữ liệu: Ø Tạo bảng mới v Các thành trong câu lệnh - Table Name: Tên của Bảng cần tạo - Field1, Field2 : Tên các trường dữ liệu trong bảng - Type: kiểu của trường - Size: kích thước của trường - primary key name: tên khóa chính - Fieldname: tên trường dữ liệu làm khóa 105
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Các kiểu dữ liệu thường dùng 106
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Ví dụ: Tạo bảng dữ liệu DSHOCVIEN có cấu trúc sau: Field Name Type Size Mahv Text 6 khóa chính Tenhv Text 30 Ngaysinh Date/Time SoDT Text 10 Create table DSHOCVIEN(Mahv Text(6), Tenhv Text(30), Ngaysinh DateTime, SoDT Text(9), Constraint Khoa primery key (Mahv)); 107
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Thêm bớt trường dữ liệu trong bảng đã có Ø Cú pháp: Alter table [ add column ] [Drop column ] [Add Constraint unique ] [Drop Constraint ] Ø Công dụng: Dùng để thêm hoặc bớt đi các trường trong bảng đã có. 108
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Thêm bớt trường dữ liệu trong bảng đã có Ø Các thành phần trong cú pháp: - Table name : Tên bảng dữ liệu - add column : Thêm trường vào bảng - Drop column: Loại bỏ trường ra khỏi bảng - Add Constraint: Thêm tên chỉ mục -Drop Constraint: Loại bỏ tên chỉ mục 109
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Ví dụ:Giả sử ta thêm trường QueQuan có kiểu dữ liệu là Text độ rộng 20 vào bảng DSHOCVIEN đã có Alter table DSHOCVIEN Add Column Quequan Text(20) Xóa trường SoDT ra khỏi bảng DSHOCVIEN Alter table DSHOCVIEN Drop Column SoDT 110
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Xóa bảng dữ liệu: Ø Cú pháp: Drop Table Ø Công dụng: Dùng để xóa bảng được chỉ định bởi Table Name Ø Ví dụ: xóa bảng DSHOCVIEN Drop Table DSHOCVIEN 111
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy Vấn Chọn Ø Cú pháp: Select [AS ] From [Where ] Ø Công dụng: Tạo ra truy vấn chọn các mẩu tin trong bảng thỏa mãn một điều kiện nào đó. Ø Trong đó: v Scope: phạm vi của các mẩu tin, mặt định là ALL v Fieldname: tên trường chọn ra để lấy dữ liệu v As : Thay thế tên Field Name tương ứng v Table name: tên bảng dữ liệu được chọn truy vấn v Condition: điều kiện truy vấn 112
- Chương IV: Một số câu lệnh SQL (Structure Query Language) Ø Ví dụ: thiết kế truy vấn chọn trong bảng DSHOCVIEN để chọn ra những học viên có quê quán là Bình Định Select Tenhv, Ngaysinh, Quequan From DSHOCVIEN Where Quequan=“Bình Định” Thiết kế truy vấn chọn những học viên có năm sinh>=1987 và =1987 and year(Ngaysinh)<=1997 113
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn tính tổng Ø Cú pháp: Select from [where ] Group by [Group fieldname] [Having ]; Ø Công dụng: Tạo truy vấn tính tổng Ø Trong đó v Condition: điều kiện để chọn v Group fieldname: trường dùng để phân nhóm tính tổng v Group condition: điều kiện phân nhóm 114
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Ví dụ: bảng dữ liệu banhang có cấu trúc Fieldname Data type size Mahang text 2 Soluong integer Ngayban Date/time 8 Tạo try vấn xem các mặt hàng bán trong tháng 8 bán được với số lượng là bao nhiêu, chỉ hiển thị những mặt hàng có số lượng bán lớn hơn 15. Select mahang, sum([soluong]) From banhang where month([ngayban])=8 Group by mahang having sum([soluong])>15; 115
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn tạo một bảng mới từ một bảng đã có thỏa mãn điều kiện Ø Cú pháp Select into [Where ] Ø Công dụng: tạo ra một bảng mới lấy dữ liệu từ bảng đã có thỏa mãn điều kiện. Ø Ví dụ Select Mahang, tenhang into Luu From Dskhang Where Mahang Like “A*”; 116
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn thêm bảng ghi vào bảng dữ liệu Ø Cú pháp Insert into Select From [Where ] Ø Nếu chỉ thêm một bảng ghi vào bảng thì dùng cú pháp Insert into (Field list) values Ø Ví dụ: Insert into luu1(Hoten, quequan) Values (“Nguyen an”, “Hue”) 117
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn cập nhật dữ liệu Ø Cú pháp Update Set = [Where ] Ø Công dụng: Tạo ra truy vấn nhằm cập nhật dữ liệu cho bảng Ø Ví dụ: Update dssv set [hocbong]=[hocbong]+200000 Where Uutien=”1”; 118
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn xóa bảng ghi trong bảng Ø Cú pháp Delete From [Where ] Ø Công dụng: tạo ra truy vấn xóa các bảng ghi thỏa mãn một hoặc nhiều điều kiện nào đó. Ø Ví dụ: có hai bảng DSHS và DSDTHI có quan hệ 1 – 1 trên trường Mahs, hãy xóa những học sinh có điểm thi <5 Delete DSHS.* From DSHS INNER JOIN DSDTHI ON DSHS.MAHS=DSDTHI.MAHS Where diem<5; 119
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn tạo mối quan hệ giữa các bảng Ø Cú pháp From inner join ON . = . Ø Công dụng: tạo mối quan hệ giữa các bảng được chỉ ra Ø Ví dụ: v Tạo truy vấn gồm : Matruong, tentruong, hoten từ 2 bảng Dstruong và DSHS dựa vào trường liên kết Matruong. v Select Matruong, tentruong, hoten From Dstruong inner join dshs on Dstruong.matruong=dshs.matruong; 120
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn con: các mệnh đề Select From Where lồng vào nhau. Ø Cú pháp: Select From Where ANY|SOME|ALL IN | NOT IN EXIST | NOT EXISTS ; 121
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Giải thích các tham số Ø : Là một biểu thức và một phép toán so sánh. Ø : Là một biểu thức mà tập hợp kết quả của truy vấn con sẽ được tìm kiếm. Ø : Là dạng mệnh đề ở trong cú pháp và đặt giữa hai dấu ngoặc ( ). Ø ANY, SOME: Các bản ghi trong truy vấn chính thoả mãn điều kiện so sánh với bất kỳ hoặc một vài các bản ghi nào truy xuất được từ truy vấn con. 122
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Giải thích các tham số Ø ALL: Các bản ghi trong truy vấn chính thoả mãn với điều kiện so sánh với tất cả bản ghi nào truy xuất được từ truy vấn con. Ø IN: Các bản ghi trong truy vấn chính mà có tồn tại một vài bản ghi trong truy vấn con có giá trị bằng nó. Ø NOT IN: Các bản ghi trong truy vấn chính mà không tồn tại một vài bản ghi trong truy vấn con có giá trị bằng nó. Ø EXISTS (NOT EXISTS): Phép so sánh True/ False để xác định nhận truy vấn con có kết quả là bản ghi nào không. 123
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Ví dụ: Ø Cho 2 bảng dữ liệu KHO(Mahang, Tenhang, Dongia) NKBAN (Mahang, Hoten, Ngaymua, Giamgia, Dongia) Ø Tìm tất cả những mặt hàng mà đơn giá lớn hơn vài mặt hàng được bán với Giamgia là 20%. Select * From Kho Where dongia> ANY (select dongia From NKBAN Where giamgia=20%); Ø Tìm những mặt hàng bán ra với giảm giá >=10%. Select * from Kho Where Mahang IN (Select mahang From NKBAN Where giamgia>=0.1); 124
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn hội: Ø Cú pháp Select From Where UNION | UNION ALL Select Ø Công dụng: dùng để kết nối dữ liệu tương ứng từ 2 hay nhiều bảng vào trường 125
- Chương IV: Một số câu lệnh SQL (Structure Query Language) q Truy vấn hội: Ø Ví dụ: Cho 2 bảng dữ liệu DHSVIEN( Hoten, Lop, Matruong, Diachi), CDHSVIEN( Hoten, Lop, Matruong, Diachi) Ø Sử dụng truy vấn hội để liệt kê Hoten, Lop, Matruong của sinh viên 2 hệ (Đại học, Cao đẳng). Select Hoten, Lop, Matruong from DHSVIEN UNION Select Hoten, Lop, Matruong from DHSVIEN Ø Liệt kê Hoten, Lop của những sinh viên 2 hệ và có quê quán ở Huế Select Hoten, Lop from DHSVIEN UNION Select Hoten, Lopfrom DHSVIEN Where Diachi=”Huế” 126
- Chương V: Khai Thác CSDL Với ASP q Cách tích hợp các nguồn dữ liệu vào trang ASP thông qua ADO. q 90% các ứng dụng web viết bằng ASP tập trung vào xử lý dữ liệu, truy vấn, hiển thị và cập nhật dữ liệu tự động theo yêu cầu của người dùng. q Tại sao sử dụng ADO và ADO là gì? 127
- Chương V: Khai Thác CSDL Với ASP q ADO (ActiveX Data Object) là tập hợp các đối tượng cho phép người lập trình ASP kết nối đến CSDL q ADO hỗ trợ việc truy xuất CSDL trong trang ASP một cách nhanh chóng và dễ dàng. q ADO giúp người dùng viết ứng dụng Client có thể truy xuất và phân tích dữ liệu trên CSDL Server thông qua một nhà cung cấp. q Tiện lợi của ADO là dễ sử dụng, tốc độ cao và chiếm ít dung lượng bộ nhớ. 128
- Chương V: Khai Thác CSDL Với ASP q ADO đóng gói việc cập nhật, các kỹ thuật quản lý tập các mẩu tin và hỗ trợ những thủ tục khác. q ADO là một phần của OLE DB(Object Linking and Embedding for database) là một cách để truy xuất và tổ hợp dữ liệu. q Mô hình kiến trúc ADO 129
- Chương V: Khai Thác CSDL Với ASP Application VC++ VB Script Java ADO OLE DB E-Mail CSDL File System Data Store 130
- Chương V: Khai Thác CSDL Với ASP q Mô hình đối tượng ADO Ø Đối tượng Connection Tạo kết nối với kho dữ liệu, sau khi tạo kết nối có thể dùng lại nhiều lần trong đoạn mã. Ø Đối tượng Command Thực hiện các câu lệnh trên CSDL, các câu lệnh SQL, nhận được thông tin từ CSDL thông qua các câu lệnh SQL. Ø Đối tượng Recordset Là đối tượng thông dụng trong ADO, có nhiều thuộc tính và phương thức. Cho phép xem và thay đổi CSDL. Ø Tập hợp Fields chứa đựng thông tin về trường cụ thể trong tập mẩu tin 131
- Chương V: Khai Thác CSDL Với ASP q Kết nối với nguồn dữ liệu q Chuỗi kết nối Ø Để cung cấp thông tin cho đối tượng Connection biết đặc điểm của cơ sở dữ liệu hay nguồn dữ liệu mà ADO cần truy xuất. Ø Một số chuỗi kết nối đến các loại cơ sở dữ liệu thông dụng v Chuỗi kết nối cơ sở dữ liệu MS Access ConnStr=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source =Path ” Set conn=Server.CreateObject(“ADODB.Connection”) Conn.open connStr 132
- Chương V: Khai Thác CSDL Với ASP q Kết nối với nguồn dữ liệu q Chuỗi kết nối Ø Ví dụ” 133
- Chương V: Khai Thác CSDL Với ASP q Kết nối với nguồn dữ liệu Ø Chuỗi kết nối v Chuỗi kết nối với CSDL SQL Server connStr=“Provider=SQLOLEDB;Data Source=Servername; Initial catalog=Database_Name; User ID=user_Name; PWD=user_password” Set conn=Server.CreateObject(“ADODB.Connection”) Conn.open connStr Ø Ví dụ: chuỗi kết nối connStr=“Provider=SQLOLEDB;Data Source=localhost; Initial catalog=MarkofComScience; User ID=Computer29; PWD=” Set conn=Server.CreateObject(“ADODB.Connection”) Conn.open connStr 134
- Chương V: Khai Thác CSDL Với ASP q Sử dụng chỉ thị include Ø Thông thường các trang ASP sử dụng đối tượng Connection và Recordset đều mở kết nối theo cùng cách vì vậy để tránh lặp lại đoạn mã kết nối ta lưu nó vào một file và đưa vào các trang ASP bằng chỉ thị include. Ø Ví dụ tạo một file Connection.inc như sau 135
- Chương V: Khai Thác CSDL Với ASP q Sử dụng chỉ thị include Ø Trong trang ASP có sử dụng chuỗi kết nối ta sử dụng chỉ thị include như sau: 136
- Chương V: Khai Thác CSDL Với ASP q Đóng kết nối Ø Sau khi hoàn thành quá trình xử lý dữ liệu trên trang cần gọi thủ tục đóng kết nối càng sớm càng tốt. Ø Có thể tóm tắt quá trình xử lý như sau: set conn=Server.CreateObject(“ADODB.Connection) conn.open strConn ‘xử lý dữ liệu ‘ ví dụ rs.open “Select * From Account”, conn ‘ đóng kết nối conn.close 137
- Chương V: Khai Thác CSDL Với ASP q Sử dụng Recordset Ø Tạo Recordset Set rs=Server.CreateObject(“ADODB.Recordset”) Ø Ví dụ: để rút trích dữ liệu từ một bảng dữ liệu ta sử dụng kết hợp đối tượng Connection vào câu lệnh SQL trong phương thức Open của Recordset Sqlstr = “Select * From Account” rs.open Sqlstr, conn 138
- Chương V: Khai Thác CSDL Với ASP q Sử dụng Recordset Ø Duyệt qua các mẩu tin trong Recordset Dùng vòng lặp để duyệt qua các mẩu tin 139
- Chương V: Khai Thác CSDL Với ASP q Truy xuất các trường của mẩu tin Ø Có thể chỉ định trực tiếp tên trường cần truy xuất ngay trong đối tượng Recordset bằng cú pháp: Tên đối tượng recordset(“tên trường dữ liệu”) Ví dụ: Ø Cũng có thể sử dụng đối tượng tập hợp Fields để truy xuất nội dung của một trường mẩu tin v Rs(“username”) v Rs.Fields(“username”).value v rs(1).value v Rs.Fields(1).value 140
- Chương V: Khai Thác CSDL Với ASP q Lọc các mẩu tin trong Recordsets Ø Điều kiện lọc các mẩu tin có thể thực hiện trên mệnh đề WHERE của câu lệnh SQL khi gọi phương thức Open. Ví dụ: sqlStr="Select * From Accounts Where Username='Ho Van Lam'" rs.open sqlstr, conn Ø Hoặc sử dụng thuộc tính Filter của Recordset Ví dụ: sqlStr="Select * From Accounts” rs.open sqlstr, conn rs.Filter="Username='Ho Van Lam'" 141
- Chương V: Khai Thác CSDL Với ASP q Tìm kiếm trên Recordsets Ø Tìm kiếm trên Recordset có thể thực hiện qua phương thức Find. ví dụ: rs.find “Username”=‘Ho Van Lam’” Ø Sử dụng câu lệnh SQL trong mệnh đề Where ví dụ: sqlStr="Select * From Accounts Where Username='Ho Van Lam'" rs.open sqlstr, conn if not rs.eof then response.write “Username đã tồn tại” end if 142
- Chương V: Khai Thác CSDL Với ASP q Tìm kiếm trên Recordsets Ø Sử dụng câu lệnh SQL trong mệnh đề Where Ø ví dụ: ") while not rs.eof response.write(" ") for each x in rs.fields response.write(" ") response.write(x.value) response.write(" ") next response.write(" ") rs.movenext wend response.write(“ ”) 143
- Chương V: Khai Thác CSDL Với ASP q Hiệu chỉnh các mẩu tin Ø Cú pháp phương thức Open của đối tượng Recordset Object.Open Source, ActiveConnection, CursorType, LockType, Options v Tham số Source: Quy định nguồn dữ liệu sẽ chèn trong đối tượng Recordset. v ActiveConnection: Cung cấp nối kết CSDL . Ví dụ: sqlStr="Select * From Accounts” rs.open sqlstr, conn 144
- Chương V: Khai Thác CSDL Với ASP Ø Tham số CursorType: con trỏ kiểm soát hoạt động định hướng và di chuyển, thay đổi trong mẩu tin cũng như cách thức cập nhật mẫu tin. Có 4 loại con trỏ v adOpenForwardOnly (0): Tham số mặt định, cho phép đi tới tập các mẩu tin nhưng không cho cập nhật. v adOpenKeyset (1): cho phép di chuyển trong tập các mẩu tin và cho phép cập nhật dữ liệu nếu quy định tham số LockType hợp lý. Có hỗ trợ Bookmark v adOpenDynamic (2): cho phép di chuyển trong tập các mẩu tin, mẩu tin được bổ sung, cập nhật hay xóa đều lập tức thấy được trong tập mẩu tin. Không hỗ trợ Bookmark v adOpenStatic (3): khai thác bản sao dữ liệu tĩnh trong CSDL. 145
- Chương V: Khai Thác CSDL Với ASP Ø Tham số LockType: Định loại khóa dữ liệu trên tập mẩu tin khi hiệu chỉnh DL trong tập mẩu tin. Có 4 loại khóa cơ bản trong ADO. v adLockReadOnly (1): là con trỏ mặt định, chỉ đọc trường dữ liệu, không cho cập nhật. v adLockPessimistic (2): khóa tiêu cực buộc csdl khóa toàn bộ mẩu tin khi ta bắt đầu hiệu chỉnh. Sau khi thay đổi trường thứ nhất, csdl sẽ khóa toàn bộ mẩu tin v adLockOptimistic (3): khóa tích cực, chỉ khóa tập tin sau khi gọi phương thức Update. v adLockBatchOptimistic (4): cho phép thực hiện cập nhật theo nhóm. 146
- Chương V: Khai Thác CSDL Với ASP q Hiệu chỉnh mẩu tin dựa vào Recordset Ø Thêm mới mẩu tin v Sử dụng phương thức AddNew trong đối tượng Recordset v Ví dụ: sqlstr="SELECT * FROM Accounts" rs.open sqlstr, conn, 1, 3 rs.AddNew rs.Fields("Username")= strusername rs.Fields("Password")=strpassword rs.fields("Address")=straddress rs.Update 147
- Chương V: Khai Thác CSDL Với ASP q Hiệu chỉnh mẩu tin dựa vào Recordset Ø Xóa mẩu tin hiện hành. v Để xóa mẫu tin hiện hành ta gọi phương thức Delete của đối tượng Recordset v Ví dụ: sqlStr="Select * From Accounts Where Username='Ho Van Lam'" rs.open sqlstr, conn rs.Delete 148
- Chương V: Khai Thác CSDL Với ASP q Hiệu chỉnh mẩu tin bằng câu lệnh SQL với đối tượng Connection Ø Các câu lệnh này bao gồm Insert, Update, Delete. Chúng được thực hiện thông qua phương thức Execute của đối tượng Connection. Ø Ví dụ để thêm người dùng bằng câu lệnh SQL Sqlinsert=“Insert Into Accounts(Username, password, Address) Value (‘ “+username+” ‘,’ “+password+” ‘ ‘,’ “+address+” ‘)” Conn.Execute sqlinsert 149
- Chương V: Khai Thác CSDL Với ASP q Hiệu chỉnh mẩu tin bằng câu lệnh SQL với đối tượng Connection Ø Ví dụ để thay đổi mật khẩu của người dùng Ho Van Lam, câu lệnh SQL Update được xây dựng như sau: SqlUpdate=“Update Accounts Set password =’ “+Newpassword+” ‘ Where Username = ‘Ho Van Lam’ “ Conn.Execute sqlUpdate Ø Ví dụ để xóa tài khoản người dùng Ho Van Lam, câu lệnh SQL Delete được xây dựng như sau: SqlDelete=“Delete Accounts Where Username = ‘Ho Van Lam’” Conn.Execute sqlDelete 150
- Chương V: Khai Thác CSDL Với ASP q Ví dụ: <% dim strusername, strpassword, straddress, strconfirm strusername=Trim(Request("Username")) strpassword=trim(request("Password")) strconfirm=trim(Request("Confirmpassword")) straddress=Trim(request("Address")) straddress=Replace(straddress,“ ‘ “,“ ‘ ‘ “) 151
- Chương V: Khai Thác CSDL Với ASP if strusername strconfirm then Session("Message")="Password not Matched.Please other" else sqlstr="SELECT * FROM Accounts" rs.open sqlstr, conn, 1, 3 rs.AddNew rs .Fields("Username")= strusername rs.Fields("Password")=strpassword rs.fields("Address")=straddress rs.update end if end if conn.close %> 152
- Chương V: Khai Thác CSDL Với ASP Enter your account information Register UserName: Pasword: confirmpassword: Address: 153