ASPがストアドプロシージャを呼び出すことを学ぶとき、私たちはしばしばいくつかの問題を振り返りますか?たとえば、ストアドプロシージャを呼び出す方法を操作する方法は?ストアドプロシージャなどに渡るパラメーターは何ですか。今日、バグの新しいテクノロジーチャネルは、これらの知識を学ぶために次の記事に連れて行ってくれます。それがあなたの学習に役立つことを願っています!
1。ストアドプロシージャを呼び出す一般的な方法
まず、SQL ServerにストアドプロシージャDT_USERSがあると仮定しましょう。
手順を作成[dbo]。[dt_users]
として
[ユーザーから]を選択します
戻る
行く
最初の方法は、コマンドオブジェクトを使用せずにレコードセットオブジェクトを使用することです。
rs = server.createObject( "adodb.recordset")を設定します
sql = "exec dt_users"
rs.open sql、conn、1,1
2番目の方法は、コマンドオブジェクトを使用することです
comm = server.createObject( "adodb.command")を設定します
Comm.Commantype = 4
comm.activeconnection = connを設定します
comm.CommandText = "dbo.dt_users"
rs = server.createObject( "adodb.recordset")を設定します
rs.open comm ,, 1,1
2。パラメーターをストアドプロシージャに合格します
ストアドプロシージャにパラメーターがないが、単一のSQLステートメントがある場合、コールストアドプロシージャの利点は表示できません!
たとえば、BBSクエリは、著者とトピックが照会できます!その後、ストアドプロシージャは次のように確立できます。
パラメーターキーワードはキーワードであり、選択した選択はクエリを選択する方法です。
手順を作成[dbo]。[dt_bbs]
@keyword varchar(20)= null、
@choose int = null
として
@choice = 1の場合
@keywordのような名前から *から *を選択します
それ以外
@keywordのような件名から *から *を選択します
戻る
行く
このようにして、ストアドプロシージャを呼び出すときは、パラメーターを渡してASPでプログラムを書くことを省略する必要があります
最初の方法を使用します。
rs = server.createObject( "adodb.recordset")を設定します
sql = "exec dt_bbs '"&keyword& "'、"&choice& ""
rs.open sql、conn、1,1
2番目の方法を使用します。
comm = server.createObject( "adodb.command")を設定します
Comm.Commantype = 4
comm.Parameters.Append Comm.CreateParameter( "@keyword"、adchar、adparaminput、50、キーワード)
comm.Parameters.Append Comm.CreateParameter( "@keyword"、adinteger、adparaminput 、、選択)
comm.activeconnection = connを設定します
comm.CommandText = "dbo.dt_bbs"
rs = server.createObject( "adodb.recordset")を設定します
rs.cursortype = 3
rs.open comm ,, 1,1
3。さらなる議論
上記の2つの方法をASPのストアドプロシージャを呼び出すために比較する、
最初の方法ではより少ないオブジェクトが必要ですが、RecordSetオブジェクトは、Rs.RecordCount、Rs.PageCount、Rs.AbsolutePage、その他のプロパティなど、はるかに少ないプロパティをサポートします。
それらのどれもそれをサポートしていないため、最初の方法を使用することには制限があります。たとえば、ページにレコードを表示する場合は、2番目の方法を使用する必要があります。
SQL Serverでストアドプロシージャを使用する目的はスピードアップすることですが、ストアドプロシージャに多くのSQLステートメントがある場合、その利点は特に明白です。 SQLステートメントがあまりない場合、
2番目のメソッドを使用する場合、追加のコマンドオブジェクトを作成する必要があります。これにより、遅くなる可能性があります。したがって、ストアドプロシージャを使用するには、あらゆる側面の関心のバランスをとる必要があります。
しかし、速度はとても良いと思います。ストアドプロシージャを使用すると、プログラムがよりモジュール式、変更、デバッグがより簡単になります(IEに基づくASPの結果を調べることなく、SQL Serverで直接デバッグできます)。
上記は、ASPコールのストアドプロシージャの紹介です。この知識を学ぶことが役立つことを願っています。また、誰もが間違った新しいテクノロジーチャネルをサポートし続けることを願っています!