Direkomendasikan: Tip ASP Contoh: Tentang Program untuk Formulir Operasi Berikut ini adalah konten yang direferensikan: memasukkan konten formulir ke dalam basis data dengan ASP. <% ' - loader.asp -' - Versi 1.5.2
8.3.3 Gunakan status koneksiMenyimpan string koneksi ke dalam variabel aplikasi adalah trik umum, dan berfungsi serta menggunakan file yang disertakan. Misalnya, Anda dapat menambahkan kode berikut ke file global.asa:
Sub application_onstart ()
strconn = penyedia = sqloledb; Sumber Data = Pengamat; & _
Katalog awal = pub; ID pengguna = Davids; Kata sandi = wiski
Atur Aplikasi (ConnectionString) = Strconn
Akhir sub
Di halaman ASP, Anda dapat menggunakan kode berikut:
Setel conpub = server.CreateObject (adodb.connection)
Conpubs.Application (ConnectionString)
Dari sudut pandang pribadi, saya lebih suka menggunakan metode file yang disertakan karena saya telah menulis banyak contoh terhubung ke berbagai server dan database. Menggunakan metode aplikasi akan berarti Anda harus menutup browser setiap kali Anda memulai kembali aplikasi. Pembaca dapat menggunakan metode apa pun yang mereka sukai, dan mereka tidak membuat perbedaan dalam kecepatan.
Sebagai contoh di bagian buku ini, file Connection.asp dengan string koneksi akan digunakan sebagai file include.
8.3.4 Sintaks Koneksi
Apa yang dijelaskan di atas adalah teori terkait. Apa yang harus saya lakukan ketika saya benar -benar ingin terhubung ke penyimpanan data? Jika Anda menggunakan objek koneksi yang didefinisikan secara eksplisit, Anda dapat menggunakan metode terbuka, dan sintaksinya adalah sebagai berikut:
Connection.Open [ConnectionString], [userid], [kata sandi], [opsi]
Parameter ditampilkan pada Tabel 8-1:
Tabel 8-1 Parameter dan deskripsi metode terbuka
parameter
menjelaskan
ConnectionString
String yang berisi detail koneksi. Ini bisa menjadi nama ODBC DSN, nama file tautan data, atau detail koneksi nyata
Userid
Nama yang digunakan oleh pengguna selama koneksi. Mengganti nama pengguna yang disediakan di string koneksi
Kata sandi
Kata Sandi Pengguna. Menimpa kata sandi apa pun yang disediakan di string koneksi
Opsi
Ini bisa adasyncconnect, menentukan bahwa koneksi dibuat secara tidak sinkron. Abaikan parameter ini dan buat koneksi sinkron
Koneksi asinkron tidak digunakan dalam lingkungan ASP karena bahasa skrip tidak dapat menerima acara dari ADO.
8.3.5 Contoh Koneksi
Berikut adalah beberapa contoh, di sini asumsikan bahwa Strconn berisi string koneksi yang valid.
Untuk membuka koneksi, gunakan metode terbuka objek koneksi. Misalnya:
Setel conpub = server.connection (adodb.connection)
conpubs.open strconn
'Beberapa pemrosesan
conpubs.close
Anda juga dapat menggunakan properti ConnectionString:
Setel conpub = server.CreateObject (adodb.connection)
conpubs.connectionstring = strconn
conpubs.open
'Beberapa pemrosesan
conpubs.close
Tidak ada perbedaan antara dua metode implementasi ini. Jika metode sebelumnya digunakan untuk mengimplementasikan koneksi, properti ConnectionString juga ditetapkan.
Perlu dicatat bahwa begitu koneksi dibuat dengan penyimpanan data, ADO dapat mengubah nilai properti ConnectionString. Jangan khawatir, ADO hanya mengisi beberapa nilai atribut tambahan.
8.3.6 Menghubungkan ke Buffer Pool
Kolam koneksi selalu membingungkan banyak orang, tetapi prinsipnya sebenarnya sangat sederhana. Ketika koneksi ditutup, koneksi ditutup dalam kasus pengguna (dan ADO). Namun pada kenyataannya, OLE DB tidak menutup koneksi, tetapi cukup masukkan ke dalam kumpulan buffer koneksi yang tidak aktif. Setiap kali pengguna (atau orang lain) membuka koneksi, OLE DB pertama -tama mendeteksi apakah ada koneksi dengan detail koneksi yang sama di kumpulan koneksi. Jika demikian, koneksi ini akan diperoleh langsung dari kumpulan buffer. Jika tidak, buat koneksi baru untuk pengguna. Untuk menghindari pemborosan sumber daya, koneksi dibersihkan dari kumpulan buffer setelah periode waktu default.
Jadi, apa kelebihannya? Membuka koneksi mungkin merupakan salah satu operasi paling lambat yang dilakukan, dan kumpulan buffer koneksi memungkinkan pengguna untuk terhubung ke penyimpanan data lagi tanpa harus membuat ulang koneksi. Ini sangat penting untuk situs web yang terus -menerus membuka dan menutup sejumlah besar koneksi.
Untuk koneksi ODBC, kumpulan buffer koneksi dikendalikan oleh administrator sumber data ODBC. Untuk OLE DB, kumpulan buffer koneksi (atau kumpulan buffer sesi) tidak dapat diubah.
Harus dicatat bahwa kumpulan buffer koneksi bukanlah bagian koneksi. Koneksi hanya dapat digunakan lagi setelah ditutup oleh pelanggan.
Housekeeping
Agar kumpulan buffer koneksi berlaku, perlu untuk memastikan bahwa rumah tangga berada dalam keadaan tertib. Ini termasuk menutup objek koneksi dalam waktu sehingga mereka dapat digunakan kembali ke kumpulan buffer. Anda mungkin berpikir bahwa koneksi yang terus -menerus membuka dan menutup mahal untuk sistem, tetapi Anda harus mengukur skalabilitas - aplikasi Anda dapat digunakan oleh banyak orang, dan OLE DB sangat baik dalam mengelola sumber daya koneksi.
Prinsip umum adalah: menetapkan koneksi selambat mungkin, dan pada saat yang sama menutup koneksi sedini mungkin, sehingga dapat memastikan periode waktu terpendek untuk koneksi terbuka.
8.4 Set Rekam
Seperti disebutkan sebelumnya, rekor adalah objek yang paling umum digunakan dalam ADO, yang tidak mengejutkan. Bagaimanapun, mereka berisi data. Namun, ada lebih banyak rekaman dari yang Anda pikirkan, dan penting untuk mengetahui bagaimana data disimpan dan diproses, karena ini memberikan lebih banyak referensi untuk memilih catatan yang akan digunakan.
Set rekaman memiliki jenis yang berbeda, dan ada perbedaan di beberapa tempat kecil, yang dapat dengan mudah menyebabkan kesalahan. Hal pertama yang perlu Anda bicarakan dengan serius adalah konsep kursor.
8.4.1 Kursor
Kursor adalah konsep yang membingungkan banyak orang, tetapi sebenarnya sangat sederhana.
Kursor digunakan untuk mengelola set rekaman dan posisi saat ini dari set rekaman, yang diproses oleh penunjuk catatan saat ini.
Bukankah ini yang dilakukan objek Recordset? Ya, tetapi set rekaman juga bergantung pada kursornya. Ini masih tidak menjawab pertanyaan tentang apa kursor itu, jadi mari kita lihat satu set rekaman, seperti yang ditunjukkan pada Tabel 8-2:
Au_id
Au_lname
Au_fname
TELEPON
172-32-1176
Putih
Bob
408 496-7223
219-46-8915
Hijau
Marjorie
415 986-7020
238-95-7766
Carson
Cheryl
415 548-7723
267-41-2394
O'Leary
Michael
408 286-2428
274-80-9391
Lurus
Dekan
415 834-2919
341-22-1782
Smith
Berkelok -kelok
913 843-0462
Ada enam baris dan empat kolom di sini. Buka set rekaman, dan catatan saat ini adalah rekor pertama, yaitu, catatan Bob White. Apa yang harus digunakan untuk mengidentifikasi catatan saat ini? Gunakan penunjuk rekaman saat ini. Jadi bagaimana menangani pointer ini? Ketika perlu untuk pindah ke catatan berikutnya atau catatan lain, itu dicapai melalui kursor. Saat mengakses bidang baris saat ini, kursor tahu baris mana yang saat ini berada, sehingga dapat mengembalikan nilai yang benar. Jika Anda mencoba untuk keluar dari baris terakhir set rekaman, kursor juga akan memprosesnya.
Cara yang baik untuk memahami kursor adalah dengan membayangkan kursor sebagai jendela yang dapat dipindahkan dalam set rekaman. Jendela ini setinggi dan selama satu baris dalam set rekaman, sehingga Anda hanya dapat melihat satu baris nilai data sekaligus. Saat Anda pindah ke rekaman lain, jendela bergerak.
Mungkin Anda pikir ini cukup sederhana, tetapi itu penting karena apa yang dapat Anda lakukan dengan kursor ditentukan oleh jenis kursor.
Bagikan: Rutin: Gunakan ASP untuk menentukan apakah alamat file valid Berikut ini adalah konten yang dikutip: <% response.write (<head> <tyle> <!-span {font-size: 9pt}-> </style> </head & g