VFP由于其通俗易用深受广大开发人员的欢迎但其安全性与稳定性却不十分完善而Oracle在此方面的优点是有口皆碑的两者结合能开发出高效安全和稳定的应用系统有关在VFP中调用Oracle存储过程方法的资料较少下面就此举一简单例子希望起到抛砖引玉的作用此方法适用于用VFP作前端开发工具Oracle作后端数据库的C/S开发方法
在Oracle端建有如下表和存储过程
表gzb如下
SQL〉select * from gzb; ID
GZ
存储过程如下
create or replace procedure p_update—gzb (p—id in number p—gz in number) as
begin
update gzb set gz=p—gz where id=p—id;
commit;
end;
在前端(VFP端)假设已建立好与Oracle的链接′vfplink′(具体步骤可以参阅VFP的帮助文档)
打开链接
nhand=sqlconnect(′vfplink′)
&&nhand为返回的链接句柄
调用Oracle的存储过程p—update—gzb:
此存储过程有两个参数分别是id与gz 我们设要更新id为的员工的gz为则可以执行
sqlexec(nhand ″{call p—update—gzb()}″)
如果执行成功则返回失败则返回-我们可以执行以下命令验证存储过程是否成功执行了
sqlexec(nhand′select * from gzb′)
brow
结果是
ID
GZ
可见Oracle的存储过程p—update—gzb已经成功执行了最后别忘了断开连接
disconnect(nhand)
以上例子在VFPOracle 环境下运行通过