0

私の ASP コードでは、ストアド プロシージャを呼び出したいと考えています。これは私が持っているコードです。

newHireSQL = "EXEC sp_selectNewHireSQL"
Set rsGetHireID = Server.CreateObject("ADODB.Recordset")
rsGetHireID.Open newHireSQL,ConnectionString,adOpenStatic

しかし、私はそのように書きたくありません。このコードを使用したい:

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

しかし、このコードでは、レコード数が のレコード セットを取得します-1

なぜこれが起こっているのか、それを修正する方法を知っている人はいますか?

ありがとう。

4

1 に答える 1

0

-1 の問題を修正するには、適切なカーソルを指定します。

SET rsGetHireID = Server.CreateObject("ADODB.RecordSet")
SET oCommand = Server.CreateObject("ADODB.Command")
oCommand.CommandText = "sp_selectNewHireSQL"
oCommand.CommandType = adCmdStoredProc
oCommand.ActiveConnection = ConnectionString
rsGetHireID.CursorLocation = 3 'adUseClient
rsGetHireID.Open oCommand
于 2013-05-16T13:03:00.937 に答える