VFP中调用Oracle的存储过程

VFP由于其通俗、易用,深受广大开发人员的欢迎,但其安全性与稳定性却不十分完善。而Oracle在此方面的优点是有口皆碑的,两者结合,能开发出高效、安全和稳定的应用系统。有关在VFP中调用Oracle存储过程方法的资料较少,下面就此举一简单例子,希望起到抛砖引玉的作用。 此方法适用于用VFP作前端开发工具、Oracle作后端数据库的C/S开发方法。

在Oracle端,建有如下表和存储过程:

表gzb如下:

   SQL〉select * from gzb; ID
   GZ
   1
   3050
   3
   2500
   2
   4000.8

存储过程如下:

     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为2的员工的gz为5000,则可以执行:

sqlexec(nhand , ″{call p—update—gzb(2,5000)}″)

如果执行成功,则返回1,失败则返回-1。我们可以执行以下命令验证存储过程是否成功执行了:

sqlexec(nhand,′select * from gzb′)

brow

结果是:

ID GZ
1 3050
3 2500
2 5000

可见,Oracle的存储过程p—update—gzb已经成功执行了,最后,别忘了断开连接:

disconnect(nhand)

以上例子在VFP6.0、Oracle 7.3.3 环境下运行通过。

时间: 2024-12-23 07:12:36

VFP中调用Oracle的存储过程的相关文章

如何在Delphi中调用oracle的存储过程返回数据集

oracle|存储过程|数据 选自CSDN http://search.csdn.net/Expert/topic/2280/2280860.xml?temp=2.169436E-02 论坛中JCC0128 网友的发言 [delphi+oracle报表解决方案(一)]delphi中调用oracle的存储过程(分带返回游标,不返回值两种)  关键字: delphi ,oracle存储过程,游标,返回数据集,报表 注:delphi 6+ oracle 8.1.6 一.创建包与包体 1.附:建表aac

数据库-如何在vfp中调用某一特定word文档的邮件合并功能?

问题描述 如何在vfp中调用某一特定word文档的邮件合并功能? 如下操作应该怎么实现? 已经做好了一个需要邮件合并的word模板,插入了合并域,引用了vfp数据库中的数据, 在VFP中通过表单录入数据存入数据库, 将刚才录入的数据通过一个vfp的程序或命令在word文档中进行邮件合并生成需求的文档然后保存到指定位置. 想做这样一个东西,可是最后一步里不知道怎么写.

jsp中调用Bean,然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

jsp中调用Bean,然后在Bean中调用oracle存储过程。

js|oracle|存储过程 新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底.      最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了. 言归正传.      建立一个登录系统,要求达到以下目的.      1.用户通过Bean来认证以及得到得到用户信息.      2.记录用户登录信息,如用户登录次数,最后登录时间.      3.记录操作日志.     未解决及疑惑的问题:     1.用户登录后的Session是否可以通过B

jsp中调用Bean然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

Java 调用Oracle的存储过程问题

问题描述 在程序中,我已经和数据库连接上了但是在执行CallableStatementcs=con.prepareCall("{callp3()}");st.execute(); 的时候在那个execute()中出不来一直在运行,但是把存储过程名字写错误了他会有相关的异常提示,最后我就改成执行普通的sql语句Statementst=con.createStatement();st.executeUpdate("updateempsetsal=129whereename='KI

JSP中调用SQL Server存储过程实例讲解

下面介绍一个JSP调用SQL Server存储过程的实例: 创建表: CREATE TABLE [BookUser] (     [UserID] [int] IDENTITY (1, 1) NOT NULL ,     [UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,     [Title] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,     [Guid]

Jsp中调用Oracle存储过程的小例子

js|oracle|存储过程 以下的例子转自csdn论坛: *执行一条insert语句并传参数*/create or replace procedure p_test2(i in number) asbegininsert into t values (i,'x'||to_char(i));commit;end;/ <%@ page language="java" contentType="text/html;charset=gb2312"%><%

rails中如何调用oracle的存储过程或postgresql的函数?

问题描述 我是初学者,很多方面不懂,请多海涵假设有二个过程:1. get(a text) as refcursor ;给参数a,按a查询返回一个数据集2 insert(a text) as bigint; 将参数a传进过程中后返回一个bigint的值class myclass... def getdata(a) begin sqlStr = "call get("+a+")" sql = ActiveRecord::Base.connection() res = s