用CRecordset调用Oracle的存储过程?
在vc中调用一个非常简单的存储过程:
create or replace procedure insert_test(
v_id in integer,
v_name in varchar,
)
is
begin
execute immediate
'insert into test (id,name)values(:1,:2)'
using v_id,v_name ;
commit ;
end insert_test ;
调用语句如下:
...
CRecordset sp(&database) ;
sp.Open(CRecordset::dynaset,"{CALL insert_test(55,'11')}") ;
执行后提示错误信息: invalid cursor state
但记录却插入成功!
谁能解释一下为什么会提示错误信息?