一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - Asp Oracle存儲過程返回結果集的代碼

Asp Oracle存儲過程返回結果集的代碼

2019-09-18 10:32asp教程網 ASP教程

對于 Oracle 這個龐然大物,Asp使用起來,確實是捉襟見肘的 。 尤其是要返回結果集(Recordset)的情況,更是讓很多人犯難。

經過摸索和實踐,我把自己的解決方法,寫在下面: 
說明: 
我的Oracle客戶端的版本是 oracle 9i, 安裝client端的時候,不能用默認安裝,一定要自定義, 然后選擇所有 OLEDB 相關的內容,都裝上,否則到下面的 Provider 的時候,會找不到。 

復制代碼代碼如下:


<%@Language="VBSCRIPT" CodePage="936" LCID="2052"%> 
<%Option Explicit%> 
<!-- #include file="../adovbs.inc" --> 
<% 
Dim cnOra 
Function Connect2OracleServer 
Dim conStr 
conStr = "Provider=MSDAORA.Oracle;Data Source=xx;User Id=?;Password=?" 
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 
%>


下面是 Oracle 的 sql 腳本 
--------------------------------------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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产亚洲福利一区二区免费看 | 91精品国产色综合久久不卡蜜 | 桥本有菜在线四虎福利网 | 99视频都是精品热在线播放 | 嫩草影院地址一地址二 | 亚飞与亚基国语1080p在线观看 | 我与旗袍老师疯狂床震 | 国产精品免费网站 | 精品操 | 王雨纯 羞羞 | 4438成人网| www.色香蕉 | 邪恶肉肉全彩色无遮琉璃神社 | 免费高清资源黄网站在线观看 | 日日摸日日添日日透 | 国产欧美日韩亚洲精品区2345 | 色播导航| 五月一区二区久久综合天堂 | 91成人免费观看 | 欧美男同video | 青草娱乐极品免费视频 | 嫩草视频在线观看视频播放 | 免费在线观看网址入口 | 果冻传媒林予曦图片 | 王晶三级作品 | 人人澡 人人澡碰人人看软件 | ts人妖国产一区 | 天天爽天天干天天操 | a免费看 | 无码国产成人777爽死在线观看 | 国产色网 | 国产精品国产三级在线专区 | 成熟女人50岁一级毛片不卡 | 高清免费毛片 | 韩国美女vip内部2020 | 无人区国产大片 | 顶级欧美做受xxx000大乳 | 亚洲视频在线一区二区三区 | 色帝国亚洲欧美在线蜜汁tv | 久久综合给合久久狠狠狠… | 调教小龙女|