ASP กับฐานข้อมูล
ASP กับฐานข้อมูล ASP ใช้ Server Side Component ที่เรียกว่า ActiveX Data Objects (ADO) ในการติดต่อกับฐานข้อมูล ODBC (Open Database Connectivity) เป็นตัวกลางระหว่างแอพพลิเคชัน กับฐานข้อมูล
ActiveX Data Object ชุดของออบเจ็กต์ที่ใช้สำหรับติดต่อกับ Database ใช้ ADODB สร้างออบเจ็กต์ที่เกี่ยวข้องกับการติดต่อ และดึงข้อมูลจากฐานข้อมูลมาใช้งาน
ActiveX Data Object Model
Connection Object ใช้สำหรับสร้างส่วนเชื่อมต่อกับฐานข้อมูล เพื่อส่งคำสั่งต่าง ๆ ไป Execute เพื่อให้ได้ผลลัพธ์ โดยการสร้างอ๊อบเจ็กต์ สำหรับการติดต่อแล้วใช้เมธอด Open เพื่อเปิดการเชื่อมต่อนั้น Set Conn = Server.CreateObject(“ADODB.Connection”) Conn.Open “MyDSN” , “admin” , “” บรรทัดแรกเป็นการสร้างอ๊อบเจ็กต์สำหรับการเชื่อมต่อชื่อ Conn แล้วเปิดการเชื่อมต่อด้วย เมธอด Open โดยกำหนดชื่อ Data Source Name เป็น “MyDSN” และ เข้าติดต่อด้วย Log On name เป็น “admin” ซึ่งไม่มีรหัสผ่าน
การใช้งาน Recordset Object จะใช้ในกรณีที่ Execute คำสั่ง แล้วมีการส่งผลลัพท์กลับมา เช่น การใช้คำสั่ง Select รูปแบบการใช้งาน Set Recordset = Conn.Execute(CommandText , RecordsetAffected, Options) โดยที่ CommandText เป็นได้ทั้ง SQL command, Table หรือ Stroed Procedure RecordsAffected เป็นจำนวนเรคอร์ดที่ต้องการ Options เป็นการระบุประเภทของคำสั่งที่ส่งไป Execute
การใช้งาน Recordset Object Options เป็นค่าต่าง ๆ ได้ดังนี้ adCmdText adCmdTable adCmdStoredProcedure adCmdUnKnown เป็นค่า ดีฟอลต์ ซึ่งไม่ระบุประเภท
การใช้งาน Recordset Object วิธีที่ 1 ตัวอย่างการสร้าง Recordset จาก Connection Object . Set Conn = Server.CreateObject(ADODB.Connection) Conn.Open “MyDSN” , ”admin” , ”” Set Rs = Conn.Execute(“MyTable” , 10 , adCmdTable)
การใช้งาน Recordset Object วิธีที่ 2 ตัวอย่างการสร้าง Recordset จาก Connection Object Set Conn = Server.CreateObject(ADODB.Connection) Conn.Open “MyDSN” , ”admin” , ”” Set Rs = Server.Create Connection(ADODB.Recordset) Rs.Source = “MyTable” Rs.ActiveConnection= Conn Rs.Open
การใช้งาน Recordset Object CursorType LockType PageSize AbsolutePage
การใช้งาน Recordset Object ชนิดของ CursorType adOpenFowardOnly ค่า 0 adOpenKeyset ค่า 1 adOpenDynamic ค่า 2 adOpenStatic ค่า 3
การใช้งาน Recordset Object ประเภทของการ Lock adLockReadOnly ค่า 1 adLockPessmistic ค่า 2 adLockOptimistic ค่า 3 adLockBatchOptimistic ค่า 4
การใช้งาน Recordset Object เพื่อ เพิ่มเรคอร์ด ใช้เมธอด AddNew Set Conn = Server.CreateObject(ADODB.Connection) Conn.Open “MyDSN” , ”admin” , ”” Set Rs = Server.CreateObjec(ADODB.Recordset) Rs.CursorType = adOpenKeySet Rs.LockType = adLockOptimistic Rs.Source = “MyTable” Rs.ActiveConnection= Conn Rs.Open
การใช้งาน Recordset Object เพื่อ เพิ่มเรคอร์ด Rs.AddNew Rs.(“Field1”) = “Data1” Rs.(“Field2”) = “Data2” Rs.(“Field3”) = “Data2” Rs.Update
การใช้งาน Recordset Object เพื่อ ลบเรคอร์ด ใช้เมธอด Delete Rs.Delete
การใช้งาน Recordset Object เพื่อปรับปรุงเรคอร์ด ใช้เมธอด Delete Rs.Update
Command Object ใช้ส่งคำสั่งต่าง ๆ เช่น SQL Statement Stored Procedure ใช้การเชื่อมต่อที่มีอยู่แล้วโดยการสร้าง Connection Object หรือ สามารถสร้างการเชื่อมต่อใหม่ได้ด้วยตัวเอง
ActiveConnection Property เป็น property ที่ใช้กำหนดลักษณะการเชื่อมต่อกับฐานข้อมูล ใช้การเชื่อมต่อที่มีอยู่แล้ว โดยกำหนดค่า ActiveConnection Property เป็น Connection Object ที่มีอยู่แล้ว หรือสร้างการเชื่อมต่อใหม่ โดยกำหนด Connection String ให้กับActiveConnection Property
การสร้าง Recordset โดยใช้ Command Object Set Cmd = Server.CreateObject(“ADODB.Command”) Cmd.ActiveConnection = “dsn=adodsn; uid=sa; pwd=” Cmd.CommandText = “Employee” Set Rs = Cmd.Execute
การจัดการข้อมูลในฐานข้อมูล มีขั้นตอนดังนี้ สร้างเว็ปฟอร์มเพื่อใส่ข้อมูล เมื่อ Submit แล้วข้อมูลจะถูกส่งไปให้ Server เพื่อประมวลผมกับ ไฟล์ ASP ที่ถูกระบุไว้ที่ Action ของฟอร์ม โดยมีอยู่ 2 รูปแบบคือ แบบแยกประมวลผล แบบเรียกประมวลผลโดยตัวเอง
การเพิ่มข้อมูล AddCust1.html AddCust1.asp สร้างเว็ปฟอร์มเพื่อใส่ฟิลด์ข้อมูล AddCust1.html AddCust1.asp
การแก้ไขและปรับปรุงข้อมูล สร้างเว็ปฟอร์มเพื่อใส่ฟิลด์ข้อมูล UpdRec.asp UpdAct.asp
การดึงข้อมูลจากฐานข้อมูล Cust1.asp