Hari ini, editor akan berbagi dengan Anda cara memanggil prosedur tersimpan di ASP. Teman yang tertarik akan mempelajarinya dengan editor!
1 Ini juga merupakan metode termudah, dengan dua parameter input, tidak ada nilai pengembalian:
Set Connection = Server.CreateObject ("ADODB.Connection")
Connection.Open Somedsn
Connection.Execute "Procname VarValue1, VarValue2"
'Hapus semua objek menjadi tidak ada, membebaskan sumber daya
koneksi.close
Setel koneksi = tidak ada
2 Jika Anda ingin mengembalikan set rekaman:
Set Connection = Server.CreateObject ("ADODB.Connection")
Connection.Open Somedsn
Set RS = Server.CreateObject ("ADODB.Recordset")
Rs.Open "Exec Procname VarValue1, VarValue2, Koneksi
'Hapus semua objek menjadi tidak ada, membebaskan sumber daya
rs.close
koneksi.close
Setel RS = Tidak Ada
Setel koneksi = tidak ada
3 Dua metode di atas tidak dapat memiliki nilai pengembalian (kecuali Recordset). Jika Anda ingin mendapatkan nilai pengembalian, Anda perlu menggunakan metode perintah.
Pertama -tama, ada dua jenis nilai pengembalian. Salah satunya adalah secara langsung mengembalikan nilai dalam prosedur tersimpan, seperti fungsi nilai pengembalian C dan VB; Yang lainnya adalah mengembalikan beberapa nilai, dan nama variabel yang menyimpan nilai -nilai ini perlu ditentukan terlebih dahulu dalam parameter panggilan.
Contoh ini akan berurusan dengan beberapa parameter, parameter input, parameter output, recordset pengembalian dan nilai pengembalian langsung (apakah semuanya cukup?)
Prosedur tersimpan adalah sebagai berikut:
Gunakan pub
PERGI
- Buat prosedur tersimpan
Buat Prosedur SP_PUBSTEST
- Tentukan tiga variabel parameter, perhatikan yang ketiga, tanda khusus digunakan untuk output
@au_lname varchar (20),
@Intid int,
@Intidout output int
SEBAGAI
Pilih @Intidout = @Intid + 1
Pilih *
Dari penulis
Dimana au_lname seperti @au_lname + '%'
--Erurn a Nilai Secara langsung
Return @Intid + 2
Program ASP yang menyebut prosedur tersimpan adalah sebagai berikut:
Redup cmdsp
Redup
DICMDSPSTOREDPROC
Redup adparamreturnvalue
Redup adparaminput
Redpparamoutput
Redup adinteger
Redup ival
Oval redup
Redup adofield
Redup advarchar
'Nilai -nilai ini adalah konstanta yang telah ditentukan sebelumnya dalam VB dan dapat dipanggil secara langsung, tetapi tidak ditentukan sebelumnya dalam VBScript
ADCMDSPSTOREDPROC = 4
ADParamReturnValue = 4
adparaminput = 1
adparamoutput = 2
Adinteger = 3
Advarchar = 200
ival = 5
oval = 3
'Buat objek perintah
Setel cmdsp = server.CreateObject ("adodb.command")
'Buat tautan
Cmdsp.activeConnection = "driver = {sql server}; server = (lokal); uid = SA; pwd =; database = pub"
'Tentukan nama panggilan objek perintah
Cmdsp.commandtext = "sp_pubstest"
'Atur Jenis Panggilan Perintah sebagai Prosedur Tersimpan (ADCMDSPSTOREDPROC = 4)
CMDSP.CommandType = ADCMDSPSTOREDPROC
'Tambahkan parameter ke objek perintah
'Tentukan prosedur tersimpan memiliki nilai pengembalian langsung, dan merupakan bilangan bulat, nilai defaultnya adalah 4
Cmdsp.parameters. Laporan cmdsp.createParameter ("return_value", adinteger, adparamreturnValue, 4)
'Tentukan parameter input karakter
Cmdsp.parameters. Laporan cmdsp.createParameter ("@au_lname", advarchar, adparaminput, 20, "m")
'Tentukan parameter input integer
Cmdsp.parameters. Laporan cmdsp.createParameter ("@intid", adinteger, adparaminput ,, iVal)
'Tentukan parameter output integer
Cmdsp.parameters. Laporan CMDSP.CreateParameter ("@Intidout", Adinteger, Adparamoutput, Oval)
'Jalankan prosedur tersimpan dan dapatkan set rekaman pengembalian
Atur adors = cmdsp.execute
'Cetak setiap catatan, bidang yang virtual, Anda dapat mengabaikannya
Meskipun tidak adors.eof
untuk setiap adofield di adors.fields
Response.write adofield.name & "=" & adofield.Value & "
"& vbcrlf
Berikutnya
Respons.write "
"
Adors.Movenext
Pergi ke
'Cetak dua nilai output:
Respons.write "
@Intidout = "& cmdsp.parameters ("@Intidout "). Nilai &"
"
Respons.write "
Value return = "& cmdsp.parameters (" return_value "). Nilai &"
"
'Pembersihan besar
Atur adors = tidak ada
Atur cmdsp.activeConnection = tidak ada
Atur cmdsp = tidak ada
%>
Ada cara lain, yang sedikit tidak aktif, dan saya akan membicarakannya nanti
Artikel ini telah merujuk banyak artikel, dan tidak akan tercantum di sini.
Di atas adalah pengantar cara memanggil prosedur tersimpan di ASP. Saya berharap pengetahuan dan materi yang relevan yang disusun oleh editor akan membantu Anda. Untuk konten lebih lanjut, silakan terus perhatikan situs web Wuxin Technology Channel!