Ada banyak artikel tentang ASP dan prosedur tersimpan, tetapi saya ragu para penulis benar -benar mempraktikkannya. Saya membaca banyak informasi yang relevan ketika saya masih di awal dan menemukan bahwa banyak metode yang diberikan tidak terjadi dalam praktiknya. Untuk aplikasi sederhana, bahan -bahan ini mungkin bermanfaat, tetapi hanya karena mereka sama saja, menjiplak satu sama lain, dan aplikasi yang sedikit lebih kompleks akan samar.
Sekarang, pada dasarnya saya mengakses SQLServer dengan memanggil prosedur tersimpan. Teks berikut adalah ringkasan latihan, dan saya harap ini akan membantu semua orang.
Prosedur tersimpan adalah satu atau lebih perintah SQL yang disimpan dalam database sebagai objek yang dapat dieksekusi.
Definisi selalu abstrak. Prosedur tersimpan sebenarnya adalah satu set pernyataan SQL yang dapat menyelesaikan operasi tertentu, tetapi serangkaian pernyataan ini ditempatkan dalam database (kami hanya akan berbicara tentang SQLServer di sini). Jika kami membuat prosedur tersimpan dan menelepon prosedur tersimpan di ASP, kami dapat menghindari pencampuran pernyataan SQL dengan kode ASP. Setidaknya ada tiga manfaat dari melakukan ini:
Pertama, sangat meningkatkan efisiensi. Prosedur tersimpan itu sendiri sangat cepat, dan prosedur yang disimpan dapat sangat mengurangi jumlah interaksi dengan database.
Kedua, tingkatkan keamanan. Jika pernyataan SQL dicampur dalam kode ASP, setelah kode hilang, itu berarti bahwa struktur perpustakaan hilang.
Ketiga, ini kondusif untuk penggunaan kembali pernyataan SQL.
Dalam ASP, prosedur tersimpan umumnya dipanggil melalui objek perintah. Menurut situasi yang berbeda, artikel ini juga memperkenalkan metode panggilan lainnya. Untuk kenyamanan penjelasan, klasifikasi sederhana berikut dibuat berdasarkan input dan output dari prosedur tersimpan:
1. Hanya pengembalian prosedur tersimpan untuk satu set rekaman tunggal
Misalkan ada prosedur tersimpan berikut (tujuan artikel ini bukan untuk menggambarkan sintaks T-SQL, sehingga prosedur tersimpan hanya memberikan kode dan tidak menjelaskan):
/*Sp1*/
Salinan kode adalah sebagai berikut:
CreateProceduredBo.getUserList
sebagai
Setnocounton
Mulai
Pilih*Fromdbo. [UserInfo]
akhir
pergi
Prosedur tersimpan di atas memperoleh semua catatan di tabel UserInfo dan mengembalikan set catatan. Kode ASP untuk memanggil prosedur tersimpan melalui objek perintah adalah sebagai berikut:
'** Prosedur panggilan melalui objek perintah **
Dimmycomm, myrst
SetMycomm = server.CreateObject ("adodb.command")
MyComm.ActiveConnection = MyConstr'MyConstr adalah string koneksi database
MyComm.CommandText = "getUserList" 'Tentukan nama prosedur tersimpan
MyComm.CommandType = 4 'menunjukkan bahwa ini adalah prosedur tersimpan
MyComm.Prepared = true 'membutuhkan perintah SQL untuk dikompilasi terlebih dahulu
SetMyrst = myComm.execute
SetMycomm = tidak ada
Set catatan yang diperoleh oleh prosedur tersimpan ditugaskan ke MyRST. Selanjutnya, myrst dapat dioperasikan.
Dalam kode di atas, properti CommandType menunjukkan jenis permintaan, nilai dan deskripsi adalah sebagai berikut: