Direkomendasikan: Dalam ASP, ini mengimplementasikan pengekspor data dari database DBF ke tabel SQL Deskripsi: Struktur basis data DBF harus konsisten dengan tabel SQL. Berikut ini adalah konten referensi: <% DIM Conndbf_dbf, driver_dbf, Sourcetype_dbf, dbpath_dbf DIM Conn_
8.4.3 Membuat set rekamanSangat mudah untuk membuat set rekaman, yang dicapai dengan memanggil metode terbuka dari objek Recordset:
Recordset.open [Sumber], [ActiveConnection], [CursorType], [LockType], [Options]
Parameter dan deskripsi ditampilkan pada Tabel 8-3:
Tabel 8-3 Parameter dan Deskripsi Metode Terbuka
parameter
menjelaskan
Sumber
Sumber data. Ini bisa menjadi nama tabel dalam database, kueri atau prosedur yang tersimpan, string SQL, objek perintah, atau objek perintah lainnya yang cocok untuk penyedia
ActiveConnection
Koneksi yang digunakan oleh set rekaman. Itu bisa berupa string koneksi atau objek koneksi terbuka
CursorType
Jenis kursor yang digunakan. Harus menjadi salah satu jenis kursor yang ditentukan, nilai defaultnya adalah adforwardonly
LockType
Jenis kunci yang digunakan. Harus menjadi salah satu tipe kunci yang ditentukan, nilai defaultnya adalah adlockreadonly
Opsi
Beri tahu penyedia apa konten parameter sumber, seperti tabel, string teks, dll.
Misalnya, untuk membuka rekaman pada tabel penulis di pub database:
Redup
Set RSAuthors = Server.CreateObject (ADODB.Recordset)
rsauthors.open penulis, strconn
'Lakukan sesuatu di sini
rsauthors.close
Atur rsauthors = tidak ada
Perhatikan bahwa ada beberapa parameter yang tidak ditentukan. Bahkan, semua parameter adalah opsional, dan Anda dapat mengatur nilai properti yang sesuai untuk set catatan sebelum membukanya:
Redup
Set RSAuthors = Server.CreateObject (ADODB.Recordset)
Dengan rsauthors
.Source = penulis
.ActiveConnection = strconn
.CursorType = adopsiForwardonly
.LockType = adlockreadonly
.Membuka
Berakhir dengan
'Lakukan sesuatu di sini
rsauthors.close
Atur rsauthors = tidak ada
Setelah set rekaman dibuka, pointer saat ini secara otomatis terletak pada catatan pertama. Jika tidak ada catatan dalam set catatan, baik atribut EOF dan BOF benar:
rsauthors.open penulis, strconn
Jika rsauthors.bof dan rsauthors.eof maka
'Recordset kosong
Akhiri jika
1. Parameter Opsi
Parameter opsi dari metode terbuka memungkinkan menentukan konten teks perintah. Ini bisa menjadi salah satu konstanta CommandTypeenum berikut:
ADCMDTEXT: Perintah teks, seperti string SQL.
ADCMDTable: Nama tabel.
ADCMDSTOREDPROC: Nama prosedur tersimpan.
ADCMDFILE: Nama file set catatan yang disimpan.
ADCMDTableDirect: Nama tabel.
ADCMDURLBIND: Alamat URL.
Perbedaan antara ADCMDTable dan ADCMDTableDirect sangat kecil. Jika Anda ingin menggunakan semua kolom dalam tabel, menggunakan ADCMDTableDirect akan membuat berjalan lebih cepat karena ADO melakukan beberapa optimasi internal.
Jika tidak ada jenis perintah yang ditentukan, ADO harus menghitung jenis perintah yang dieksekusi, yang akan menghasilkan overhead tambahan.
Ada dua opsi lagi di sini: ADCMDUnSpecified berarti bahwa tidak ada tipe yang ditentukan; ADCMDunKnow berarti jenis perintah tidak diketahui. Mereka mungkin tidak digunakan secara umum.
Opsi tambahan
Parameter Opsi dapat berupa konstanta di atas, tetapi konstanta ExecuteOptionenum berikut juga dapat ditambahkan:
AdasyncexCute: Jalankan perintah secara tidak sinkron.
ADASYNCFETCH: Setelah mendapatkan set baris awal, dapatkan baris yang tersisa secara tidak sinkron.
AdasyncfetchBlocking: Kecuali untuk mendapatkan catatan dan tidak mencegah perintah berjalan, yang lain mirip dengan Adasyncfetch.
Adexechtenorecords: Perintah tidak mengembalikan catatan.
Pemrosesan asinkron berarti bahwa operasi dilakukan di latar belakang, Anda dapat menjalankan perintah dan kemudian melanjutkan pekerjaan lain tanpa menunggu mereka untuk menyelesaikan (operasi sinkron). Ini sangat nyaman saat membuat antarmuka pengguna, karena dapat dikembalikan dari eksekusi perintah untuk menampilkan beberapa konten kepada pengguna saat akuisisi data masih di latar belakang. Ini tidak terlalu berguna untuk pemrogram ASP ketika mengembalikan rekor, karena bahasa skrip tidak mendukung acara ADO, sehingga tidak diketahui kapan set rekaman telah menyelesaikan shift pengisian. Saat memproses pembaruan, hapus atau masukkan perintah data dan tidak mengembalikan set rekaman, operasi asinkron dapat digunakan, yaitu hanya jika Anda tidak peduli dengan hasilnya.
Di sisi lain, opsi AdexecutenOrecords sangat berguna. Ini memberitahu ADO untuk menjalankan perintah yang tidak mengembalikan data apa pun. Oleh karena itu, tidak perlu membuat set rekaman (mungkin kosong). Ini mempercepat menjalankan operasi kueri untuk pembaruan atau penambahan data.
Untuk menambahkan salah satu opsi ini, Anda dapat menggunakan atau simbol (setara dengan tanda plus)
ADCMDSTOREDPROC atau ADEXECUTENNORCORDS
ADCMDSTOREPROC ADEXECUTENTERCORDS
Pada bab berikutnya, Anda akan melihat pengantar yang lebih rinci untuk konten terkait, karena ini akan lebih berguna ketika berhadapan dengan perintah (bukan set rekaman).
2. Pindah di set rekaman
Setelah set rekaman dibuka, sering kali perlu melintasi setiap catatan. Ini membutuhkan penggunaan atribut EOF. Ketika akhir dari set rekaman tercapai, EOF menjadi benar, karena loop dapat dibuat seperti ini:
rsauthors.open penulis, strconn
Sementara tidak rsauthors.eof
Response.write rsauthors (au_lname :) &, & _
rsauthors (au_fname) & <br>
rsauthors.movenext
Pergi ke
Contoh di atas loop hingga atribut EOF benar sebelum keluar. Metode MoveNext digunakan untuk pindah ke catatan berikutnya.
Jika set rekaman memungkinkan pergerakan mundur, Anda dapat menggunakan metode MovePrevious. Dalam hal ini, nilai atribut BOF perlu dideteksi dalam loop. Ada juga metode MOVEFIRST dan MOVELAST yang masing -masing pindah ke catatan pertama dan terakhir:
rsauthors.open penulis, strconn, adopendynamic
'Sekarang di rekor pertama
rsauthors.movelast
'Sekarang di rekor terakhir
rsauthors.moveprevious
rsauthors.moveprevious
'Sekarang tiga baris dari akhir Recordset
rsauthors.movefirst
'Kembali di awal lagi
3. Gunakan koleksi bidang
Koleksi Fields berisi objek bidang untuk setiap bidang (kolom) di set rekaman. Koleksi Fields adalah koleksi default dari rekaman, sehingga dapat dihilangkan saat mengakses bidang, seperti halnya ... contoh wend di atas. Oleh karena itu, ada beberapa cara untuk mengakses bidang:
rsauthors.fields (au_lname) .value
rsauthors (au_lname) .value
Rsauthors (1) .value
rsauthors.fields (1) .value
Anda dapat menggunakan nama lapangan, atau menggunakan bitnya di koleksi
Bagikan: ASP mengimplementasikan pengiriman pemberitahuan email saat mengirimkan formulir ke database Berikut ini adalah konten yang dikutip: <% redup objcdomail set objcdomail = server.createObject (cdonts.newmail) objcdomail.from = xxx@h