nextrecordset และ getrows อาจใช้น้อยมาก!
ฉันเคยใช้มันเมื่อเร็ว ๆ นี้เป็นสิ่งที่ดี!
มันมีประสิทธิภาพมากสำหรับการเพิ่มชุดคิวรีแบทช์และชุดบันทึกการสืบค้นนั้นไม่ใหญ่มาก
Nextrecordset และ getrows เป็นคุณสมบัติสองประการของชุดเร็กคอร์ด (ฉันมักจะสับสนคุณสมบัติหรือวิธีการของ #$ #$ และฉันไม่สามารถหาความแตกต่างระหว่างพวกเขาได้)
getrows ---> แยกเร็กคอร์ดเร็กคอร์ดชุดลงในอาร์เรย์สองมิติ พฤติกรรมของข้อมูลชุดบันทึกของเราถูกถ่ายโอนไปยังอาร์เรย์ เราสามารถตัดการเชื่อมต่อที่ตั้งไว้ก่อนโดยไม่ต้องใช้การดำเนินการข้อมูลเมตา Rs.Movnext, whilenotrs.eof ฯลฯ สามารถบันทึกได้
nextrecordset ----> คือการจัดเตรียมชุดระเบียนที่ออกจากงานปัจจุบันและถ่ายโอนไปยังชุดระเบียนที่สองเมื่อมีการส่งแบบสอบถามหลายรายการพร้อมกันและชุดผลลัพธ์ชุดบันทึกหลายชุดจะเกิดขึ้น!
ส่วนใหญ่จะใช้ในกรณีของชุดผลลัพธ์ที่เกิดจากการเลือกหลายรายการ
ตัวอย่างมีดังนี้:
Dimsql, Rs, arra, arrb, rowsa, rowsb
'' ====== Extract Database Library Records ====
(ส่วนการเชื่อมต่อของ ADODB.Connection ถูกละเว้นโดยสมมติว่า conn.openconnstr)
sql = "selectca1, ca2, ca3, ca4fromtablea" '' --------------- selecta
SQL = SQL & "SELECTCB1, CB2, CB3, CB4, CB5FROMTABLEB" '' ------------- SELECTB
setRs = conn.execute (SQL)
'' ผลการดำเนินการจะมีชุดผลลัพธ์เลือกสองชุดและชุดเร็กคอร์ดของการเลือกแรกนั้นใช้งานอยู่ในขณะนี้
arra = rs.getrows '' ---------- รับอาร์เรย์ 2d ของ selectarecordset
setRs = Rs.NexTreCordSet
'' --------------------- ขั้นตอนที่สำคัญที่สุดคือการใช้ nextrecordset เพื่อเปิดใช้งานชุดเร็กคอร์ดถัดไป
arrb = rs.getrows '--------- รับอาร์เรย์สองมิติของ SelectBrecordset ที่สองอีกครั้ง
Rs.close
setRs = ไม่มีอะไร '' -------- ปล่อยวัตถุฐานข้อมูลโดยเร็วที่สุดและปิดชุดระเบียน
conn.close
setConn = ไม่มีอะไร
ด้วยวิธีนี้ข้อมูลทั้งหมดของเราเกี่ยวกับฐานข้อมูลจะถูกแยกออกอย่างหมดจดและทรัพยากรฐานข้อมูลจะถูกปล่อยออกมาในเวลาแรก
-
'' ========= ใช้ Arraarrb ที่ได้รับเพื่อดำเนินการประมวลผลหน้าแสดงผลข้อมูล ======
'' โปรดทราบว่าอาร์เรย์ที่ได้รับหลังจาก arra = getrows มิติแรกแสดงถึงคอลัมน์และมิติที่สองแสดงถึงแถว
rowsa = ubund (arra, 2) '' ---- แยกส่วนย่อยมิติที่สองของ arra ซึ่งเทียบเท่ากับการได้รับหมายเลขบันทึกของบันทึก
rowsb = ubund (arrb, 2) '' ----- เช่นเดียวกับด้านบนแยกตัวย่อยมิติที่สองของ arrb
'' ทำลูปข้อมูล:
'' ห่วงของตารางที่เลือกแรก
Response.write "<table>"
fori = 0torowsa
Response.write "<tr>
Response.write "<td>" & arra (i, 0) & "</td>" '' tablea.ca1
Response.write "<td>" & arra (i, 1) & "</td>" '' tablea.ca2
Response.write "<td>" & arra (i, 2) & "</td>" '' tablea.ca3
Response.write "<td>" & arra (i, 3) & "</td>" '' tablea.ca4
Response.write "</tr>"
ต่อไป
Response.write "</table>
'' ลูปตารางที่สองเลือก