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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - ASP教程 - Asp Oracle存儲(chǔ)過程返回結(jié)果集的代碼

Asp Oracle存儲(chǔ)過程返回結(jié)果集的代碼

2019-09-18 10:32asp教程網(wǎng) ASP教程

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

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

復(fù)制代碼代碼如下:


<%@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---------------------------------- 
--建包----------------------------------- 

復(fù)制代碼代碼如下:


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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 岛国a香蕉片不卡在线观看 荡女淫春2古装 | 四虎成人免费观看在线网址 | 亚洲av欧美在我 | 日本精品一卡二卡≡卡四卡 | 国产微拍精品一区 | 亚洲成在人网站天堂一区二区 | 好男人资源在线观看免费的 | 激情综合站 | 四虎影院永久在线 | 色中色软件 | 手机在线观看网站免费视频 | 亚洲激情欧美 | 98精品全国免费观看视频 | 国产免费午夜 | 美女逼逼软件 | 午夜片无码区在线观看 | 国产精品调教 | 青青草原在线 | 色999| 国产露脸对白刺激3p在线 | 明星h文集合短篇小说 | 精品国产原创在线观看视频 | 日b视频免费看 | 午夜私人福利影院 | 亚洲电影成人 成人影院 | 男女18一级大黄毛片免 | 性做久久久久久久 | 久久伊人影视 | 亚洲卡一卡2卡三卡4麻豆 | 国产欧美日韩不卡 | 国产精品va在线观看不 | 午夜精品久久久久久久99蜜桃 | 青草热久精品视频在线观看 | 亚瑟天堂久久一区二区影院 | 国产精品久久久久久网站 | 亚洲日日操 | 国产精品不卡 | 亚洲国产欧美在线看片 | 国产精品13p| free嫩白的12sex性自由 | 亚洲第五页 |