[VB.NET]请问我如何在vb.net中调用pl/sql包中已经写好的方法?

本文介绍如何在VB.NET中调用Oracle数据库中已定义的PL/SQL包内的过程,并展示了如何将过程返回的数据展示在界面上的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VB.NET源码-156个实用实例哦…… 请问我如何在vb.net中调用pl/sql包中已经写好的方法?
sql文如下
CREATE TABLE TEST
(
NAME VARCHAR2(10),
PSW VARCHAR2(10)
)

CREATE OR REPLACE PACKAGE TROUBLEREPORT.test_cursor
IS

CURSOR CUR_TEST(cname test.name%TYPE) IS
SELECT
A.name,
A.psw
FROM test A
where A.name = cname;
CCUR_TEST CUR_TEST%ROWTYPE;

PROCEDURE OPEN_ONE_CURSOR (cname IN VARCHAR2,psw OUT VARCHAR2);

END;


CREATE OR REPLACE PACKAGE BODY TROUBLEREPORT.test_cursor is

PROCEDURE OPEN_ONE_CURSOR (cname IN VARCHAR2,psw OUT VARCHAR2)
IS
BEGIN
OPEN CUR_TEST(cname);
-- ループ開始
LOOP
FETCH CUR_TEST INTO CCUR_TEST;
EXIT WHEN CUR_TEST%NOTFOUND;
psw:=CCUR_TEST.psw;
END LOOP;
close CUR_TEST;
END OPEN_ONE_CURSOR;

END test_cursor;

请问我如何把OPEN_ONE_CURSOR过程返回的第2个参数的值,传到画面上的一个text中去呢?如果我返回的是游标,pl/sql文和vb.net程序该如何写呢?
__________________________________________________________________________
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = TROUBLEREPORT.test_cursor.OPEN_ONE_CURSOR ;
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add( cname , OracleType.VarChar).Value = admin ;
cmd.Parameters.Add( psw , OracleType.Cursor).Direction =
ParameterDirection.Output;


conn.Open();
OracleDataReader dr = cmd.ExecuteReader();


if(dr.Read())
{
textbox1.text=dr[i].ToString();
}


*****************************************************************************
欢迎使用优快云论坛专用阅读器 : 优快云 Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
__________________________________________________________________________
楼上正解,另外
需要在项目中把 system.data.oracleclient包含进去。
__________________________________________________________________________
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值