Apakah kita sering merenungkan beberapa masalah ketika kita belajar ASP untuk memanggil prosedur tersimpan? Misalnya, bagaimana cara mengoperasikan metode panggilan prosedur tersimpan? Apa parameter yang lewat ke prosedur tersimpan, dll. Hari ini, saluran teknologi baru bug akan membawa Anda ke artikel berikut untuk mempelajari pengetahuan ini. Saya harap ini akan membantu pembelajaran Anda!
1. Metode umum panggilan prosedur tersimpan
Pertama, mari kita asumsikan bahwa ada prosedur tersimpan DT_USERS di SQL Server:
Buat Prosedur [DBO]. [DT_USERS]
SEBAGAI
Pilih * dari pengguna
Kembali
PERGI
Metode pertama adalah menggunakan objek Recordset tanpa menggunakan objek perintah,
Set RS = Server.CreateObject ("ADODB.Recordset")
sql = "exec dt_users"
Rs.open SQL, Conn, 1,1
Metode kedua adalah menggunakan objek perintah
Set Comm = Server.CreateObject ("Adodb.Command")
Comm.Commantype = 4
Set Comm.ActiveConnection = Conn
comm.CommandText = "dbo.dt_users"
Set RS = Server.CreateObject ("ADODB.Recordset")
rs.open comm ,, 1,1
2. Parameter lulus ke prosedur tersimpan
Jika tidak ada parameter dalam prosedur tersimpan, tetapi satu pernyataan SQL, keuntungan dari prosedur yang disimpan tidak dapat ditampilkan!
Misalnya, kueri BBS dapat ditanyai oleh penulis dan topik! Maka prosedur tersimpan dapat ditetapkan sebagai berikut:
Kata kunci parameter adalah kata kunci, dan pilih adalah metode untuk memilih kueri.
Buat Prosedur [DBO]. [DT_BBS]
@Keyword varchar (20) = null,
@Choose int = null
sebagai
jika @pilih = 1
Pilih * dari BBS Where Name Like @Keyword
kalau tidak
Pilih * dari BBS di mana subjek seperti @keyword
Kembali
pergi
Dengan cara ini, ketika kita memanggil prosedur tersimpan, kita hanya perlu melewati parameter, dan menghilangkan menulis program di ASP
Gunakan metode pertama:
Set RS = Server.CreateObject ("ADODB.Recordset")
sql = "exec dt_bbs '" & kata kunci & "'," & pilih & ""
Rs.open SQL, Conn, 1,1
Gunakan metode kedua:
Set Comm = Server.CreateObject ("Adodb.Command")
Comm.Commantype = 4
comm.parameters.append comm.createParameter ("@@kata kunci", adchar, adparaminput, 50, kata kunci)
comm.parameters.append comm.createParameter ("@@kata kunci", adinteger, adparaminput ,, pilih)
Set Comm.ActiveConnection = Conn
comm.CommandText = "dbo.dt_bbs"
Set RS = Server.CreateObject ("ADODB.Recordset")
Rs.CursorType = 3
rs.open comm ,, 1,1
3. Diskusi lebih lanjut
Membandingkan dua metode yang saya sebutkan di atas untuk memanggil prosedur tersimpan di ASP,
Metode pertama membutuhkan lebih sedikit objek, tetapi objek Recordset mendukung properti yang jauh lebih sedikit, seperti: rs.recordcount, rs.pagecount, rs.absolutepage dan properti lainnya.
Tak satu pun dari mereka mendukungnya, jadi ada batasan untuk menggunakan metode pertama. Misalnya, ketika Anda ingin menampilkan catatan di halaman, Anda harus menggunakan metode kedua.
Tujuan menggunakan prosedur tersimpan di SQL Server adalah untuk mempercepat, tetapi ketika ada banyak pernyataan SQL dalam prosedur tersimpan, keunggulannya sangat jelas. Jika tidak banyak pernyataan SQL,
Ketika kita menggunakan metode kedua, kita harus membuat objek perintah tambahan, yang mungkin melambat! Jadi kita harus menyeimbangkan kepentingan semua aspek untuk menggunakan prosedur tersimpan.
Namun, saya pikir kecepatannya sangat bagus. Menggunakan prosedur tersimpan dapat membuat program lebih modular, mudah dimodifikasi dan debug (Anda dapat secara langsung men -debug di SQL Server tanpa melihat hasil ASP di bawah IE).
Di atas adalah pengantar prosedur tersimpan untuk panggilan ASP. Saya harap Anda akan membantu Anda mempelajari pengetahuan ini. Saya juga berharap semua orang akan terus mendukung saluran teknologi baru yang salah!