1 / 23

Recordset Object

Recordset Object. Seree Chinodom seree@buu.ac.th. Recordset. Recordset หมายถึงกลุ่มของเรคอรฺดซึ่งอาจเป็นบางเรคอร์ดหรือทั้งหมดที่อยู่ในฐานข้อมูล Recordset ใช้รองรับการทำงานทั่วไปที่เกิดจากฐานข้อมูล การอ่านเรคอร์ด การเปลี่ยนแปลง การลบ การค้นหา การเรียงลำดับ. การเตรียมการใช้งาน Recordset.

lilah
Download Presentation

Recordset Object

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Recordset Object Seree Chinodom seree@buu.ac.th Computer Science, BUU

  2. Recordset • Recordset หมายถึงกลุ่มของเรคอรฺดซึ่งอาจเป็นบางเรคอร์ดหรือทั้งหมดที่อยู่ในฐานข้อมูล • Recordset ใช้รองรับการทำงานทั่วไปที่เกิดจากฐานข้อมูล • การอ่านเรคอร์ด • การเปลี่ยนแปลง • การลบ • การค้นหา • การเรียงลำดับ

  3. การเตรียมการใช้งาน Recordset • 1. สร้าง ODBC Data Source Name • 2. กำหนด User Identification และPassword • ระบุ UserID • รหัสผ่าน • 3. ทำความเข้าใจกับโครงสร้างของระบบฐานข้อมูล

  4. ชุดคำสั่งเบื้องต้นสำหรับการทำงานกับRecordsetชุดคำสั่งเบื้องต้นสำหรับการทำงานกับRecordset 1. Dim oRS 2. Set oRS = Server.CreateObject(“ADODB.Recordset”) 3. oRS.open “ชื่อตาราง”, “DSN=ชื่อdata source; UID=ชื่อผู้ใช้; PWD=รหัสผ่าน” บรรทัด 1 ประกาศตัวแปรเพื่อรองรับ Recordset บรรทัดที่ 2 เป็นการสร้าง recordset object โดยให้ตัวแปร oRS เป็นตัวอ้างอิงถึง บรรทัดที่ 3 เป็นการใช้เมธอด open กำหนดการติดต่อฐานข้อมูล

  5. การเขียนข้อมูลRecordsetลงในHTMLการเขียนข้อมูลRecordsetลงในHTML • ใช้คำสั่ง Response.Write เขียนในแท็ก <% %>ดังนี้ <%Response.write ชื่อobject(“ชื่อฟิลด์ในตาราง”) %> • หรือ <%=ชื่อobject(“ชื่อฟิลด์ในตาราง”)%> • หรือ Response.Write ชื่อobject(“ชื่อฟิลด์ในตาราง”).value

  6. การนำข้อมูลจากRecordsetเก็บลงตัวแปรการนำข้อมูลจากRecordsetเก็บลงตัวแปร • นำข้อมูลเก็บลงตัวแปรเพื่อเตรียมค่าสำหรับนำไปดำเนินการ ชื่อตัวแปร= ชื่อ object(“ชื่อฟิลด์ในตาราง”) เช่น sContractID = oRS (“ContractID”) หรือ sContractID = oRS (“FirstName”) &” “& oRS (“LastName”)

  7. การนำข้อมูลจากRecordsetเพื่อเปรียบเทียบการนำข้อมูลจากRecordsetเพื่อเปรียบเทียบ • ใช้เป็นเงื่อนไขในข้อความสั่ง if/then/else หรือ Do … Loop if oRS (“ContractName”) =“DBA” Then ‘คำสั่งที่ให้ดำเนินการเมื่อเงื่อนไขจริง End If หรือ Do While oRS.EOF ‘คำสั่งที่ให้ดำเนินการในลูป Loop

  8. การนำข้อมูลจากRecordsetใช้เป็นอาร์กิวเมนต์ของฟังก์ชันการนำข้อมูลจากRecordsetใช้เป็นอาร์กิวเมนต์ของฟังก์ชัน • นำข้อมูลมาเป็นค่า อาร์กิวเมนต์ของฟังก์ชัน vFirstName = Left(oRS(“FirstName”), 5) vPassword = Ucase(oRS(“FirstName”))

  9. ตัวอย่าง <%@Language = VBScript%> <HMTL> <HEAD> <TITLE>เพจทดสอบการใช้งานของข้อมูลในเรคอร์ดเซต</TITLE> </HEAD> <BODY> <H3>เพจทดสอบการใช้งานของข้อมูลในเรคอร์ดเซต</H3> <% dim oRSp set oRSp = Server.CreateObject("ADODB.recordset") oRSp.Open "Products", "DSN=Northwind" oRSp.MoveFirst Response.Write "บรรทัดถัดไปเป็นการเขียนข้อมูลจากเรคอร์ดเซตลงในเพจ:<BR>" Response.Write oRSp("ProductName") & "<BR><BR>"

  10. Response.Write "บรรทัดถัดไปเป็นการเขียนข้อมูลจากตัวแปรที่เก็บข้อมูล:<BR>" Dim varPrdName varPrdName = oRSp("ProductName") Response.Write varPrdName & "<BR><BR>" Response.Write "บรรทัดถัดไปเป็นการใช้ If…Then ในการทำงานกับข้อมูล:<BR>" If oRSp("UnitsInStock") < 50 Then Response.Write "ปริมาณสินค้าเหลือน้อยกว่า 50 หน่วย<BR><BR>" Else Response.Write "ปริมาณสินค้าเหลือมากกว่า 50 หน่วย<BR><BR>" End If Response.Write "บรรทัดถัดไปเป็นการใช้ใช้ข้อมูลเป็นอาร์กิวเมนต์ในฟังก์ชั่น:<BR>" Response.Write Ucase(oRSp("ProductName")) & "<BR><BR>" oRSp.Close Set oRSp=Nothing %> </BODY> </HTML>

  11. การระบุตำแหน่งการใช้งานเรคอร์ดในRecordsetการระบุตำแหน่งการใช้งานเรคอร์ดในRecordset • Moveใช้ในการเลื่อนเคอร์เซอร์ของเรคอร์ดพอยน์เตอร์ไปยังเรคอร์ดก่อนหน้าหรือย้อนกลับตามตัวเลขที่ระบุไว้หลัง Move • MoveFirstใช้ในการเลื่อนเรคอร์ดพอยน์เตอร์ไปยังเรคอร์ดแรกใน recordset ถ้าใช้ในการดึงข้อมูลจะได้เรคอร์ดแรก • MoveLastใช้ในการเลื่อนเรคอร์ดพอยน์เตอร์ไปยังเรคอร์ดท้ายสุดใน recordset ถ้าใช้ในการดึงข้อมูลจะได้เรคอร์ดสุดท้าย • MovePreviousใช้ในการเลื่อนเรคอร์ดพอยน์เตอร์ไปยังเรคอร์ดก่อนหน้าเรคอร์ปัจจุบัน แต่ถ้าเรอร์ดปัจจุบันเป็นเรคอร์แรกจะเกิดข้อผิดพลาด • MoveNextใช้ในการเลื่อนเรคอร์ดพอยน์เตอร์ไปยังเรคอร์ดถัดจากเรคอร์ปัจจุบัน แต่ถ้าเรอร์ดปัจจุบันเป็นเรคอร์สุดท้ายจะเกิดข้อผิดพลาด

  12. ตัวอย่าง mvpointer.asp <HMTL> <HEAD> <TITLE>เพจทดสอบการทำงานกับเรคอร์ดต่างๆ ในเรคอร์ดเซต</TITLE> </HEAD> <BODY> <H3>เพจทดสอบการทำงานกับเรคอร์ดต่างๆ ในเรคอร์ดเซต</H3> <% Dim oRSe Set oRSe = Server.CreateObject("ADODB.recordset") oRSe.Open "Employees", "DSN=Northwind" oRSe.MoveFirst Response.Write "บรรทัดถัดไปเป็นนามสกุลของลูกจ้าง 3 เรคอร์ดแรกจากตาราง Employees :<BR>"

  13. ตัวอย่าง mvpointer.asp Response.Write oRSe("LastName") & ", " oRSe.MoveNext Response.Write oRSe("LastName") & ", " oRSe.MoveNext Response.Write oRSe("LastName") oRSe.MoveNext oRSe.Close Set oRSe=Nothing %> </BODY> </HTML>

  14. ตัวอย่าง การแสดงผลเป็นตารางข้อมูล <HMTL> <HEAD> <TITLE>การแสดงผลข้อมูลของ 5 เรคอร์ดแรกโดยใช้ตาราง</TITLE> </HEAD> <BODY> <H3>การแสดงผลข้อมูลของ 5 เรคอร์ดแรกโดยใช้ตาราง</H3> <% Dim oRSe, iCnt Set oRSe = Server.CreateObject("ADODB.recordset") oRSe.Open "Employees", "DSN=Northwind" oRSe.MoveFirst

  15. ตัวอย่าง การแสดงผลเป็นตารางข้อมูล(ต่อ) Response.Write "<TABLE BORDER = '1'>" For iCnt = 1 To 5 Response.Write "<TR><TD>" & oRSe("FirstName") & "</TD>" Response.Write "<TD>" & oRSe("LastName") & "</TD></TR>" oRSe.MoveNext Next %> </TABLE> </BODY> </HTML>

  16. การแสดงผลข้อมูลทุกเรคอร์ดจากrecordsetการแสดงผลข้อมูลทุกเรคอร์ดจากrecordset • การแสดงผลข้อมูลทุกระเบียนจาก recordset จะใช้ฟังก์ชัน EOF (End Of File) ซึ่งใช้สำหรับการตรวจสอบการสิ้นสุดของเรคอร์ดใน recordset โดยค่าของฟังก์ชันนี้จะเป็น “true” เมื่อมีการเลื่อนเรคอร์ดพอยน์เตอร์เลยจากเรคอร์สุดท้ายไป • ใช้ฟังก์ชัน EOF ร่วมกับ Do while …loop ดังนี้ Do while NOT oRS.EOF ‘คำสั่งประมวลผล … oRS.MoveNext Loop

  17. ตัวอย่าง การแสดงผลข้อมูลทุกเรคอร์ด <HMTL> <HEAD> <TITLE>การแสดงผลข้อทุกเรคอร์โดยใช้ EOF </TITLE> </HEAD> <BODY> <H3>การแสดงผลข้อมูลทุกเรคอร์ดโดยใช้ EOF </H3> <% Dim oRSe Set oRSe = Server.CreateObject("ADODB.recordset") oRSe.Open "Employees", "DSN=Northwind" oRSe.MoveFirst Response.Write "<TABLE BORDER = '1'>"

  18. ตัวอย่าง การแสดงผลข้อมูลทุกเรคอร์ด(ต่อ) Dim iCnt iCnt = 0 Do while NOT oRSe.EOF iCnt = iCnt + 1 Response.Write "<TR><TD>" & iCnt & "</TD>" Response.Write "<TD>" & oRSe("FirstName") & "</TD>" Response.Write "<TD>" & oRSe("LastName") & "</TD></TR>" oRSe.MoveNext Loop Response.Write "</TABLE><BR>" %> </BODY></HTML>

  19. การแสดรายละเอียดของฟิลในrecordsetการแสดรายละเอียดของฟิลในrecordset • สามารถแสดงรายละเอียดและคุณสมบัติของฟิลด์ต่างๆใน recordset ได้ โดยใช้รูปแบบคำสั่งดังนี้ oRS.Fields(“FieldName”) หรือ ถ้าไม่ทราบชื่อฟิลด์ oRS.Fields(#) โดยที่ # หมายถึงเลขลำดับในการอ้างถึงฟิลด์ซึ่งเริ่มต้นที่ 0,1,2,... • ถ้าต้องการนับชื่อฟิลด์ทั้งหมดในrecordset ใช้คำสั่งดังนี้ oRS.Fields.Count

  20. ตัวอย่าง <HTML> <HEAD> <TITLE>การอ่านรายละเอียดของฟิลด์ต่างๆ ในตาราง</TITLE> </HEAD> <BODY> <H3>การอ่านรายละเอียดของฟิลด์ต่างๆ ในตาราง Employees</H3> <% Set oRS=Server.CreateObject("ADODB.Recordset") oRS.Open "Employees", "DSN=Northwind" Response.Write "<TABLE BORDER=1>" For Each ofield in oRS.Fields Response.Write "<TR><TD>" & ofield.name & "</TD>" Response.Write "<TD>" & ofield.type & "</TD></TR>" Next Response.Write "</TABLE>" %>

  21. ตัวอย่าง การนำข้อมูลจาก recordset แสดงใน List box <HTML> <HEAD> <TITLE>การใช้ข้อมูลจากเรคอร์ดเซตกับ List Box</TITLE> </HEAD> <BODY> <H3>การใช้ข้อมูลจากเรคอร์ดเซตกับ List Box</H3> <P>List of categories from categories table</P><BR> <% Dim oRSc Set oRSc=Server.CreateObject("ADODB.Recordset") oRSc.Open "Categories", "DSN=Northwind" oRSc.MoveFirst %>

  22. <FORM METHOD="get" ACTION="ResLst.asp"> <SELECT NAME="Categories" SIZE="1"> <% Do While NOT oRSc.EOF Response.Write "<OPTION SELECTED VALUE='" & oRSc("CategoryName") & "'>" Response.Write oRSc("CategoryName") & "</OPTION>" oRSc.MoveNext Loop oRSc.Close Set oRSc=Nothing %> </SELECT> <INPUT TYPE="submit"> </FORM> </BODY> </HTML>

More Related