ASP + ORACLE 存储过程 返回结果集
2005-10-11 16:37
405 查看
<%@Language="VBSCRIPT" CodePage="936" LCID="2052"%>
<%Option Explicit%>
<%
'**********************************************
' Coding By sjcatsoft |
' Please Keep the message,Thx |
'**********************************************
%>
<!-- #include file="../adovbs.inc" -->
<%
Dim cnOra
Function Connect2OracleServer
Dim conStr
conStr = "Provider=MSDAORA.Oracle;Data Source=xx;user id=sr;password=bjlt"
Set cnOra = Server.CreateObject("ADODB.Connection")
cnOra.CursorLocation = adUseClient '=3
On Error Resume Next
cnOra.Open conStr
Connect2OracleServer = (Err.Number = 0)
End Function
Sub DisconnectFromOracleServer
If Not cnOra is Nothing Then
If cnOra.State = 1 Then
cnOra.Close
End If
Set cnOra = Nothing
End If
End Sub
Sub Echo(str)
Response.Write(str)
End Sub
Sub OutputResult
Dim cmdOra
Dim rs
Set cmdOra = Server.CreateObject("ADODB.Command")
With cmdOra
.CommandType = adCmdText '=1
.CommandText = "{call PKG_TEST.GetItem(?,?)}"
.Parameters.Append cmdOra.CreateParameter("p1", adNumeric, adParamInput, 10, 1)
.Parameters.Append cmdOra.CreateParameter("p2", adVarChar, adParamInput, 10, "xx")
.ActiveConnection = cnOra
Set rs = cmdOra.Execute
If Not rs.Eof Then
While Not rs.Eof
Echo rs(0)
Echo "--"
Echo rs(1)
Echo "<br>"
rs.MoveNext
Wend
rs.Close
End If
Set rs = Nothing
Set cmdOra = Nothing
End With
DisconnectFromOracleServer
End Sub
If Connect2OracleServer Then
OutputResult
Else
Response.Write(Err.Description)
End If
%>
<%
'--------------------------------------SQL Script----------------------------------
'建包
'-----------------------------------
' Create Or Replace Package PKG_TEST
' IS
' TYPE rfcTest IS REF CURSOR ;
'
' PROCEDURE GETITEM
' ( p1 IN NUMBER,
' p2 IN VARCHAR2,
' p3 OUT rfcTest
' );
'
'
' END; -- Package Specification PKG_TEST
'=============================================
'建包体
'-----------------------------------
' Create Or Replace Package Body PKG_TEST
' IS
'
' PROCEDURE GETITEM
' ( p1 IN NUMBER,
' p2 IN VARCHAR2,
' p3 OUT rfcTest
' )
' IS
' BEGIN
' OPEN p3 FOR
' SELECT * FROM tablename WHERE id = p1 AND name=p2 AND rownum < 10 ;
' EXCEPTION
' WHEN OTHERS THEN
' NULL ;
' END;
'
' END; -- Package Body PKG_TEST
%>
<%Option Explicit%>
<%
'**********************************************
' Coding By sjcatsoft |
' Please Keep the message,Thx |
'**********************************************
%>
<!-- #include file="../adovbs.inc" -->
<%
Dim cnOra
Function Connect2OracleServer
Dim conStr
conStr = "Provider=MSDAORA.Oracle;Data Source=xx;user id=sr;password=bjlt"
Set cnOra = Server.CreateObject("ADODB.Connection")
cnOra.CursorLocation = adUseClient '=3
On Error Resume Next
cnOra.Open conStr
Connect2OracleServer = (Err.Number = 0)
End Function
Sub DisconnectFromOracleServer
If Not cnOra is Nothing Then
If cnOra.State = 1 Then
cnOra.Close
End If
Set cnOra = Nothing
End If
End Sub
Sub Echo(str)
Response.Write(str)
End Sub
Sub OutputResult
Dim cmdOra
Dim rs
Set cmdOra = Server.CreateObject("ADODB.Command")
With cmdOra
.CommandType = adCmdText '=1
.CommandText = "{call PKG_TEST.GetItem(?,?)}"
.Parameters.Append cmdOra.CreateParameter("p1", adNumeric, adParamInput, 10, 1)
.Parameters.Append cmdOra.CreateParameter("p2", adVarChar, adParamInput, 10, "xx")
.ActiveConnection = cnOra
Set rs = cmdOra.Execute
If Not rs.Eof Then
While Not rs.Eof
Echo rs(0)
Echo "--"
Echo rs(1)
Echo "<br>"
rs.MoveNext
Wend
rs.Close
End If
Set rs = Nothing
Set cmdOra = Nothing
End With
DisconnectFromOracleServer
End Sub
If Connect2OracleServer Then
OutputResult
Else
Response.Write(Err.Description)
End If
%>
<%
'--------------------------------------SQL Script----------------------------------
'建包
'-----------------------------------
' Create Or Replace Package PKG_TEST
' IS
' TYPE rfcTest IS REF CURSOR ;
'
' PROCEDURE GETITEM
' ( p1 IN NUMBER,
' p2 IN VARCHAR2,
' p3 OUT rfcTest
' );
'
'
' END; -- Package Specification PKG_TEST
'=============================================
'建包体
'-----------------------------------
' Create Or Replace Package Body PKG_TEST
' IS
'
' PROCEDURE GETITEM
' ( p1 IN NUMBER,
' p2 IN VARCHAR2,
' p3 OUT rfcTest
' )
' IS
' BEGIN
' OPEN p3 FOR
' SELECT * FROM tablename WHERE id = p1 AND name=p2 AND rownum < 10 ;
' EXCEPTION
' WHEN OTHERS THEN
' NULL ;
' END;
'
' END; -- Package Body PKG_TEST
%>
相关文章推荐
- oracle 用包加存储过程和直接应用存储过程做的简单的应用存储过程返回结果集
- ASP 调用 Oracle 存储过程返回结果集
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- Oracle和SQLServer分别使用函数和存储过程返回结果集
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- 关于oracle调用存储过程返回结果集
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- Oracle 存储过程 动态SQL 语句 返回结果集
- [Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
- oracle 存储过程 返回结果集
- asp 调用 oracle存储过程并返回结果集
- oracle 存储过程 分页 返回结果集
- Oracle 函数/存储过程返回结果
- ORACLE下存储过程返回查询结果
- oracle中存储过程调用存储过程(带有返回结果集)
- java jdbc调用oracle的函数或过程返回SQL语句查询的结果集
- oracle使用存储过程返回数据集
- oracle调用存储过程和函数返回结果集
- Oracle在存储过程中如何返回结果集
- Mybatis调用Oracle返回结果集存储过程