救命,有关存储过程的一个简单问题(115分)

  • 主题发起人 主题发起人 base7
  • 开始时间 开始时间
B

base7

Unregistered / Unconfirmed
GUEST, unregistred user!
我用存储过程写数据库,可是总告诉我找不到参数
谁能告诉我,WHY??
程序是这样:
begin
storedproc1.StoredProcName:='LOG_WRITE';
storedproc1.Params[0].asinteger:=4;
storedproc1.Params[1].asinteger:=6;
storedproc1.Params[2].asinteger:=1;
storedproc1.Params[3].asstring:='192.168.91.23';
storedproc1.ExecProc;
end;
存储过程是这样:
CREATE procedure log_write
(user_id in number,
syslog_id in number,
event_id in number,
ip_address in varchar2)
as
tem_event varchar2(200);
begin
if event_id=1 then
tem_event:='user log in';
end if;
if event_id=2 then
tem_event:='user log out';
end if;
insert into syslog
values(syslog_id,user_id,ip_address,tem_event,sysdate);
commit;
end;
另外,如果我不是在程序运行时赋存储过程名,而是在storedproc1的属性栏里赋值,
就完全正常,这是为什么??
 
storedproc1.databasename?
 
databasename肯定是有的啦
不然当我在属性栏里静态调用的时候也就不可能正常了
 
> storedproc1.StoredProcName:='LOG_WRITE'
如果动态指定所调用的过程,要重新定义参数,
storedproc1.Params.clear;
storedproc1.Params.creat.....
具体怎么写要自已查一下吧
 
yes
storedproc1.Params.clear;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
735
import
I
I
回复
0
查看
631
import
I
后退
顶部