ASP + ORACLE 存储过程 返回结果集

None.gif < %@Language = " VBSCRIPT "  CodePage = " 936 "  LCID = " 2052 " % >
None.gif
< % Option   Explicit % >
None.gif
< %
None.gif
' **********************************************
None.gif'
                     Coding By sjcatsoft                      |
None.gif'
               Please Keep the message,Thx            |
None.gif'
**********************************************
None.gif
% >
None.gif
< ! --  #include file = " ../adovbs.inc "   -->
None.gif
None.gif
< %
None.gif    
Dim  cnOra
None.gif
None.gif    
Function  Connect2OracleServer
None.gif        
Dim  conStr
None.gif        conStr 
=   " Provider=MSDAORA.Oracle;Data Source=xx;user id=sr;password=bjlt "
None.gif        
Set  cnOra  =  Server.CreateObject( " ADODB.Connection " )
None.gif        cnOra.CursorLocation 
=  adUseClient  ' =3
None.gif
         On   Error   Resume   Next
None.gif        cnOra.Open conStr
None.gif        Connect2OracleServer 
=  (Err.Number  =   0 )
None.gif    
End Function
None.gif
None.gif    
Sub  DisconnectFromOracleServer
None.gif        
If   Not  cnOra  is   Nothing   Then
None.gif            
If  cnOra.State  =   1   Then
None.gif                cnOra.Close
None.gif            
End   If
None.gif            
Set  cnOra  =   Nothing
None.gif        
End   If
None.gif        
None.gif    
End Sub
None.gif    
None.gif    
None.gif    
Sub  Echo(str)
None.gif        Response.Write(str)
None.gif    
End Sub
None.gif    
None.gif    
Sub  OutputResult
None.gif        
Dim  cmdOra
None.gif        
Dim  rs
None.gif        
Set  cmdOra  =  Server.CreateObject( " ADODB.Command " )
None.gif        
With  cmdOra
None.gif            .CommandType 
=  adCmdText   ' =1
None.gif
            .CommandText  =   " {call PKG_TEST.GetItem(?,?)} "
None.gif            .Parameters.Append cmdOra.CreateParameter(
" p1 " , adNumeric, adParamInput,  10 1 )
None.gif            .Parameters.Append cmdOra.CreateParameter(
" p2 " , adVarChar, adParamInput,   10 " xx " )
None.gif            .ActiveConnection 
=  cnOra
None.gif            
Set  rs  =  cmdOra.Execute
None.gif            
If   Not  rs.Eof  Then
None.gif                
While   Not  rs.Eof
None.gif                    Echo rs(
0 )
None.gif                    Echo 
" -- "
None.gif                    Echo rs(
1 )
None.gif                    Echo 
"<br> "
None.gif                    rs.MoveNext
None.gif                
Wend
None.gif                rs.Close
None.gif            
End   If
None.gif            
Set  rs  =   Nothing
None.gif            
Set  cmdOra  =   Nothing
None.gif        
End   With     
None.gif        DisconnectFromOracleServer
None.gif    
End Sub
None.gif    
None.gif
None.gif    
If  Connect2OracleServer  Then
None.gif        OutputResult
None.gif    
Else
None.gif        Response.Write(Err.Description)
None.gif    
End   If
None.gif    
None.gif%
>
None.gif
None.gif
< %
None.gif
' --------------------------------------SQL Script---------------------------------- 
None.gif
     ' 建包
None.gif'
-----------------------------------
None.gif'
    Create Or Replace Package       PKG_TEST 
None.gif'
      IS
None.gif'
       TYPE rfcTest IS REF CURSOR  ;
None.gif'
None.gif'
       PROCEDURE GETITEM
None.gif'
         ( p1 IN NUMBER, 
None.gif'
           p2 IN VARCHAR2,
None.gif'
           p3 OUT rfcTest
None.gif'
          );
None.gif'
     
None.gif'
None.gif'
    END; -- Package Specification PKG_TEST
None.gif

None.gif
' =============================================
None.gif

None.gif    
' 建包体
None.gif'
-----------------------------------
None.gif'
    Create Or Replace Package Body       PKG_TEST 
None.gif'
    IS
None.gif'
None.gif'
       PROCEDURE GETITEM
None.gif'
        ( p1 IN NUMBER, 
None.gif'
          p2 IN VARCHAR2,
None.gif'
          p3 OUT rfcTest
None.gif'
         )
None.gif'
        IS
None.gif'
       BEGIN 
None.gif'
           OPEN p3 FOR
None.gif'
           SELECT * FROM tablename WHERE id = p1 AND name=p2 AND rownum < 10 ;
None.gif'
       EXCEPTION
None.gif'
          WHEN OTHERS THEN
None.gif'
              NULL ;
None.gif'
       END;
None.gif'
None.gif'
    END; -- Package Body PKG_TEST
None.gif
% >
None.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值