今日、編集者はASPのストアドプロシージャを呼び出す方法をあなたと共有します。興味のある友達は編集者と一緒にそれについて学びます!
1これも最も簡単な方法であり、2つの入力パラメーター、返品値がありません。
connection = server.createObject( "adodb.connection")を設定します
connection.open Somedsn
connection.execute "procname varvalue1、varvalue2"
「すべてのオブジェクトを何もないようにクリアし、リソースを解放します
connection.close
接続=何も設定しません
2 RecordSetセットを返したい場合:
connection = server.createObject( "adodb.connection")を設定します
connection.open Somedsn
rs = server.createObject( "adodb.recordset")を設定します
rs.open "exec procname varvalue1、varvalue2"、connection
「すべてのオブジェクトを何もないようにクリアし、リソースを解放します
rs.close
connection.close
rs = Nothingを設定します
接続=何も設定しません
3上記の2つの方法には、返品値を持つことができません(RecordSetを除く)。返品値を取得する場合は、コマンドメソッドを使用する必要があります。
まず、返品値には2つのタイプがあります。 1つは、CおよびVBの戻り値の関数と同様に、ストアドプロシージャの値を直接返すことです。もう1つは複数の値を返すことであり、これらの値を保存する変数名は、呼び出しパラメーターで最初に指定する必要があります。
この例では、複数のパラメーター、入力パラメーター、出力パラメーター、リターンレコードセット、直接戻り値を扱います(十分ですか?)
ストアドプロシージャは次のとおりです。
パブを使用します
行く
- ストアドプロシージャを作成します
手順SP_PUBSTESTを作成します
- 3つのパラメーター変数を定義し、3番目のパラメーター変数に注意してください。特別マークは出力に使用されます
@au_lname varchar(20)、
@intid int、
@intidout int output
として
@intidout = @intid + 1を選択します
select *
著者から
ここで@au_lname + '%'のようなau_lname
- 値を直接返します
@intid + 2を返します
ストアドプロシージャを呼び出すASPプログラムは次のとおりです。
dim cmdsp
薄暗いadors
dim adcmdspstoredproc
Dim AdparamreturnValue
DIM ADPARAMINPUT
Dim Adparamoutput
Dim Adinteger
薄暗い
薄暗い楕円形
Dim Adofield
DIM ADVARCHAR
'これらの値はVBの定義済み定数であり、直接呼び出すことができますが、VBScriptで事前に定義されていません
ADCMDSPSTOREDPROC = 4
adparamreturnvalue = 4
adparaminput = 1
adparamoutput = 2
adinteger = 3
Advarchar = 200
ival = 5
楕円形= 3
'コマンドオブジェクトを作成します
cmdsp = server.createobject( "adodb.command")を設定します
'リンクを作成します
cmdsp.activeconnection = "driver = {sql server}; server =(local); uid = sa; pwd =; database = pubs"
'コマンドオブジェクトコール名を定義します
cmdsp.commandtext = "sp_pubstest"
'コマンドコールタイプをストアドプロシージャとして設定します(adcmdspstoredproc = 4)
cmdsp.commandtype = adcmdspstoredproc
'コマンドオブジェクトにパラメーターを追加します
'ストアドプロシージャには直接返品値があり、整数であり、デフォルト値は4です
cmdsp.parameters.append cmdsp.createparameter( "return_value"、adinteger、adparamreturnvalue、4)
'文字入力パラメーターを定義します
cmdsp.parameters.append cmdsp.createparameter( "@au_lname"、advarchar、adparaminput、20、 "m")
'整数入力パラメーターを定義します
cmdsp.parameters.append cmdsp.createparameter( "@intid"、adinteger、adparaminput 、、 ival)
'整数出力パラメーターを定義します
cmdsp.parameters.append cmdsp.createparameter( "@intidout"、adinteger、adparamoutput、oval)
'ストアドプロシージャを実行して、Return Recordセットを取得します
adors = cmdsp.executeを設定します
'各レコードを印刷し、仮想であるフィールド、あなたはそれを無視することができます
adors.eofではありません
Adors.Fieldsの各Adofieldについて
Response.write adofield.name& "="&adofield.value& "
「&vbcrlf
次
Response.Write "
「
adors.movenext
ウェンド
'2つの出力値を印刷します。
Response.Write "
@intidout = "&cmdsp.parameters("@intidout ")。value&"
「
Response.Write "
return値= "&cmdsp.parameters(" return_value ")。value&"
「
'ビッグクリーニング
Adors = Nothingを設定します
cmdsp.activeconnection = nothingを設定します
cmdsp =何も設定しません
%>
他の方法がありますが、少し離れています、そして私はそれについて後で話します
この記事は多くの記事を参照しており、ここにはリストされません。
上記は、ASPのストアドプロシージャを呼び出す方法の紹介です。編集者によって編集された関連する知識と資料があなたに役立つことを願っています。その他のコンテンツについては、引き続きWuxin TechnologyチャンネルのWebサイトに注意を払います。