3/12/2555

ความรู้เบื้องต้นเกี่ยวกับ ภาษา ASP

ความรู้เบื้องต้นเกี่ยวกับ ภาษา ASP


ASP (Active Server Page) คือ
                เป็นเทคโนโลยีที่ทำงานทางฝั่งด้านเซิร์ฟเวอร์ ที่ถูกออกแบบมาให้ง่ายต่อการพัฒนาแอพพลิเคชั่นผ่านเว็บเซิร์ฟเวอร์สำหรับนักพัฒนาเว็บไซต์ การใช้งาน ASP สามารถกระทำได้โดยเขียนคำสั่งหรือสคริปต์ต่างๆ ในรูปของเท็กซ์ไฟล์ธรรมดาทั่วๆไป แล้วนำมาเก็บไว้ที่เซิร์ฟเวอร์ เมื่อมีการเรียกใช้งานจากบราวเซอร์ ไฟล์เอกสาร ASP ก็จะถูกแปลโดย Server Interpreter แล้วส่งผลที่ได้ส่งกลับไปเป็นภาษา HTML ให้บราวเซอร์ที่เรียกดังกล่าว
เนื่องจาก ASP สามารถรองรับได้หลายภาษา เช่น VBScript ,Jscript ,Perl และภาษาสคริปต์อื่นๆ ดังนั้นนักพัฒนาเว็บไซต์จึงไม่มีความจำเป็นต้องมีความรู้หรือต้องศึกษาในทุกภาษาเนื่องจาก ASP ได้ถูกออกแบบมาให้ขึ้นกับความรู้ของนักพัฒนาเว็บไซต์นั่นเอง
การทำงานของโปรแกรม ASP นั้นจะทำงานอยู่ที่ฝั่งของ Server เท่านั้น เราจึงเรียกว่าเป็นการทำงานแบบ Server Side ซึ่งจากการทำงานทางฝั่ง Server ของ ASP นั้น ทำให้ Web Browser ของฝั่ง Client จะทำหน้าที่เพียงรับผลลัพธ์ที่ได้จากการทำงานทางฝั่ง Server เท่านั้น
 การเชื่อมต่อกับฐานข้อมูล จ1*
            ในการทำงานของเว็บแอพพลิเคชันเพื่อติดต่อกับแหล่งเก็บข้อมูล สิ่งที่ต้องทำเป็นอันดับแรกคือ การสร้างการเชื่อมต่อกับแหล่งเก็บข้อมูล ซึ่งมีอยู่หลายวิธีการดังต่อไปนี้
            DSN เป็นการสร้าง Data Source ให้อยู่ในรูปแบบของ File DSN หรือ System DSN เพื่อให้การเชื่อมต่อกับฐาน ข้อมูลสามารถจัดการและบริหารได้จากศูนย์กลางด้วย ODBC Data Source Administrator เพียงแห่งเดียว
            Connection String เป็นการสร้างการเชื่อมต่อกับแหล่งเก็บข้อมูลให้อยู่ในส่วนของสติงคำสั่ง ประโยชน์คือสตริงคำสั่งจะถูกเก็บอยู่ ภายในเว็บเพจ ทำให้ไม่ต้องคอนฟิกเพิ่มเติมให้กับสภาพแวดล้อมของเว็บเซิร์ฟเวอร์ส่วนข้อเสียคือเมื่อมีเว็บเพจมากขึ้นจะทำให้การจัดการกับการเชื่อมต่อเหล่านั้นยากขึ้นไปเป็นลำดับ สำหรับปัญหา ในส่วนนี้สามารถแก้ไขได้โดยการเขียนสคริปต์ให้มีระบบด้วยการสร้างสตริงคำสั่งในการเชื่อมต่อกับแหล่งเก็บข้อมูลให้อยู่ใน ไฟล์แยกต่างหาก และสามารถถูกเรียกใช้งานจากเว็บเพจอื่น ๆ ได้ด้วยวิธีการ Include ไฟล์เข้าไปเท่านั้นเอง
             Data Link File เป็นการสร้างไฟล์ที่บรรจุรายละเอียดในการเชื่อมต่อกับแหล่งเก็บข้อมูลทิ้งไว้ก่อน จากนั้นเมื่อเว็บเพจ ต้องการ เข้าถึงแหล่งเก็บข้อมูลนั้น ๆ ก็สามารถนำไฟล์ที่ได้สร้างนี้ไว้มาใช้


การใช้ ActiveX Data Objects 2.5

Connection Object
         เป็นออบเจ็กต์ที่ใช้การเชื่อมต่อกับแหล่งเก็บข้อมูล โดยผ่านตัวกลางอย่าง ODBC หรือ OLEDB Provider ทั้งนี้สามารถระบุถึง User และ Password ซึ่งใช้ในการรักษาความปลอดภัยของระบบ รวมถึง รายละเอียดทั่วไปของการติดต่อนั้น ๆ
Command Object
         เป็นออบเจ็กต์ที่สร้างขึ้นเพื่อเก็บคำสั่งที่ใช้ในการเข้าถึงแหล่งเก็บข้อมูล สามารถรับค่าพารามิเตอร์ รวมทั้งกำหนดรายละเอียดเกี่ยวกับพารามิเตอร์ เช่น ประเภท หรือความยาวของข้อมูล และเมื่อมีการทำคำสั่งแล้ว เกิดผลลัพธ์ ยังสามารถส่งค่าที่ได้นั้นกลับมาใช้งานต่อไปได้อีกด้วย
Recordset Object
         เป็บออบเจ็กต์ที่สำคัญในการทำงานของเว็บแอพพลิเคชันฐานข้อมูล เพราะออบเจ็กต์ Recordset นี้จะบรรจุผลลัพธ์ของกลุ่มเร็คคอร์ดของฐานข้อมูลซึ่งได้จากการทำคำสั่งที่เลือกสรรมา กลุ่มของเร็คคอร์ดเหล่านี้ สามารถเข้าถึงข้อมูลได้โดยตลอดทั้งทิศทางไปข้างหน้า ย้อนกลับ อยู่ในตำแหน่งแรกสุด หรือท้ายสุดของเร็คคอร์ดได้ รวมถึงการกรอง และค้นหา ตลอดจนจดจำตำแหน่งที่ต้องการเพื่อให้สามรถเข้าถึงเร็คคอร์ดนั้นๆ ได้ในเวลาอันรวดเร็ว
Record Object
         เป็นออบเจ็กต์ใหม่ที่เพิ่มเข้ามาใน ADO 2.5 ทำหน้าที่คล้ายกับออบเจ็กต์ Recordset แต่จะเข้าถึง ข้อมูลอื่น ๆ นอกเหนือจากฐานข้อมูล เช่น ระบบไฟล์ หรือระบบอีเมลล์ ซึ่งอยู่ในรูปแบบกึ่งโครงสร้างหรือ semi-structure กล่าวคือมีความเป็นโครงสร้างน้อยกว่าเร็คคอร์ดเซ็ต แต่เน้นหนักไปทางโครงสร้างข้อมูลแบบ Binary และมักอยู่ในลักษณะของ Text หรือ Images เสียมากกว่า
Stream Object
         เป็นออบเจ็กต์ที่ช่วยให้สามารถเข้าถึงเนื้อหาภายในของแต่ละโหนดได้ เช่น ระบบอีเมลล์ เว็บเพจ ไฟล์ต่าง ๆ ยิ่งไปกว่านี้หากมีการใช้ร่วมกับออบเจ็กต์ Record และ Recordset แล้วยังสามรถสร้างเมล ์ไคลเอนท์เพื่อเข้าถึงเนื้อหาของอีเมลล์บนเว็บเพจได้ด้วย

Collection ต่าง ๆ ของ Object

  • Fields Collection รวบรวมข้อมูลเกี่ยวกับออบเจ็กต์ Field ซึ่งเป็นผลลัพธ์ที่ได้จากออบเจ็กต์ Recordset หรือ Record สำหรับเร็คคอร์ดเซ็ตจะหมายถึงคอลัมน์ที่อยู่ในฐานข้อมูลโดยมีรายละเอียดเกี่ยวกับคอลัมน์นั้น ๆ เช่น ชื่อคอลัมน์ ประเภทของข้อมูลที่ใช้ ส่วนข้อมูลแบบกึ่งโครงสร้างจะให้รายละเอียดเกี่ยวกับ properties ต่าง ๆ ของฟิลด์นั้น ๆ
  • Properties Collection เกี่ยวข้องกับหลาย ๆ ออบเจ็กต์ เพราะใช้อธิบายคุณลักษณะของออบเจ็กต์นั้นๆ และมีความแตกต่างกันไปตามแต่ละ Provider
  • Parameters Collection ใช้กับออบเจ็กต์ Command ซึ่งแสดงถึงค่าพารามิเตอร์ต่าง ๆ ที่อินพุตส่งไปพร้อมกับคำสั่งในรูปของ Stored Procedure เพื่อไปทำงานยังฐานข้อมูล โดยอาจได้ค่าเอาต์พุต หรือส่งค่ากลับมาบอกถึงความสำเร็จของงาน รวมถึงข้อมูลเพิ่มเติมต่างๆ ได้ ที่สำคัญคือช่วยให้ประสิทธิภาพในการใช้งานดีขึ้นด้วย
  • Errors Collection เมื่อ ADO หรือ OLEDB พบข้อผิดพลาดที่เกิดขึ้น ข้อมูลเหล่านี้จะถูกรวบรวมผ่านทางออบเจ็กต์ Connection หรือกรณีที่มีการเข้าถึงข้อมูลโดยไม่ได้สร้างการเชื่อมต่อขึ้นมาก่อนจะผ่านทางพรอพเพอร์ตี้ ActiveConnection ของออบเจ็กต์ Recordset

ขั้นตอนการใช้ฐานข้อมูลจากสคริปต์ ASP

                 สคริปต์ ASP จะเชื่อมต่อฐานข้อมูลโดยใช้ ADO (ActiveX Data Objects) ซึ่งจะถูกติดตั้งมาพร้อมๆ กับ IIS และ PWS อยู่แล้ว จึงสามารถใช้งานได้ทันที
  • ขั้นที่ 1 : สร้างการเชื่อมต่อไปยังฐานข้อมูลเริ่มที่การสร้างตัวแทนของออบเจ็กต์ Connection ขึ้นมา แล้วกำหนดรายละเอียดการ เชื่อมต่อให้กับเมธอด Open ของออบเจ็กต์ Connection ว่าต้องการจะเชื่อมต่อกับฐานข้อมูลประเภทใด ฐานข้อมูลนั้นถูกเก็บไว้ที่ใด วิธีในการกำหนดรายละเอียดการเชื่อมต่อมีหลายวิธี เช่น System DSN, DSN-less และ OLEDB ซึ่งวิธีการเชื่อมต่อแบบ OLEDB จะทำให้ใช้เวลาในการเชื่อมต่อตลอดจน ใช้เวลาทำงานกับฐานข้อมูลน้อยที่สุด
  • ขั้นที่ 2 : คิวรี่หรือดึงข้อมูลมาจากฐานข้อมูลหลังจากที่สร้างการติดต่อกับฐานข้อมูลแล้ว ต้องใช้ภาษา SQL ในการระบุว่าต้องการข้อมูล จากตารางใด และยังสามารถกำหนดเงื่อนไขในการดึงข้อมูลขึ้นมาได้ด้วย เช่น Select Name From MyUser Where Name="Warissara" or Name="Hong" วิธีนี้มีข้อจำกัดที่สามารถอ่านข้อมูล ได้อย่างเดียว ไม่สามารถเพิ่ม เปลี่ยนแปลง แก้ไข ข้อมูลลงฐานข้อมูลได้ วิธีแก้ก็คือ การสร้างตัวแทน ของออบเจ็กต์ Recordset ขึ้นมาเองแล้วเรียกใช้เมธอด Open ของออบเจ็กต์ Recordset เพื่อคิวรี่ ข้อมูล ตัวอย่าง
          ตัวอย่าง
                                         Set rs=Server.CreateObject("ADODB.Recordset")
                                         Sql="Select" From MyUser
                                         Rs.Open Sql, Conn, 0, 3, 1
  • ขั้นที่ 3 : ใช้งานข้อมูลที่คิวรี่ขึ้นมา
  1. การนำข้อมูลใน Recordset มาใช้ 
  2. การเพิ่มข้อมูลใหม่ลงฐานข้อมูล 
  3. การแก้ไขข้อมูลที่เก็บอยู่ในฐานข้อมูล
  4. การลบข้อมูลในฐานข้อมูล

  • ขั้นที่ 4 : ปิดการเชื่อมต่อกับฐานข้อมูล    โดยปิดการใช้งานออบเจ็กต์ Connection และ Recordset ด้วยเมธอด Close และถ้าไม่ ต้องการนำออบเจ็กต์ทั้ง 2 มาใช้งานอีกก็ควรสั่งให้ลบออบเจ็กต์ออกจากหน่วยความจำดังนี้
                                          rs.Close Set rs=Nothing
                                          Conn.Close Set Conn=Nothing

วิธีรับส่งข้อมูลระหว่างบราวเซอร์และเซิร์ฟเวอร์

             ASP ได้เตรียมวิธีง่ายๆ ที่ช่วยในการรับส่งข้อมูลระหว่างบราวเซอร์และเซิร์ฟเวอร์โดยผ่านออบเจ็กต์ พื้นฐาน 2 ออบเจ็กต์ คือ ออบเจ็กต์ Request และออบเจ็กต์ Response
ออบเจ็กต์ Request เป็นออบเจ็กต์ที่ใช้รับส่งข้อมูลที่ส่งมาจากบราวเซอร์เพื่อนำใช้ในสคริปต์โดยแบ่งได้เป็น 2 ประเภท
1. ข้อมูลที่ส่งมาจากฟอร์ม  
                  จะใช้ Property ฟอร์มของออบเจ็กต์ Request ซึ่งเป็นข้อมูลประเภท Collection เพื่อรับข้อมูลที่ผู้ใช้กรอกเข้ามาให้ผ่านฟอร์ม เช่น ถ้าสร้างฟอร์มขึ้นมาเพื่อรับชื่อผู้ใช้ด้วยโค้ด HTML ต่อไปนี้
                                                   <form method=post action=form.asp>
                                                   <input type=text name=username>
                                                   </form>
                   ในสคริปต์ form.asp สามารถรับค่าที่ผู้ใช้กรอกมาในช่องรับข้อมูลประเภท Text และได้ตั้งชื่อในฟอร์มว่า username ซึ่งจะนำมาใช้เป็นคีย์เพื่ออ้างถึงค่าที่เก็บใน Collection ดังนี้
                                                    ตัวแปร=Request.Form("username")

หมายเหตุ : Collection เป็นวิธีเก็บข้อมูลอย่างหนึ่งคล้ายกับอาร์เรย์ แต่สามารถเก็บข้อมูลคนละชนิดไว้ใน Collection เดียวกันได้ การใช้ข้อมูลใน Collection นั้นจะต้องรู้คีย์ของข้อมูลที่ต้องการ ซึ่งถ้าจะเปรียบกับอาร์เรย์ คีย์ก็คือ Index ที่เป็นอะไรก็ได้ ไม่จำเป็นต้องเป็นตัวเลขเหมือน Index ของอาร์เรย์

2. ข้อมูลที่ส่งต่อท้ายมากับชื่อ URL
                   การส่งข้อมูลในรูปแบบนี้จะเกิดขึ้นเมื่อเราได้กำหนดแอตทริบิวต์ method ของ <form> เป็น "get" หรือมีการส่งข้อมูลต่อท้ายชื่อ URL จากสคริปต์หนึ่งไปให้อีกสคริปต์หนึ่ง
วิธีรับข้อมูลให้ใช้ Property QueryString ของออบเจ็กต์ Request ซึ่งเป็นข้อมูลประเภท Collection เช่นจากรูปมีการส่งหมายเลข ISBN มาด้วยประโยค "isbn=974-88453-0-3" ซึ่งจะนำค่า "974-88453-0-3" มาใช้ในสคริปต์ได้โดย
                                                     ตัวแปร=Request.QueryString("isbn")

ออบเจ็กต์ Response

                    เป็นออบเจ็กต์ที่ใช้ส่งข้อมูลจากสคริปต์ไปยังบราวเซอร์เพื่อแสดงผลให้ผู้ใช้เห็นได้ง่ายๆ โดยเมธอด Write ของออบเจ็กต์ Response
สามารถส่งทั้งข้อมูลที่กำหนดในขณะที่เรียกใช้เมธอด Write หรือค่าในตัวแปรไปยังบราวเซอร์ก็ได้ ดังนี้
                                                      Response.Write "ข้อมูล"
                                                      Response.Write ตัวแปร

จ1* คัดลอกมาจากคุณ วิชนันท์ เกลียวทอง http://www.jobpub.com/articles/showarticle.asp?id=328

ป้ายกำกับ:

0 ความคิดเห็น:

แสดงความคิดเห็น

สมัครสมาชิก ส่งความคิดเห็น [Atom]

<< หน้าแรก