DELPHI儲存過程呼叫

2021-07-15 12:54:57 字數 1249 閱讀 7330

網上對該問題的帖子很多,但是經常不是很全面,筆者在使用時也遇到了很多實際問題,比如引數不存在啊、型別沒有引用啊等等。下面我盡量細緻地來通過例子實現一下,如果還有不正確的地方,希望得到高手指點,有興趣的可以和我一同**。

[email protected]

首先,我們使用一種簡單的方式,即通過控制項的方式來定義儲存過程和資料來源。

新建乙個單元,命名為:datamconn,在加入乙個ado單元下的adostoredproc,這裡命名為adosptempabove ,再加入data access單元下的乙個datasource,這裡命名為datasourceabove,設定datasourceabove的dataset屬性為 adosptempabove,當然這個屬性也可以在程式中指定。

下面,可以在另乙個單元中新增乙個datagrid,這裡的命名為dgabove。下面的**加了詳細注釋。

with datamconn.adosptempabove do

begin

procedurename := 'getabove';   //指定儲存過程名稱

parameters.clear;              //清除原有引數

//以下建立了兩個新的引數,關於如何傳遞表名做為引數請參我在 資料庫 分類的高階應用中寫的文章。

parameters.createparameter(

'@tablename',ftstring,pdinput,20,0);

parameters.createparameter(

'@strdate',ftstring,pdinput,20,0);

//以下為引數賦值

parameters.parambyname(

'@tablename').value := temptablename;

parameters.parambyname(

'@strdate').value := strdate;

tryopen;   //返回結果集用open,否則用eexcproc;

except

begin

showmessage('開啟表錯誤');

exit;

end;

end;

//如果沒有在控制項屬性中設定datasourceabove的dataset屬性,可以在這裡設定:

:= datamconn.adosptempabove 

dgabove.datasource := datamconn.datasourceabove;

end;

DELPHI儲存過程呼叫

首先,我們使用一種簡單的方式,即通過控制項的方式來定義儲存過程和資料來源。新建乙個單元,命名為 datamconn,在加入乙個ado單元下的adostoredproc,這裡命名為adosptempabove 再加入data access單元下的乙個datasource,這裡命名為datasource...

DELPHI如何呼叫儲存過程

第一步建立儲存過程 create proc myabc a int b int,c int output asset c a b 在sql中使用查詢分析器執行 declare a int,b int,c int set a 250 set b 40 exec myabc a,b,c output 注...

DELPHI如何呼叫儲存過程

第一步建立儲存過程 create proc myabc a int b int,c int output asset c a b 在sql中使用查詢分析器執行 declare a int,b int,c int set a 250 set b 40 exec myabc a,b,c output 注...