ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยวรรณา สมิท ได้เปลี่ยน 9 ปีที่แล้ว
3
การใช้ RecordSet Object จะใช้ในกรณีที่ Execute คำสั่ง แล้วมีการส่งผลลัพท์ กลับมา เช่น การใช้คำสั่ง Select หรือเรียก Stored Procedure ที่มีคำสั่ง Select จะถูกใช้ ทางฝั่ง Client ใช้ Execute method ของ Connection Object หรือ Command Object. ในการสร้าง Connection.Execute Set RecordSet = Connection.Execute หรือ Command.Execute Set RecordSet = Command.Execute ซึ่งจะมีลักษณะของ Cursor เป็นแบบ Forward- Only และไม่สามารถเปลี่ยนแปลงข้อมูลภายใน RecordSet object ได้
4
หรือใช้ Open method ของ Recordset Object ซึ่ง จะตรงกับความต้องการใช้งานมากกว่า การใช้ RecordSet Object
5
CursorType Property มีอยู่ 4 ชนิด ประเภทค่าค่าคงที่ Forward-Only Cursor0 adOpenForwardOnly Keyset Cursor1 adOpenKeyset Dynamic Cursor2 adOpenDynamic Static Cursor3adOpenStatic ถ้าไม่มีการกำหนดชนิของ Cursor กำหนดให้เป็น ชนิด Forward-Only
6
LockType Property มีอยู่ 3 ชนิดคือ adLockReadOnly ค่า 1 : ไม่ยอมให้มีการแก้ไขข้อมูล ใน RecordSet เป็น default adLockPessimistic ค่า 2: เมื่อมีการแก้ไขข้อมูลใน RecordSet จะ Lock ทันที adLockOptimistic ค่า 3 : จะทำการ Lock เมื่อมีการใช้ Update Method เท่านั้น AdLockBatchOptimistic ค่า 4 : จะทำการ Lock เมื่อมี การใช้ Update Method แบบ Batch Update เท่านั้นซึ่ง ตรงข้ามกับทันทีทันใด
7
Open Method เป็นการสร้าง Recordset object ขึ้นมาใหม่ มี รูปแบบดังนี้ Recordset.Open Source, ActiveConnection, CursorType, LockType, Options Source โดยที่ Source คือ Command Object, SQL Statement, Table Name, SP ActiveConnection ActiveConnection คือ ตัวแปรที่ระบุการเชื่อมต่อ CursorType CursorType คือ ชนิดของ Recordset Object ที่ จะสร้าง LockType LockType คือ ชนิดของการ Lock ใน Recordset Object ที่จะสร้าง Options Options คือ ตัวแปรชนิด Long ที่บ่งบอกชนิด คำสั่งใน CommandText
8
Open Method : ชนิดของคำสั่งใน CommandText ค่าคงที่ความหมาย adCmdTextSQL Statement ธรรมดา adCmdTable ชื่อ Table adCmdStoredProc ชื่อ Stored procedure adCmdUnknown ไม่ทราบชนิด ของ CommandText เป็นค่า default ตัวเลือกต่างๆนี้จะไม่สามารถใช้ได้ โดยตรง จนกว่าจะมีการ Include file adovbs.inc เข้าไปในแฟ้มของ ASP ด้วยทั้งนี้ เนื่จากแฟ้มดังกล่าวกำหนดค่าคงที่ต่างๆ รวมทั้งตัวเลือกไว้แล้ว
9
แฟ้ม adovbs.inc จะมีมาพร้อมเมื่อติดตั้ง ASP บน IIS (Internet Information Services ในไดเร็กทอรี /InetPub/ASPSamp/Samples ส่วน PWS จะอยู่ในไดเร็กทอรี /Program Files/CommonFiles/System/ADO สำหรับ JavaScript จะใช้แฟ้ม adojavas.inc ให้สำเนามาไว้ให้ตรงตามพาธที่อ้างไว้ใน include files
10
ตัวอย่างแฟ้ม adovbs.inc '---- CursorTypeEnum Values ---- Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 '---- CursorOptionEnum Values ---- Const adHoldRecords = &H00000100 Const adMovePrevious = &H00000200 Const adAddNew = &H01000400 Const adDelete = &H01000800 Const adUpdate = &H01008000...
11
Open Method เราสามารถแยกการกำหนดค่า parameter ได้ทุกตัว ยกเว้น Options Recordset.Open “Select * From Titles”, “{DSN=Library; UID=sa}”, adOpenDynamic, adLockOptimistic, adCmdText adOpenDynamic, adLockOptimistic, adCmdText จะเหมือนกับ Recordset.Source = “Select * From Titles” Recordset.ActiveConnection = “{DSN=Library; UID=sa}” Recordset.CursorType = adOpenDynamic Recordset.LockType = adLockOptimistic Recordset.Open,,,, adCmdText
12
การใช้งาน Recordset Object มีการส่งผล ลัพท์กลับมา จะใช้ในกรณีที่ Execute คำสั่ง แล้วมีการส่งผล ลัพท์กลับมา เช่น การใช้คำสั่ง Select รูปแบบการใช้งาน Set Recordset = Conn.Execute(CommandText, RecordsetAffected, Options) โดยที่ CommandText เป็นได้ทั้ง SQL command, Table หรือ Stroed Procedure RecordsAffected เป็นจำนวนเรคอร์ดที่ ต้องการ Options เป็นการระบุประเภทของคำสั่งที่ส่งไป Execute
13
การใช้งาน Recordset Object วิธีที่ 1 ตัวอย่างการสร้าง Recordset จาก Connection Object. Set Conn = Server.CreateObject(ADODB.Connectio n) Conn.Open “MyDSN”, ”admin”, ”” Set Rs = Conn.Execute(“MyTable”, 10, adCmdTable)
14
การใช้งาน Recordset Object วิธีที่ 2 Set Conn = Server.CreateObject(ADODB.Connectio n) ตัวอย่างการสร้าง Recordset จาก Connection Object Set Conn = Server.CreateObject(ADODB.Connectio n) Conn.Open “MyDSN”, ”admin”, ”” Set Rs = Server.Create Connection(ADODB.Recordset) Rs.Source = “MyTable” Rs.ActiveConnection= Conn Rs.Open
15
การใช้งาน Recordset Object พรอพเพอร์ตี้ที่สำคัญของ Recordset –CursorType –LockType –PageSize –AbsolutePage
16
การใช้งาน Recordset Object ชนิดของ CursorType –adOpenFowardOnly ค่า 0 –adOpenKeyset ค่า 1 –adOpenDynamic ค่า 2 –adOpenStatic ค่า 3
17
การใช้งาน Recordset Object ประเภทของการ Lock –adLockReadOnly ค่า 1 –adLockPessmistic ค่า 2 –adLockOptimistic ค่า 3 –adLockBatchOptimistic ค่า 4
18
การเคลื่อนย้ายตำแหน่งใน Recordset Object การเคลื่อนย้ายตำแหน่งใน Recordset Object ใช้ method MoveFirst, MoveLast, MoveNext, MovePrevious ต้องตรวจสอบชนิดของ Cursor ที่กำลังใช้งานอยู่ด้วย Forward-Only Cursor จะสนับสนุนเฉพาะ MoveNext เท่านั้น
19
การเพิ่มข้อมูลใน Recordset Object การเพิ่มข้อมูลใน Recordset Object ใช้ Addnew methodc และ Update method Recordset.Addnew ตัวอย่าง RS_main.AddNew RS_main(“firstname”) = “Jim” RS_main(“lastname”)=“Smith” RS_main(“phone”)= “551-1111”
20
การใช้งาน 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
21
การใช้งาน Recordset Object เพื่อ เพิ่มเรคอร์ด Rs.AddNew Rs.(“Field1”) = “Data1” Rs.(“Field2”) = “Data2” Rs.(“Field3”) = “Data2”Rs.Update
22
การแก้ไขข้อมูลใน Recordset Object การแก้ไขข้อมูลใน Recordset Object กำหนดผ่านทาง Update method รูปแบบ Recordset.Update Fieldname, data Newphone= “55-1212” Rs_Main.Update Phone, NewPhone
23
การลบข้อมูลใน Recordset Object กำหนดผ่านทาง Delete method รูปแบบ Recordset.Delete Fieldname เช่น RS_mian.delete เป็นคำสั่งให้ลบเรคค อร์ดปัจจุบัน RS_mian.delete adAffectGroup เป็น คำสั่งให้ลบเรคคอร์ดทั้งหมดในเรคคอร์ดที่ ถูกเลือกไว้แล้ว
24
Recordset property: BOF/EOF BOF - Begginning of file EOF - End of File รูปแบบ Recordset.BOF, Recordset.EOF เช่น IF RS_main.EOF then we are at end of recordset else do some thing end if
25
Recordset property: RecordCount รูปแบบ Recordset.RecordCount เช่น intNumRec = RS_Main.RecordCount Do while I < intNumRec ……….Something interesting Loop
26
Recordset property: Filter รูปแบบ Recordset.Filter เช่น RS_Main.Filter “LastName= ‘Smith’ “ ต้องการเลิกใช้ RS_Main.Filter = adFilterNone
27
ตัวอย่าง การ Search Employee Search Employee Search * Required
28
Last Name : * First Name :
29
ตัวอย่าง แสดงผลลัพธ์ 5 ระเบียน แรก Search For Employee - By Last Name <% Dim i i = 0
30
Set DataConn = Server.CreateObject("ADODB.Conne ction") 'Set our connection and command timeout higher, due 'to all the heavy traffic we will getting DataConn.ConnectionTimeout = 60 DataConn.CommandTimeout = 60 DataConn.Open = "DSN=Employee;User=Keith;Passwo rd=HiElizabeth" Set DataCmd = Server.CreateObject("ADODB.Comm and") Set DataCmd.ActiveConnection = DataConn 'setting the name and value of the parameter StrName= "last_name" StrValue= Request.Form("last_name")
31
'setting the type, direction, and size intType = adChar intSize = 50 intDirection = adParamInput 'creating the parameter object set dataParam = dataCmd.CreateParameter(StrName, intType, intDirection, intSize, StrValue) 'appending the parameter to the collection dataCmd.Parameters.Append dataParam dataCmd.CommandText = "qryLastName" Set re_main = Server.CreateObject("ADODB.Record Set") Set rs_main = DataCmd.Execute %>
32
First Name Last Name Phone <% do while i < 5 And not rs_main.EOF Response.Write(" ") Response.Write(rs_main("FirstNa me")) Response.Write(" ") Response.Write(rs_main("LastNa me")) Response.Write(" ") Response.Write(rs_main("Phone") ) Response.Write(" ")
33
rs_main.moveNext i = i+1 loop %>
34
ตัวอย่าง แสดงผลลัพธ์ 5 ระเบียน ถัดไป Search Employee <% Set rs_main = Session("rs") dim i i=0 %>
35
First Name Last Name Phone <% do while i < 5 and not rs_main.eof Response.Write(" ") Response.Write(rs_main("FirstName ")) Response.Write(" ") Response.Write(rs_main("LastName" )) Response.Write(" ")
36
Response.Write(rs_main("Phone")) Response.Write(" ") rs_main.moveNext i = i+1 loop %>
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.