1

Classic ASP に関するヘルプを探しています。カーソル出力を返す Oracle 8 ストアド プロシージャがあります。ASP ページで SP を呼び出し、すべての結果セット行をループしてデータを表形式で表示したいと考えています。

これが私が試したコードです:

Dim conn, cmd, rs 

Set conn = Server.CreateObject("adodb.connection") 

With conn
    .ConnectionString=strConnect
    .Open
End With

Set cmd = Server.CreateObject ("ADODB.Command") 
Set cmd.ActiveConnection = conn 
cmd.CommandText = "Ref_Cursor_Output_Procedure" 
cmd.CommandType = 4 'adCmdStoredProc 

Dim param1 
Set param1 = cmd.CreateParameter ("pid", adInteger, adParamInput) 
cmd.Parameters.Append param1 
param1.Value = 30 

Set rs = cmd.Execute
Do Until rs.BOF Or rs.EOF 
 -- Do something 
 rs.MoveNext 
Loop 

rs.Close 

ご覧いただき、何か問題がありましたらお知らせください。

4

2 に答える 2

0

私は解決策を得ました:

Dim cn, rs, cmd, param  
set cn = Server.CreateObject( "ADODB.Connection" )
cn.Open Cstr(strConnect)   '"Provider=MSDAORA.1;Data Source=xxxx;User ID=xx;Password=xx"    
set cmd = server.CreateObject ("ADODB.Command")
with cmd
    set .ActiveConnection   = cn
    .CommandText    =  "{call ref_cursor_procedure({resultset 0, t_cursor})}"
    .CommandType    = 1
end with

set rs = server.CreateObject ( "ADODB.Recordset" ) 
set rs = cmd.execute

Set rs = cmd.Execute
Do Until rs.BOF Or rs.EOF 
 -- Do something 
 rs.MoveNext 
Loop 

rs.Close 

うまくいきました。

ありがとう

于 2013-12-03T15:42:45.567 に答える
0

エラーが発生していますか、それとも結果がありませんか?

結果がない場合は、変更してみてください

Do Until rs.BOF Or rs.EOF

Do Until rs.EOF
于 2013-12-03T13:56:01.597 に答える