ストアドプロシージャを使用することを学ぶことは、ASPプログラマーが学ばなければならないコースの1つです。すべての大規模なデータベースは、ストアドプロシージャをサポートしています。今日の記事は、新しいテクノロジーの編集者の編集者が共有するASPストードプロシージャの使用の完全なコレクションです。詳細については、次の記事にアクセスしましょう!
1.パラメーターのないストアドプロシージャを呼び出します
<%
conn = server.createObject( "adodb.connection")を設定します
cmd = server.createobject( "adodb.command")を設定します
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = connを設定します
cmd.commandtext = "{call nono}"
'rs = cmc.exeまたはcmd.executeを設定します
rs = cmd.execute()を設定します
%>
2。入力パラメーターのストアドプロシージャ
<%
conn = server.createObject( "adodb.connection")を設定します
cmd = server.createobject( "adodb.command")を設定します
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = connを設定します
cmd.commandtext = "{call oneinput(?)}"
cmd.parameters.append cmd.createparameter( "@aaa"、adinteger、adparaminput)
cmd( "@aaa")= 100
cmd.execute()
%>
3.入力パラメーターと出力パラメーター
<%
conn = server.createObject( "adodb.connection")を設定します
cmd = server.createobject( "adodb.command")を設定します
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = connを設定します
cmd.commandtext = "{call oneinout(?、?)}"
cmd.parameters.append cmd.createparameter( "@aaa"、adinteger、adparaminput)
cmd( "@aaa")= 10
cmd.parameters.append cmd.createparameter( "@bbb"、adinteger、adparamoutput)
cmd.execute()
bbb = cmd( "@bbb")
%>
4。1つの入力パラメーター、1つの出力パラメーター、および1つの返品値
<%
conn = server.createObject( "adodb.connection")を設定します
cmd = server.createobject( "adodb.command")を設定します
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = connを設定します
cmd.commandtext = "{?= call oneereturn(?、?)}"
cmd.parameters.append cmd.createparameter( "@return_value"、adinteger、adparamreturnvalue)
cmd.parameters.append cmd.createparameter( "@aaa"、adinteger、adparaminput)
cmd( "@aaa")= 10
cmd.parameters.append cmd.createparameter( "@bbb"、adinteger、adparamoutput)
cmd.execute()
bbb = cmd( "@bbb")
rrr = cmd( "@return_value")
%>
ASPのSQLストアドプロシージャを呼び出す方法
www.lucky365.net 2002-2-7 jixiang365
<%set connection1 = server.createObject( "adodb.Connection")
connection1.open ... '結合
command1 = server.createObject( "adodb.command")を設定します
command1.activeconnection = connection1を設定します
command1.commandtype = 4
command1.commandtext = "sp_1" 'sp name
command1.parameters(1)= ... 'パラメーター値
command1.parameters(2)= ...
set recordset1 = command1.execute()
%>
ASPコールストアドプロシージャのヒント
1.最も単純なものは次のとおりです
DIM OBJCONN
objconn = server.createObject( "adobd.connection")を設定します
objconn.openアプリケーション( "connection_string")
'ストアドプロシージャを呼び出して、ページ上のカウンターをインクリメントしてください
objconn.execute "exec sp_addhit"
パラメーター、リターン、エラー処理なし、それだけです
2。パラメーターを使用した呼び出し
objconn.execute "exec sp_addhit 'http://www.aspalliance.com'、1"
分割パラメーターはレコードに返されないことに注意してください。
3。レコードに戻ります
DIM OBJCONN
dim objrs
objconn = server.createObject( "adobd.connection")を設定します
objrs = server.createObject( "adobd.recordset")を設定します
objconn.openアプリケーション( "connection_string")
'ストアドプロシージャを呼び出して、ページ上のカウンターをインクリメントしてください
objrs.open objconn、「exec sp_listarticles '1/15/2001'」
'レコードセットをループして、各記事を表示します
4 ....
DIM OBJCONN
dim objcmd
'オブジェクトのインスタンス
objconn = server.createObject( "adodb.connection")を設定します
objcmd = server.createobject( "adodb.command")を設定します
conn.openアプリケーション( "ConnectionString")
objcmdで
.activeconnection = conn 'ここで接続文字列を指定することもできます
.commandtext = "sp_insertarticle"
.commandtype = adcmdstoredproc 'adovbs.incファイルまたはtypelibメタタグが必要です
'入力パラメーターを追加します
.parameters.append .createparameter( "@columdist_id"、addouble、adparaminput 、、 columsist_id)
.parameters.append .createparameter( "@url"、advarchar、adparaminput、255、url)
.parameters.append .createparameter( "@title"、advarchar、adparaminput、99、url)
.parameters.append .createparameter( "@descripty"、adlongvarchar、_
AdParaminput、2147483647、説明)
'出力パラメーターを追加します
.parameters.append .createparameter( "@link_id"、adinteger、adparamoutput 、、 0)
'関数を実行します
'レコードセットを返していない場合は、AdexecutenoreCordsパラメーターオプションを使用します
.execute、、adexecutenorecords
link_id = .parameters( "@link_id")
で終わります
5。ストアドプロシージャのコード
手順DBO.SP_INSERTARTICLEを作成します
(
@columnist_id int、
@url varchar(255)、
@title varchar(99)、
@descriptionテキスト
@link_id int output
))
として
始める
dbo.t_linkに挿入(columdist_id、url、title、description)
values(@columdist_id、@url、@title、@description)
@link_id = @@ IDを選択します
終わり
パラメーターを使用してストアドプロシージャを呼び出すいくつかの方法
最近、多くの友人がストアドプロシージャを呼び出すことについて質問しました。以下は、パラメーターを備えた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プログラムは次のとおりです。
<%@言語= vbscript%>
<%
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)
''ストアドプロシージャを実行して、返信レコードセットを取得します
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のストアドプロシージャの使用
ASPプログラムの効率を改善するために、ASPのSQL Serverを使用してストレージテクノロジーを使用する必要がある場合があります。簡単な紹介です。
ストアドプロシージャの確立
SQL Serverのエンタープライズマネージャーでストアドプロシージャを確立する方法の簡単な紹介を次に示します。
(1)オープンエンタープライズマネージャー
(2)サーバーグループ(SQLサーバーグループ)、サーバー、データベース(データベース)、および対応するデータベースを選択し、対応するデータベースの下に保存されたProcduresアイテムを右クリックし、ポップアップメニューに新しいストアドプロシージャを選択し、ステートメントを入力して、ストアドプロシージャプロパティのストアドプロシージャを作成します。これが例です:
手順Proctest @mycola char(10)、@mycolb char(10)、@mycolc Text asを作成します
ChatData(MyCola、MyColb、MyColc)値に挿入(@mycola、@mycolb、@mycolc)
SQL Serverのドキュメントでは、その構文は次のとおりです。
proc [edure] presture_name [; number] [
{@parameter data_type} [変化] [= default] [output]]
[、... n] [{recompile |と暗号化
|再コンパイル、暗号化}] [複製用] AS
sql_statement [... n]
SQL構文に慣れていない場合は、Check Syntaxを使用して構文を確認できます。上記の例では、ストアドプロシージャがMycolaという名前のストアドプロシージャと3つのパラメーターで作成されることを意味します。最初のパラメーターMyColaデータ型は、charと幅10です。 2番目のパラメーターデータ型はcharとwidth 10、3番目のパラメーターデータ型はテキストです。 SQL Serverのデータ型は次のとおりです。
ストアドプロシージャが確立された後、以下はASPプログラムのストアドプロシージャを呼び出す方法です。ASPプログラムの効率を改善するには、ASPのSQL Serverを使用してストレージテクノロジーを使用する必要がある場合があります。上記のステートメントにパラメーターを追加する簡単な方法を次に示します。
p.append cm.createparameter( "パラメーター名"、タイプ、方向、サイズ)
パラメーター値のタイプの意味は次のとおりです。
名前値整数値関数
AddBtimestamp 135日付および時刻データ型
補遺14 10進整数値
addouble 5ダブル精度小数値
Aderror 10システムエラーメッセージ
ADGUID 72グローバルに一意の識別子
Addispath 9 com/ole自動オブジェクト(自動化オブジェクト)
Adinteger 3 4バイト署名整数
adiunknown 13 com/oleオブジェクト
AdLongVarbinary 205大規模な2バイト値
adlongvarchar 201の大きな文字列値
Adlongvarwchar 203大きな非エンコード文字列
Adnumeric 131 10進数整数値
AdSingle 4シングルエシジョンフローティングポイント小数
Adsmallint 2 2バイト署名整数
adtinyint 16 1バイト署名された整数
AdunsignedBigint 21 8バイト符号なし整数
adunsignedint 19 4バイトunsigned Integer
AdunSignedSmallint 18 2バイト符号なし整数
adunsignedtinyint 17 1バイトunsigned Integer
Aduserdefined 132ユーザー定義のデータ型
Advariant 12 oleオブジェクト
Advarbinary 204ダブルバイト文字変数変数値
Advarchar 200文字変数値
Advarchar 202エンコードされていない文字列変数値
ADWCHAR 130 ENCODED文字列
方向の値の意味は次のとおりです。
名前値整数値関数
adparaminput1このパラメーターにデータを入力することを許可します
adparamoutput 2を使用すると、このパラメーターにデータを出力できます
adparaminputOutput 3により、このパラメーターへのデータ入力と出力が可能になります
AdParamreturnValue 4を使用すると、データをサブルーチンからこのパラメーターに返すことができます
上記は、間違った新しいテクノロジーチャネルの編集者によって収集されたASPストードプロシージャの使用の完全なコレクションです。それがあなたの学習に役立つことを願っています!