推奨:ASPバッチデータ入力の実装バッチエントリはデータベースで広く使用されており、バッチエントリには多くの方法があります。次に、実際のアプリケーションに基づいてどのように達成したかについてお話します。主な用途は、フォームコレクションの概念であり、コレクション内のすべてのデータをループを介して取得します。誰もが見るのが便利であることを考えると、私はそれを1つのページに統合しました。以下は特定のコードです
パラメーターを使用してストアドプロシージャを呼び出すいくつかの方法
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)
'ストアドプロシージャを実行して、Return Recordセットを取得します
adors = cmdsp.executeを設定します
'各レコードを印刷し、仮想であるフィールド、あなたはそれを無視することができます
adors.eofではありません
Adors.Fieldsの各Adofieldについて
respons.write adofield.name&=&adofield.value&<br>&vbcrlf
次
Response.Write <br>
adors.movenext
ウェンド
'2つの出力値を印刷します。
Response.Write <P> @intidout =&cmdsp.parameters(@intidout).value&</p>
Response.Write <P> return値=&cmdsp.parameters(return_value).value&</p>
'ビッグクリーニング
Adors = Nothingを設定します
cmdsp.activeconnection = nothingを設定します
cmdsp =何も設定しません
%>
他の方法がありますが、少し離れています、そして私はそれについて後で話します
この記事は多くの記事を参照しており、ここにはリストされません。
共有:ASPの制限フォームの複数の繰り返し提出インターネットでは、毎日無数のフォームに遭遇し、それらのほとんどがユーザーが同じフォームを複数回提出することを制限していないこともわかります。このような制限の欠如は、電子メールサービスのサブスクリプションの重複や投票の複製など、いくつかの予期しない結果を生成する場合があります。この記事では、現在のセッション中にユーザーが同じフォームを複数回送信できないようにするためのASPアプリケーションに簡単な方法を紹介します。