VFP中調用Oracle的預存程序

來源:互聯網
上載者:User

 來源:網路/責編:編程入門 作者:不詳

  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 環境下運行通過。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.