เมื่อนำไปเขียนใน โน๊ตแพต บันทึกเป็นไฟล์ 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 ร่วมด้วย จะมีตัวอย่างอื่นให้เรียนรู้ ต่อไป

๒๗ กรกฎาคม ๒๕๕๐