來源:網路/責編:編程入門 作者:不詳
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 環境下運行通過。