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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Ajax อ.วชิระ หล่อประดิษฐ์ ระบบสารสนเทศทางคอมพิวเตอร์
Advertisements

สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
คำสั่ง while และ คำสั่ง do..while
User Defined Simple Data Type
Chapter IV : สร้างการติดต่อ
การใช้งานโปรแกรม Excel เบื้องต้น
สถาปัตยกรรม ActiveX Data Object (ADO)
การเขียนคำสั่งเชื่อมต่อฐานข้อมูล
6. โครงสร้างข้อมูลแบบแฟ้ม
การใช้ PHP ติดต่อกับ Text File
การแก้ปัญหาด้วยคอมพิวเตอร์
PHP LANGUAGE.
หน่วยที่ 1 ระบบคอมพิวเตอร์
การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function
ASP [ # 11 ] เตรียมความพร้อมก่อนติดต่อกับ Ms Access
Arrays.
เอกสารประกอบการบรรยาย เรื่อง ASP and Database
ASP:ACCESS Database.
Seree Chinodom Connection Object Seree Chinodom Computer Science, BUU.
ASP:ACCESS Database.
ASP กับฐานข้อมูล.
SCC : Suthida Chaichomchuen
1 RECORD TYPE ข้อมูลชนิดเรคอร์ด SCC : Suthida Chaichomchuen
1 Structures & Records SCC : Suthida Chaichomchuen
การควบคุมทิศทางการทำงานของโปรแกรม
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
Php with Database Professional Home Page :PHP
ขั้นตอนวิธี (Algorithm)
Computer Architecture and Assembly Language
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
Chapter 6 Decision Statement
Chapter 7 Iteration Statement
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
การสอบถามข้อมูลแบบซ้อนกัน
Week 2 Variables.
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
Week 6 การทำซ้ำโดย for loop
Control Statements.
โปรแกรม Microsoft Access
บทที่ 4 การทำงานกับรายงาน (Report)
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ลิงค์ลิสต์ (Linked List)
ฟังก์ชัน.
การใช้ PHP ติดต่อกับ Text File
การใช้ PHP ติดต่อฐานข้อมูลMySQL
การใช้ PHP ติดต่อฐานข้อมูลผ่าน ODBC
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Introduction to PHP, MySQL – Special Problem (Database)
ASP เตรียมความพร้อมก่อนติดต่อกับ Ms Access การนำข้อมูลจากตารางมาแสดง
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
โครงสร้างข้อมูลแบบลิงก์ลิสต์
การจัดการแฟ้มข้อมูล.
หลักการเขียนโปรแกรมเบื้องต้น
แนะนำการเขียนโปรแกรมภาษา C Introduction to C Programming Language
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
Week 5 While and Do-While loop (Control Structure 2)
Computer Program คือ ขั้นตอนการทำงาน ของคอมพิวเตอร์
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
การเตรียมข้อมูล (Data preparation)
ASP.NET Uthai ShiangJan Information and Communication Technology.
ใบสำเนางานนำเสนอ:

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

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

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

ชุดคำสั่งเบื้องต้นสำหรับการทำงานกับ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 กำหนดการติดต่อฐานข้อมูล

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

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

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

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

ตัวอย่าง <%@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>"

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>

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

ตัวอย่าง 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>"

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

ตัวอย่าง การแสดงผลเป็นตารางข้อมูล <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

ตัวอย่าง การแสดงผลเป็นตารางข้อมูล(ต่อ) 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>

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

ตัวอย่าง การแสดงผลข้อมูลทุกเรคอร์ด <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'>"

ตัวอย่าง การแสดงผลข้อมูลทุกเรคอร์ด(ต่อ) 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>

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

ตัวอย่าง <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>" %>

ตัวอย่าง การนำข้อมูลจาก 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 %>

<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>