Nextrecordset dan getrows dapat digunakan sangat sedikit!
Saya telah menggunakannya baru -baru ini, hal yang baik!
Ini sangat efektif untuk meningkatkan kueri batch dan set catatan kueri tidak besar.
Nextrecordset dan Getrows adalah dua properti dari Recordset (saya sering membingungkan properti atau metode #$ #$, dan saya tidak tahu perbedaan di antara mereka)
Getrows ---> Ekstrak rekaman rekaman yang diatur ke dalam array dua dimensi. Perilaku data rekaman kami akan ditransfer ke array. Kami dapat memutuskan rekor yang ditetapkan lebih awal tanpa menggunakan operasi metadata. rs.movnext, whilenotrs.eof, dll. Dapat menyimpannya.
NEXTRecordset ----> adalah untuk memberikan recordset yang meninggalkan pekerjaan saat ini dan transfer ke recordset kedua ketika beberapa kueri diajukan sekaligus dan beberapa set hasil rekaman dibentuk!
Ini terutama digunakan dalam kasus set hasil yang dibentuk oleh beberapa select
Contohnya adalah sebagai berikut:
Dimsql, RS, ARRA, ARRB, ROWSA, ROWSB
'' ====== Ekstrak catatan pustaka basis data ====
(Bagian koneksi ADODB.Connection dihilangkan, dengan asumsi conn.openconnstr)
SQL = "SelectCA1, CA2, CA3, CA4FromTablea" '' --------------- Selecta
SQL = SQL & "SELECTCB1, CB2, CB3, CB4, CB5FROMTABLEB" '' ------------- SELECTB
Setrs = conn.execute (sql)
'' Hasil eksekusi akan memiliki dua set hasil terpilih, dan rekor pilihan pertama saat ini aktif
arra = rs.getrows '' ---------- Dapatkan array 2D SelectArecordset
setRs = rs.nextrecordset
'' --------------------- Langkah paling penting adalah menggunakan Nextrecordset untuk mengaktifkan Recordset berikutnya
arrb = rs.getrows '' --------- Dapatkan array dua dimensi SelectBrecordset kedua lagi
Rs.close
setRs = tidak ada '' -------- Lepaskan objek database sesegera mungkin dan tutup set rekaman
Conn.Close
setConn = tidak ada
Dengan cara ini, semua data kami tentang database diekstraksi dengan bersih dan sumber daya basis data dirilis pada waktu paling awal.
'' ---------- //
'' ======== Gunakan arraarrb yang diperoleh untuk melakukan pemrosesan halaman, tampilkan hasil data ======
'' Perhatikan bahwa array yang diperoleh setelah arra = getrows, dimensi pertama mewakili kolom, dan dimensi kedua mewakili baris
ROWSA = UBUND (ARRA, 2) '' ---- Ekstrak Subskrip Dimensi Kedua ARRA, yang setara dengan mendapatkan jumlah catatan catatan catatan
bilok = ubund (arrb, 2) '' ----- sama seperti di atas, ekstrak subskrip dimensi kedua ARRB
'' Melakukan loop data:
'' Lingkaran tabel pilih pertama
response.write "<able>"
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>"
Berikutnya
response.write "</able>
'' Loop Tabel Pilih Kedua