เอกสารประกอบการบรรยาย เรื่อง ASP and Database 20 July 2001 เอกสารประกอบการบรรยาย เรื่อง ASP and Database โดย ผู้ช่วยศาสตราจารย์วิชัย บุญเจือ E-mail:wichai@buu.ac.th http://bucc4.buu.ac.th/~wichai E-mail: wichai@bucc4.buu.ac.th
20 July 2001 ASP กับ Access วัตถุประสงค์ของการใช้ ASP เพื่อนำข้อมูลจากฐานข้อมูล Access มาแสดงผลบนเว็บ เรียกว่า Web database เป็นการทำงานแบบ Server side และ Server ต้องสนับสนุนฐานข้อมูล Access และ ASP Free server ที่สนับสนุน Access และ ASP http://www.webhostme.com http://www2.ewebcity.com 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
ทางเลือกการพัฒนา Web Database 20 July 2001 ทางเลือกการพัฒนา Web Database CGI ใช้ ภาษา Java, Perl, C++ บน UNIX PHP (Professional Home Page) เป็น Open source JSP (Java Server Pages) Cold Fusion บน Cold Fusion Server ASP บน IIS และ PWS 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การเขียนคำสั่งเชื่อมต่อฐานข้อมูล 20 July 2001 การเขียนคำสั่งเชื่อมต่อฐานข้อมูล การเขียนโปรแกรม ASP เพื่อเชื่อมต่อกับฐานข้อมูล Microsoft Access ต้องมี driver ช่วย ซึ่งมีหลายแบบ ODBC (Open Database Connectivity) โดยการสร้าง DSN (Data Source Name) DSNLess ไม่ใช้ DSN OLEDB 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
20 July 2001 รูปแบบการใช้ DSNLess คำสั่ง ASP เพื่อเชื่อมต่อกับฐานข้อมูลแบบ DNSLess มี 2 ส่วน 1 Set ObjDB=Server.CreateObject(“ADODB.Connection”) เชื่อมต่อฐานข้อมูลผ่าน DNSLess ด้วยออปเจ็กต์ ObjDB 2 ObjDB.Open “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=“F:\\home\\310303\\4402xxxx\\db-file.mdb” ใช้เมธอด Open เพื่อติดต่อฐานข้อมูล Microsoft Access โดยมี DBQ (Databasw Querry) บอกชื่อไฟล์ และไดเร็กทอรี่ 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การเขียนคำสั่งเพื่อดึงข้อมูลมาใช้ 20 July 2001 การเขียนคำสั่งเพื่อดึงข้อมูลมาใช้ การเขียนโปรแกรม ASP เพื่อดึงข้อมูลจาก Access มี 3 ส่วน 1 คำสั่ง ASP เพื่อสร้างเร็กคอร์ดเซ็ต Set ObjRS=Server.CreateObject(“ADODB.RecordSet”) เมื่อ ObjRS เป็นออปเจ็กต์ที่ติดต่อเร็กคอร์ดเซ็ต 2 คำสั่ง SQL เพื่อดึงข้อมูลมาไว้ในตัวแปร SQL เช่น SQL=Select * From Employee 3 เขียนคำสั่ง ASP ให้เอ็กซิคิวต์ SQL Set ObjRS = ObjDB.Execute(SQL) 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การเขียนคำสั่งเพื่อดึงข้อมูลมาใช้ (2) 20 July 2001 การเขียนคำสั่งเพื่อดึงข้อมูลมาใช้ (2) หมายเหตุ ข้อ 5 อาจเขียนเป็น ObjRS.Open SQL, ObjDB ข้อ 4 และ 5 อาจเขียนรวมกันเป็นคำสั่งเดียว คือ ้ Set ObjRS=ObjDB.Execute(“Select * From Employee”) ก็ได้ 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
สรุปขั้นตอนการติดต่อ Access 20 July 2001 สรุปขั้นตอนการติดต่อ Access 1 สร้างฐานข้อมูลด้วย Access 2 เขียนโค้ด ASP เชื่อมต่อฐานข้อมูล (ใช้ DNSLess) 3 เขียนโค้ด ASP เพื่อสร้างเร็กคอร์ดเซ็ต 4 เขียนคำสั่ง SQL เพื่อดึงข้อมูลมาใช้งาน 5 เขียนคำสั่งให้เอ็กซิคิวต์ SQL 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
ตัวอย่างโปรแกรมเชื่อมต่อฐานข้อมูล 20 July 2001 ตัวอย่างโปรแกรมเชื่อมต่อฐานข้อมูล <% Set ObjDB=Server.CreateObject(“ADODB.Connection”) ObjDB.Open “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=F:\\home\\staff\\wichai\\Bookshop.mdb” Set ObjRS=Server.CreateObject“ADODB.RecordSet”) SQL=“Select * From book by title” Set ObjRS=ObjDB.Execute(SQL) %> 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
Property ของ Object Recordset 20 July 2001 Property ของ Object Recordset Property ของ Object Recordset ที่ใช้เปลี่ยนคำสั่งดึงข้อมูลจากฐานข้อมูล BOF ตำแหน่งเริ่มต้นของไฟล์ EOF ตำแหน่งสุดท้ายของไฟล์ Name ชื่อฟิลด์ RecordCount จำนวนเรคคอร์ดทั้งหมด FieldsCount จำนวนฟีลด์ทั้งหมด Value ข้อมูลในฟิลด์นั้น 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
Method ของ Object Recordset 20 July 2001 Method ของ Object Recordset Method ที่ใช้ Open เปิดเรคคอร์ดแรก Close ปิดเรคคอร์ด AddNew เพิ่มเรคคอร์ด Delete ลบเรคคอร์ด Update แก้ไขข้อมูลในเรคคอร์ด MoveNext ย้ายพอยท์เตอร์ไปยังเรคคอร์ดถัดไป 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การอ่านข้อมูลและแสดงข้อมูล 20 July 2001 การอ่านข้อมูลและแสดงข้อมูล 1 พิมพ์หัวรายงาน 2 ติดต่อฐานข้อมูล และ สร้าง Object เพื่อดึงข้อมูล 3 พิมพ์หัวตาราง (ชื่อคอลัมน์) 4 พิมพ์ข้อมูลใน Recordset ทีละเรคคอร์ด 5 เลื่อนไปยังเรคคอร์ดถัดไป โดยใช้ MoveNext 6 เมื่อหมดข้อมูลให้พิมพ์ท้ายตาราง 7 ปิดการติดต่อฐานข้อมูล ดูตัวอย่าง ex10_01.asp 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การเพิ่มข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างแบบฟอร์มกรอกข้อมูล 20 July 2001 การเพิ่มข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างแบบฟอร์มกรอกข้อมูล 3 ตรวจสอบการกรอกข้อมูลไม่ครบ 4 ติดต่อฐานข้อมูล 5 บันทึกลงในฐานข้อมูล 6 ปิดการติดต่อฐานข้อมูล ดูตัวอย่าง ex10_02.asp 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การตรวจสอบการส่งข้อมูล 20 July 2001 การตรวจสอบการส่งข้อมูล 1 ถ้าคลิกปุ่ม Add โดยไม่ได้กรอกข้อมูล หรือกรอกไม่ครบ ให้แสดงข้อความว่า “โปรดกรอกข้อมูลให้ครบ 2 ถ้าเพิ่มข้อมูลในฐานข้อมูลเสร็จแล้ว ให้แสดงข้อความว่า “เพิ่มข้อมูลให้แล้ว” และถามว่า จะเพิ่มอีก หรือจะหยุด หรือจะดูข้อมูล 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การสืบค้นข้อมูล 1 พิมพ์หัวเรื่อง 20 July 2001 การสืบค้นข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างฟอร์มใส่ข้อมูลสืบค้น โดยระบุว่าเป็นฟิลด์ใด 3 ตรวจสอบการกรอกข้อมูลไม่ถูกต้อง 4 ติดต่อฐานข้อมูล 5 เปรียบเทียบข้อมูลสืบค้นกับข้อมูลในฐานข้อมูล ถ้าพบข้อมูล ให้แสดงข้อมูลนั้น ถ้าไม่พบ ให้พิมพ์ข้อความว่า “ไม่พบข้อมูลที่ต้องการ” 6 ปิดการติดต่อฐานข้อมูล ดูตัวอย่าง ex10_03.asp 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การแก้ไขข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างฟอร์มใส่ข้อมูลที่ต้องการแก้ไข 20 July 2001 การแก้ไขข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างฟอร์มใส่ข้อมูลที่ต้องการแก้ไข 3 ตรวจสอบการกรอกข้อมูลไม่ถูกต้อง 4 ติดต่อฐานข้อมูล 5 เปรียบเทียบข้อมูลสืบค้นกับข้อมูลในฐานข้อมูล ถ้าไม่พบ ให้พิมพ์ข้อความว่า “ไม่พบข้อมูลที่ต้องการ” ถ้าพบข้อมูล ให้แสดงข้อมูลนั้น และเขียนข้อมูลใหม่ทับ 6 ปิดการติดต่อฐานข้อมูล ดูตัวอย่าง ex10_04.asp และ ex10_05.asp 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
การลบข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างฟอร์มใส่ข้อมูลที่จะลบ 20 July 2001 การลบข้อมูล 1 พิมพ์หัวเรื่อง 2 สร้างฟอร์มใส่ข้อมูลที่จะลบ 3 ตรวจสอบการกรอกข้อมูลไม่ถูกต้อง 4 ติดต่อฐานข้อมูล 5 เปรียบเทียบข้อมูลสืบค้นกับข้อมูลในฐานข้อมูล ถ้าไม่พบ ให้พิมพ์ข้อความว่า “ไม่พบข้อมูลที่ต้องการ” ถ้าพบข้อมูล ให้แสดงข้อมูลนั้น และลบข้อมูลเรคอร์ดนั้น 6 ปิดการติดต่อฐานข้อมูล ดูตัวอย่าง ex10_06.asp และ ex10_07.asp 20 July 2003 E-mail:wichai@buu.ac.th E-mail: wichai@bucc4.buu.ac.th
The End 20 July 2003 E-mail:wichai@buu.ac.th 20 July 2001 E-mail: wichai@bucc4.buu.ac.th