Sebagian besar dari program pembelajaran perlu dihubungkan ke database untuk operasi. Ini kesalahannya. Editor saluran teknologi baru tidak dapat mengembalikan rekor yang ditetapkan dalam proses penyimpanan menggunakan OLEDB. Teman yang tertarik akan pergi ke artikel berikut untuk mempelajari lebih lanjut!
Mengapa set catatan tidak dapat dikembalikan dalam metode OLEDB dalam prosedur tersimpan?
Saya pernah menulis program yang beroperasi pada tabel sementara (fungsi utamanya adalah mengambil 10 catatan teratas dari setiap kategori).
Prosedur tersimpan ini normal saat menghubungkan ke database menggunakan ODBC, dan bisa mendapatkan hasil yang benar. Namun, saat menghubungkan menggunakan metode OLEDB, set rekaman tidak dapat dikembalikan, dan pesan kesalahan muncul ketika operasi kembali ke set rekaman:
ADODB.RECORDSET ERROR '800A0E78'
Operasi yang diminta oleh aplikasi tidak diizinkan jika objek ditutup.
Itu membuatku bingung. Kenapa begitu?
Ini karena ada perbedaan antara OLEDB dan ODBC, yaitu ketika ASP mengambil rekor yang ditetapkan dari ODBC, ODBC menyaring tabel Buat
Atau masukkan ke dalam menghasilkan beberapa set rekaman yang hanya mengambil posisi tetapi tidak dapat melakukan operasi apa pun. Saat ASP mengambil rekor yang ditetapkan ke OLEDB, OLEDB dan
Set rekaman ini tidak disaring. Oleh karena itu, kita harus mengeksekusi set nocount sebelum kita tidak ingin mengembalikan rekor yang ditetapkan dalam prosedur tersimpan.
Prosedur tersimpan dilarang mengembalikan set catatan; Dan ketika mengembalikan set rekaman, Anda harus terlebih dahulu menjalankan set NoCount Off. Dengan cara ini, masalahnya akan diselesaikan.
Editor 文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文文 �