Delphi下呼叫有返回值的儲存過程

2021-05-25 06:39:44 字數 1058 閱讀 1052

對於儲存過程的呼叫使用的控制項tadostoredproc。

建立方法和連線都很簡單。

storpro:=tadostoredproc.create(nil);

然後定義儲存過程的名字和輸入引數:

storpro.procedurename:=proname;

storpro.parameters.clear;

storpro.close;

storpro.parameters.createparameter('as_gh', ftstring, pdinput , 10, null);

storpro.parameters.createparameter('as_in', ftstring, pdinput , 100, null);

storpro.parameters.createparameter('as_out', ftstring, pdoutput , 255, null);

大家可能看到函式createparameter中的第3個引數,pdinput 就是用來定義此引數是輸入引數函式輸出引數。具體的引數函式是:儲存過程引數名稱、型別、輸入輸出引數型別、長度還有就是最後乙個引數delphi幫助中說是value: olevariant,不過我沒有用過。一般我賦值為null。

上面的過程是定義這個儲存過程的引數。在呼叫的時候自然需要給引數賦值。

賦值過程為(其中workid和dataid是事先定義好的兩個變數):

storpro.parameters[0].value :=workid;

storpro.parameters[1].value :=dataid;

賦值完成後執行此儲存過程:

storpro.prepared:=true;

storpro.execproc;

好了儲存過程呼叫以後,我們希望得到這次儲存過程返回的引數'as_out'的值。

fxh7622:=storpro.parameters.parambyname('as_out').value;

這個時候儲存過程返回的值就儲存在了fxh7622裡面。

其實獲得儲存過程的返回值比較簡單,希望對大家有幫助。

Delphi下呼叫有返回值的儲存過程。

今天在blog中瞎逛的時候看見 雨寒 寫的一篇關於delphi中如何呼叫儲存過程的文章。寫的很詳細。崇拜之餘就找起了他文章中的毛病 同行相輕啊,鄙視自己一下 發現他的文章中沒有提到對於具有返回值的儲存過程的呼叫方法。覺得應該寫上,於是馬上動手。對於儲存過程的呼叫使用的控制項正如 雨寒 所說的那樣使用...

有返回值的函式呼叫

有返回值的sql儲存過程 sqlconnection sqlconn new sqlconnection conn sqlcommand cmd new sqlcommand cmd connection sqlconn cmd commandtext categoriestest3 cmd com...

有返回值和無返回值函式

前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在...