เมื่อนำไปเขียนใน โน๊ตแพต
บันทึกเป็นไฟล์ HTML แล้วนำไปเปิดที่ อินเตอร์เน็ต
เอ็กพอรเรอร์ จะได้รูป ดังนี้

รูป
หน้าตรวจสอบชื่อผู้ใช้ และคำผ่าน ถ้าคอมพิวเตอร์ผู้ส่งจัดเตรียมติดตั้งเทคโนโลยี
OLEDB
สามารถใช้วิธีต่อไปนี้ได้ด้วย เพื่อทำให้ฐานข้อมูลมีขีดความสามารถใย
คือแทนที่จะเขียนประโยค connectString=”DSN=
student service” เขียนประโยคแทน
ดังนี้ connectString=”Provider=Microsoft.Jet.OLEDB.3.51:Data
Source=C:\pws\student service\studen.mdb ไฟล์ร้องขอดอด
เอช ที เอ็ม (Request.HTM
File) โยงใยชั้นสูงของสารสนเทศลงทะเบียนชั้นเรียนบนหน้าบ้านศูนย์บริการนักเรียนต่อไปยังหน้าอื่น
คือ หน้าความมั่นคงบันทึกลงร้องขอ เอชทีเอ็ม (request.htm) หน้าที่สอง
นี้ถูกออกแบบให้นักเรียนใส่หมายเลขแสดงตน (IDs) เพื่อตรวจสอบสถานภาพการลงทะเบียนชั้นเรียน
จากการเรียนรู้ที่หน้าแรก หน้าความมั่นคงบันทึกลง หน้าร้องขอ เอชทีเอ็ม
ถูกเขียนด้วยวิธีเก็บรูปแบบเหมือนกัน ของวัตถุร้องขอ ASP และตาราง
HTML และ ใส่ในฟอร์ม ดังนี้ <Form
Name=”request” Action=”request.asp” method=”POST”> <P><font
size=4> Enter Student ID for class registration information :</font> <
table border=”0”> <tr><td
align=”right”><i> Stuent ID </i></td> <td><input
type=”password” size=25 name=”StudID”></td> </tr> </table> <p><input
type=”submit” value=”Submit StudID”> <input
type=”reset” value=”Reset Form”> </form> คล้ายกันกับตัวอย่างก่อนหน้านี้
แบบฟอร์มร้องขอกรอกลง ID
และปะติดไปยังฐานข้อมูลผู้ส่งใย ผ่านการทำงานของไฟล์ ASP ผลลัพธ์ดอด เอเอสพี (results. asp) เพื่อตรวจสอบว่า ID
ยังคงอยู่ในฐานข้อมูลหรือไม่ ไฟล์ผลลัพธ์ดอด
เอเอสพี (Results.
asp File) เพราะไฟล์ร้องขอดอด เอชทีเอ็ม
เป็นเพียงการยอมรับการแสดงตนนักเรียน และปะติดไปยังฐานข้อมูลผู้ส่งใย
ไฟล์ผลลัพธ์ดอด เอเอสพี สามารถออกแบบให้จัดการสองสถานะ ประการแรกถ้านัเรียนได้กรอก
ID ที่ถูกต้องของเขาหรือหล่อนแล้ว ผลลัพธ์ดอด เอเอสพี
ส่งหน้ารายงานสถานภาพการลงทะเบียนชั้นของนักเรียน ไม่เช่นนั้น ไฟล์ ASP ส่งหน้าเริ่มต้นที่ ID ของนักเรียนค้นไม่พบ
แหล่งรหัสของไฟล์ร้องขอ ดอดเอเอสพี สามารถเห็นรหัสคล้ายกับ ไฟล์ตรวจสอบ1 ดอด
เอเอสพี นอกจากประโยค do……loop เขียนแหล่งรหัส ดังนี้ <html><head><title>
Registration Information </title><head> <body> <center> <h2><font
size=6> Student Class Registration Information </font></h2> <h3>
A Test of the Web-Based Client/Server Programming with ASP and VBScript
<h3><br> <% dim
dim
rsTitleList dim
connectString dim
sqlString dim
requestStudID connectString=”DSN=Studentservice” set
myConnection=Server.CreateObject Z”ADODB.Connection”) set
rsTitleList =Server. CreateObject Z”ADODB.Recordset”) myConnection.open
connectString requestStudID=
Request.Form (“StudID”) sqlString=”Select*from
Student where Student ID=’ “&equestStudID&” ‘ ” set
rsTitleList= myConnection .Execute (sqiString) if
(rsTitleList.bof) and (rsTitleList.eof) then respond.write
(“Sorry ! Student ID Number was not found !”) else %> <table
align=center Cospa= 14 cellpadding= 10 border=0 width=300> <
!- Begin column header row -> <tr><td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Student
ID </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Last
name </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> First
name </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Class
1 </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Class
2 </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Class
3 </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Class
4 </font></td> <td
valign=top bgcolor=#800000”> <font
style=”Arial narrow” color=”#ffffff” size=3> Class
5 </font></td> </tr> <
!-Get Data-> <%
do while not rsTitleList.EOF %> <tr><td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Student ID”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Last name”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“First name”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 1”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 1”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 2”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 3”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 4”) %></font></td> <td>
BGcolor=”f7efde “align=center> <font
style=”arial narrow”size=3> <%
=rsTitleList(“Class 5”) %></font></td> </tr> <%
rsTitleList.MoveNext %> <%
loop %> <%
End if %> </table></cetter> </body> </html> เมื่อนำไปเขียนใน
โน๊ตแพต บันทึกเป็นไฟล์ HTML
แล้วนำไปเปิดที่ อินเตอร์เน็ต เอ็กพอรเรอร์ จะได้รูป ดังนี้
รูป
หน้าลงทะเบียนชั้นเรียน สรุป
การออกแบบฐานใยลูกค้า/ผู้ส่งฐานข้อมูลประยุกต์ สำหรับตรวจสอบการลงทะเบียนชั้นเรียน
ประกอบด้วยไฟล์ใย 5 ไฟล์ คือ ไฟล์ฐานข้อมูลขีดความสามารถใย (student.mdb) ไฟล์ HTML (login.htm และ rquest.htm) และ ไฟล์ ASP (check1.asp และ result. asp) ไฟล์เหล่านี้จำเป็นต้องบันทึกในแฟ้มไฟล์ C:\pws\student service เป็นบัญชีรายชื่อเสมือนจริงบนคอมพิวเตอร์ผู้ส่งใย โปรแกรมบท
วีบี ใน ไฟล์ เอเอสพี (VBScript
Programming in ASP File) ส่วนนี้จะนำเสนอ ชิ้นส่วนของไฟล์ ASP
รากฐานบทVB และพื้นฐานประโยค SQL ชิ้นส่วนของไฟล์
ASP
(Component of ASP File) ไฟล์ ASP ถูกสร้างด้วยการรวมกันของป้ายชื่อ
HTML อักษร บท และ ประโยคโครงสร้างวภาษาคำถาม (Structured
Query Language: SQL) ไฟล์ตรวจสอน1 มีบท VB ปิดล้อมอาณาเขต
<%...........%> อาณาเขตเหล่านี้สื่อสารถึงเครื่องยนต์
ASP ทุกสิ่งทุกอย่างระหว่างการปิดล้อม เพื่อดำเนินการคมนาคม
ข้อมูลลูกค้า/ผู้ส่ง ไม่ใช่สำหรับการเพลิดเพลิน บทจึงเป็นบทด้านส่ง หมายความว่า
ไม่สามารถให้เห็นแหล่งรหัสจากผู้พาเพลินลูกค้า สังเกตประโยค SQL (“Select*from
user where username= ‘ “& username & “ ‘ “) ถูกติดแน่นในบทเหมือนเป็นสาย
SQL
สำหรับการคัดเลือกข้อมูลจากฐานข้อมูล ถ้าการใส่ชื่อผู้ใช้ และคำผ่าน
ถูกต้อง แม้ว่าไฟล์จะเริ่มต้นและจบสิ้นด้วยป้ายชื่อ <html>………..</html> จะถูกบันทึกในชื่อไฟล์ส่วนต่อ (extension)
.asp รากฐานบทวีบี
(VBScript
Fundamental) ASP เป็นภาษาอิสระ การประยุกต์เทคโนโลยีบทVB ใช้บ่อยในไฟล์ ASP เพราะเป็นปฐมบทที่ขาดไป
ในภาษาการเขียนบทของ ASP จะแนะนำรากฐานบทVB บทVB คือสมาชิกของตระกูลวิชวล เบสิก (Visual
Basic) ของภาษาโปรแกรม เมื่อได้เรียนรู้จะเป็นแนวทาง
ในการเขียนโปรแกรม ด้วยตระกูลทั้งหมดของภาษาวิชวลเบสิก ตัวแปร
(Variable)
บทVB ตัวแปรเป็นชื่อสัญลักษณ์ ใช้หรือแสดง
สำหรับการเก็บสารสนเทศโปรแกรม อาจเปลี่ยนท่ามกลางเวลาบทกำลังวิ่ง การแสดงตัวแปร
แนะนำให้ใช้ประโยค dim ตัวอย่างตัวแปรหนึ่ง myConnection
แสดงเป็น dim myConnection
และต่อมาถูกตั้งเป็น Server.CreateObject
(“ADODB.connection”) สำหรับการต่อถึงฐานข้อมูลคล้ายกับตัวแปรชื่อผู้ใช้และคำผ่าน
เก็บโปรแกรมสารสนเทศของ Request.Form(“username”) และ Request.Form(“password”) ตามลำดับ ตัวคงที่
(Constants) ตัวคงที่ เป็นเลข หรือสายอักษร ที่ไม่เคยเปลี่ยนแปลง เพื่อสร้างตัวคงที่
ใช้ประโยค const สามารถสร้างเป็นตัวเลขสายตัวคงที่ด้วยความหมายคำ
และกำหนดให้มีคุณค่าตามตัวอักษร คุณค่าอักษรเลข กำหนดให้ล้อมรอบด้วยสัญลักษณ์ (#.........#)
และสายคุณค่าตามตัวอักษรมีเครื่องหมายการอ้าง (“...........”) ตัวอย่าง Const
Duedate= #12-31-2002
# Const
Company Name = “Cyber World Company” สำหรับความสะดวก
บทVB จำกัดความรายการของค่าคงที่ เนื้อแท้ค่าคงที่สี ค่าคงที่เปรียบเทียบ
ค่าคงที่วันและเวลา ให้มีชื่อบ้าง เพราะค่าคงที่เหล่านี้เป็นเนื้อแท้
ไม่สามารถสร้างค่าคงที่เหล่านี้ได้ด้วยตนเอง ผู้ปฏิบัติการ
(Operators)
บทVB นี้มีพิสัยเต็มที่ของผู้ปฏิบัติการคำนวณ
เปรียบเทียบ การเกี่ยวโยง และการให้เหตุผลตรรกะ ดังนี้ 1.
ปฏิบัติการคณิตศาสตร์ รวมถึงการยกกำลัง ( ^ ) การคูณ ( * ) การหาร ( / ) การบวก ( + ) และ การลบ ( - ) 2.
ปฏิบัติการเปรียบเทียบ แสดงเป็น เท่ากับ ( = ) ไม่เท่ากับ ( <>
) น้อยกว่า (< ) มากกว่า ( > ) น้อยกว่าหรือเท่ากับ ( <= ) มากกว่าหรือเท่ากับ (
>= ) และวัตถุสมมูล ( Is ) 3.
ปฏิบัติการตรรกะ บรรจุ สันธาร (And) ปฏิเสธ (Not) อสันธาร (Or) การยกเว้น (Xor) สมมูล (Eqy) 4.
ปฏิบัติการเกี่ยวโยง เป็นสายการเกี่ยวโยง ( & ) เมื่อศัพท์บรรจุผู้ปฏิบัติการมากกว่าหนึ่งพวก
ผู้ปฏิบัติการคณิตศาสตร์คำนวณเป็นลำดับแรก การเปรียบเทียบเป็นลำดับที่สอง
ผู้ปฏิบัติการตรรกะเป็นลำดับสุดท้าย
ผู้ปฏิบัติการเปรียบเทียบทั้งหมดมีบรรทัดฐานเท่าเทียมกัน หมายความว่า
คำนวณจากซ้ายไปขวาในลำดับที่ปรากฏ ผู้ปฏิบัติการคณิตศาสตร์ และตรรกะ
คำนวณตามลำดับที่เขียนมาแล้วเป็นบรรทัดฐาน
สามารถใช้นขลิขิตทำให้ลำดับบรรทัดฐานอ่อนลงได้ ปฏิบัติการภายในนขลิขิต
จะถูกกระทำก่อนพวกที่อยู่ข้างนอกเสมอ แต่ภายในนขลิขิต
บรรทัดฐานปฏิบัติการมาตรฐานยังคงอยู่ ประโยคติดตั้ง
(Set
Statement) ประโยคติดตั้งถูกใช้กำหนดเป็นวัตถุอ้างอิงถึงตัวแปร
ตัวอย่างประโยคของ Set rsTitlelist=Server.CreateObject
(“ADODB.Recordset”) วิธีใช้วัตถุสร้างสรรค์ ของวัตถุผู้ส่ง ASP
เป็นการกำหนดถึงตัวแปร rsTitleList สำหรับการสร้างวัตถุชุดบันทึกใน
ADODB เป็นผลลัพธ์ฐานใยลูกค้า/ผู้ส่งประยุกต์
สามารถได้รับข้อมูลที่เป็นผลลัพธ์ของการทำงานคำถาม SQL หรือตารางกำหนดว้ในฐานข้อมูล ประโยค
ถ้า......แล้ว.....อื่นใด ( If……Then……Else Statement)
ประโยคเงื่อนไขนี้ กำหนดเงื่อนไขเป็นจริง หรือ ผิด วากยสัมพันธ์ (Syntax) ของประโยค คือ If
condition Then Statements [Else Statement] Or If
condition Then [Statement] [Else
If condition-n Then [elseifstatements]… [Else [elseifstatement] End
If ตัวย่างประโยคเงื่อนไข
ตรวจสอบ ชื่อผู้ใช้และคำผ่าน ถ้าชื่อผู้ใช้ไท่ถูกต้องแล้ว
ประโยคของชื่อผู้ใช้ไม่มีผล ถูกจัดไว้ให้ [Elseif condition-n then [………] ตรวจสอบถ้า rsTitleList (“password”)= password then หน้าใหม่ถูกให้ [Else] ประโยคของคำผ่านไม่มีผลถูกจัดไว้ให้
ประโยคจะเสร็จสิ้นด้วย [End if] ดังนี้ <%
if (rsTitleList.bof) and ( rsTitleList.eof) then response
.write (Sorry, invalid username. Try it again.”) %> <%
elseif rsTitleList (“password”)= password then %> …………. <%
else %> …………. <%
End if %> ประโยค
ทำ.............ย้อนกลับ (
Do………Loop Statement ) ประโยค ทำ........ย้อนกลับ ถูกใช้ให้วิ่งกลุ่มแถวประโยคซ้ำ
ขณะที่เงื่อนไขเป็นจริงมาถึง วากยสัมพันธ์ของประโยค คือ Do
[{while} condition] [Statements] Loop หรือ Do
[{Until} condition] [Statement] Loop เมื่อมีการใช้คำกุญแจ
ขณะที่ (While)
สามารถถามการประยุกต์เพื่อตรวจสอบการแสดงตนนักเรียนผ่านรายการข้อมูล
ขณะที่ไม่ใช่ที่จุดจบสิ้นรายการ ประโยค rsTitleList MoveNext หมายความว่าชุดวัตถุบันทึก (rsTitleList) ใช้วิธี MoveNext
ทีละรายการ ทันทีที่พบ ID การประยุกต์หยุดและให้สารสนเทศลงทะเบียนชั้นเรียน
เขียนดังนี้ <%
do while not rsTitleList.eof rsTitleList.Movenext Loop
%> สามารถใช้คำกุญแจจนกระทั่ง
(Until)
แทนคำว่าขณะที่ไม่ (while not) สำหรับจุดประสงค์เดียวกันได้ด้วย
ดังต่อไปนี้ <%
do until rsTitleList .eof rsTitleList.MoveNext Loop
%> ประโยค
สำหรับแต่ละ........ต่อไป (For Each……..Next Statement) ประโยคย้อนกลับนี้วิ่งเป็นกลุ่มของประโยคซ้ำซ้ำ
สำหรับแต่ละส่วนของหัวข้อการสะสมของวัตถุ หรือสำหรับแต่ละชิ้นส่วนในการสะสม
จะเห็นวัตถุ ASP ดังนี้ <%
For Each SV in request .ServerVariables response.write
“<p>” &”=”& request.servetrvariable (SV)&”</p>” Next
%> และ <%
For Each Item in Request.Cookjes response.write
“</p> & Cookies &”=” & request.cookies& “</p>” Next
%> สามารถบอกให้ประโยคแรกค้นหา
สำหรับแต่ละตัวแปรผู้ส่ง และเขียนทั้งหมดบนผู้พาเพลินเหมือนเป็นผลลัพธ์
เชนเดียวกับประโยคที่สอง ค้นหาสำหรับหัวข้อขนมหวานและรายงานผู้พาเพลิน ปัจจัย
วัน/เวลา (Date/Time
Functions) ปัจจัยเหล่านี้ รวมถึง วัน เวลา และ ปี ปัจจุบัน
เหมือนที่ได้เรียนรู้เรื่องไฟล์ ASP จะแสดง วัน เวลา
ของวันนี้ บนผู้พาเพลิน เมื่อผนวก Today is <%=date %> และ The local time is <% =time %> สามารถใช้ <%
=now %> ได้ด้วย เพื่อแสดงกระแส วัน และ เวลา อย่างพลวัต และ <%
year (now) %> แสงกระแส ปี
สามารถแม้กระทั่งเขียนการประยุกต์เล็กน้อยบนหน้าบ้าน เพื่อแสดงความยินดี
กับผู้เยี่ยมเยียน เกี่ยวกับเวลา ดังนี้ <% If
Time>= #12.00 AM # And
Time < # 12.00 Pm # then Response.
write (“Good Morning !”) Else
response. write (“Hello !”) End
if %> คำอธิบาย
(Comment) เพื่อช่วยเหลือเอกสารโปรแกรมประยุกต์ บทVB อนุญาตให้เขียนคำอธิบายในโปรแกรม
ด้วยการใช้ comment เหมือนต่อไปนี้ Today
is <% =date ‘Show client computer’s system date %> ประโยค
เอสคิวแอลพื้นฐาน (Basic
SQL Statement) ประโยค SQL เป็นการใช้บทVB
ให้มีขีดความสามารถลูกค้าผู้ส่งประยุกต์
ทำการนำสารสนเทศข้อมูลในไฟล์ฐานข้อมูลในทางต่างๆกัน ประโยค SQL พื้นฐานรวมถึงประโยคคัดเลือก และอนุประโยคที่ไหน (where clause) ประโยคคัดเลือก
(Select
Statement) ประโยคคัดเลือกสามารถใช้เพื่อนำบันทึกและไฟล์กลับคืน
จากตารางข้อมูลในฐานข้อมูล สามารถเขียน <%
sqi=”SELECT*FROM[pdata_table_name.e.g..Product]” %>
เพื่อนำสารสนเทศกลับคืน จากตารางข้อมูล สามารถเขียน <% sqi=”SELECT
Product ID ProductName FROM [Products]” %> เหมือนที่เคยเขียนแล้ว อนุประโยคที่ไหน
(Where
Clause) เมื่อต้องการจำกัดคัดเลือกบันทึก สามารถใช้อนุประโยคที่ไหน
ตัวอย่าง
ถ้าต้องการประยุกต์ให้เรียกกลับคืนสารสนเทศการลงทะเบียนชั้นเรียนทั้งหมดของนักเรียนที่
ID ของเขาหรือหล่อนเข้าแข่งขัน สามารถเขียน ดังนี้ <%
sqlString=”Select*from Student where Student ID=’ “& request Student ID
& “ ‘ “ %> เมื่อต้องการสร้างเครื่องมือค้นหาสำหรับ
ชื่อนักเรียน หมายเลขโทรศัพท์ และที่อยู่จดหมายอิเล็กทรอนิกส์ ถ้า ชื่อท้าย
และชื่อแรก มีอยู่ในการค้นหาในตารางฐานข้อมูล สามารถเขียนดังนี้ <%
sqlString=” Select*from [Student] where lastname=’ “& lastname &” ‘ and
firstname= ‘ “ & firstname &” ‘ “%> วงเล็บใหญ่
[…]
ใช้เพื่อล้อมรอบตารางข้อมูลชื่อ ผลิตภัณฑ์ [Product] และนักเรียน [Student] ให้เลือกใช้เพียงให้เอกสารกระจ่างชัดขึ้นเท่านั้น
สามารถใช้ <,>,.>=, หรือ <= ในอนุประโยคที่ไหน เพื่อจำกัดผลจากตารางข้อมูล
ตัวอย่างเมื่อต้องการคัดเลือกสารสนเทศของผลิตภัณฑ์ ที่หน่วยราคามากกว่าหรือเท่ากับ
$20 สามารถใช้ประโยคคำถามดังนี้ <%
sqiString=”Select*from Product where until_price >=20” %> สรุป
การพัฒนาใยประยุกต์ สำหรับการลงทะเบียนชั้นของนักเรียน เป็นตัวอย่างการโต้ตอบพลวัต
ที่ใช้ไฟล์
ASP โดยใช้บทVB และประโยค SQL ร่วมด้วย จะมีตัวอย่างอื่นให้เรียนรู้ ต่อไป ๒๗
กรกฎาคม ๒๕๕๐