0

私の従来の ASP アプリでは、ストアド プロシージャを呼び出しており、select ステートメントを介してレコード セットを取得することになっています。SQL Management Studio でストアド プロシージャの select ステートメントを試してみると、100 行ほどになりますが、クラス ASP コードで呼び出してみると、レコード数が -1 のレコード セットが得られます。

なぜこれが起こっているのか誰にも分かりますか?

ありがとう。

編集 :

Dim Conn
SET rsGetHireID = Server.CreateObject("ADODB.RecordSet")
SET Conn = Server.CreateObject("ADODB.Command")
Conn.CommandText = "sp_selectNewHireSQL"
Conn.CommandType = adCmdStoredProc
Conn.ActiveConnection = ConnectionString
Set rsGetHireID = Conn.Execute


NumOfHireID = rsGetHireID.RecordCount
Response.Write (NumOfHireID)

古い作業コード:

newHireSQL = "select * from NewHire where Archived = 0 order by HireID desc"
Set rsGetHireID = Server.CreateObject("ADODB.Recordset")
rsGetHireID.Open newHireSQL,ConnectionString,adOpenStatic

新しい編集:ループを引き起こしていたストアド プロシージャから BEGIN と END を削除することで修正されたようです。

4

3 に答える 3

0

あなたが使うかもしれない簡単な方法..

1.rsGetHireID.open newHireSQL,Conn,1,3

ありがとう

于 2013-05-10T19:01:24.770 に答える
-2

ストアド プロシージャ テンプレートがデフォルトで配置する BEGIN と END を削除します。それらがあるとループが発生します。

于 2013-05-10T20:44:27.900 に答える