VB中调用带参数存储过程的实现 请参考下面:
http://www.mypcera.com/softxue/new/vb/ba50.htm
http://www.mypcera.com/softxue/new/vb/ba50.htm
解决方案 »
- 关于SQL一些基础问题,昨天题目没有写清楚,继续求解!
- ORA-12170 错误 如何是好?
- oracle分组问题
- 数据库问题,同时对1条数据进行修改
- oracle怎么快速实现这个?
- spfileorcl.ora被我不小心删除了,又没有备份,怎么恢复啊,那位大虾救救啊!
- 请问我机器(windows XP)上的oracle10g的http://localhost:5500/em的一个奇怪问题?
- 简单问题,抬手得分!!!!!
- 关于日期的问题
- Oracle商品和图片表的一对多设计要如何设计?
- .net中连接oracle数据库的问题,紧急!!!!!
- 求助:ORA-22990 LOB定位器无法扩展事物处理( 内详 )
(
CSDM VARCHAR2(8),
KPID VARCHAR2(8),
KPFS NUMBER
)
tablespace SKST_DATA
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 128K
next 128K
minextents 1
maxextents unlimited
pctincrease 1
);prompt
prompt Creating package PKG_TEST
prompt =========================
prompt
create or replace package PKG_TEST is
TYPE rctype IS REF CURSOR;
PROCEDURE TEST (p_rq IN DATE, p_rc OUT rctype);
end PKG_TEST;
/prompt
prompt Creating package body PKG_TEST
prompt ==============================
prompt
create or replace package body PKG_TEST is PROCEDURE TEST (p_rq IN DATE, p_rc OUT rctype) IS
sqlstr VARCHAR2(32000);
CURSOR CUR_TESTX IS SELECT * FROM TESTX ORDER BY KPID;
BEGIN
'此处省略若干行业务代码...
OPEN p_rc FOR sqlstr;
END;end PKG_TEST;
/
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
'更新窗体标题
Me.Caption = "正在查询,请稍候..."
'检索数据
'定义一个COMMAND对象
Dim cmd As New ADODB.Command
'命令类型为文本
cmd.CommandType = adCmdText
'命令文本采用 {call PackageName.ProcedureName(?,{resultset 0,RefCursor})}
'的形式,其中:
' ? 是传入参数
' RefCursor 是REF CURSOR类型的传出参数
cmd.CommandText = "{call PKG_TEST.TEST(?,{resultset 0,p_rc})}"
'添加传入参数
cmd.Parameters.Append cmd.CreateParameter("p_rq", adDate, adParamInput)
'给传入参数赋值:查询日期
cmd(0) = Date
'设置连接
Set cmd.ActiveConnection = Cnn
'获取数据
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
Set rs.Source = cmd
rs.Open
'显示数据
Set GridQuery.DataSource = rs
'关闭记录集
rs.Close '更新窗体标题
Me.Caption = "查询结束"
End Sub