请教小弟我怎么在vb.net中调用pl/sql包中已经写好的方法
请问我如何在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
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