create or replace procedure ModifyCardID(
OldCardID G_CARDS.CARD_ID%Type,
NewCardID G_CARDS.CARD_ID%Type,
Update1Row Out Number,
Update2Row Out Number
)
Is
begin
Update G_CARDS set CARD_ID=NewCardID where CARD_ID=OldCardID;
Update1Row:=SQL%ROWCOUNT;
Update ZSGL set KPBH=NewCardID where KPBH=OldCardID;
Update2Row:=SQL%ROWCOUNT;
-- DBMS_OUTPUT.PUT_LINE(Update1Row);
-- DBMS_OUTPUT.PUT_LINE(Update2Row);
end;
/
我在DELPHI中这样写出错,不知应当如何调用?
StoredProc1.Parameters.ParamByName('OldCardID').Value:='x1';
StoredProc1.Parameters.ParamByName('NewCardID').Value:='x2';
StoredProc1.ExecProc;
x3:=IntToStr(StoredProc1.Parameters.ParamByName('Update1Row').Value);
x4:=IntToStr(StoredProc1.Parameters.ParamByName('Update2Row').Value);
错误提示为:“不正常的定义对象,提供了不一致或不完整的信息”。
3 个解决方案
#1
自己UP一下。
#2
StoredProc1的存储过程名设置了吗
#3
StoredProc1.procedurename:='ModifyCardID';
StoredProc1.Parameters.refresh;
StoredProc1.Parameters.ParamByName('OldCardID').Value:='x1';
StoredProc1.Parameters.ParamByName('NewCardID').Value:='x2';
StoredProc1.ExecProc;
StoredProc1.Parameters.refresh;
StoredProc1.Parameters.ParamByName('OldCardID').Value:='x1';
StoredProc1.Parameters.ParamByName('NewCardID').Value:='x2';
StoredProc1.ExecProc;
#1
自己UP一下。
#2
StoredProc1的存储过程名设置了吗
#3
StoredProc1.procedurename:='ModifyCardID';
StoredProc1.Parameters.refresh;
StoredProc1.Parameters.ParamByName('OldCardID').Value:='x1';
StoredProc1.Parameters.ParamByName('NewCardID').Value:='x2';
StoredProc1.ExecProc;
StoredProc1.Parameters.refresh;
StoredProc1.Parameters.ParamByName('OldCardID').Value:='x1';
StoredProc1.Parameters.ParamByName('NewCardID').Value:='x2';
StoredProc1.ExecProc;