SQLStoredProc调用数据库存储过程

delphi 中用SQLStoredProc控件可调用数据存储过程。

下图为oracle 11g中写的存储过程IN表示输入参数,OUT表示输出参数,也可能用IN OUT表出输入输出参数。这里存储过程名为TESTPROC,功能:根据输入的param1值把EMP表中该条记录ENAME字段的值修改为param2。

下图为效果图:

**************************************************************************************

具体操作:

**************************************************************************************

DBGrid1.DataSource->DataSource1.DataSet->ClientDataSet1.ProviderName->DataSetProvider1.DataSet->

SQLDataset1.SQLConnection->SQLConnection1具体数据库(这里连接的是oracle中的EMP表);

SQLDataSet1.CommandText:=SELECT * FROM EMP;ClientDataSet1.Active:=true;

SQLStoredProc1.SQLConnection->SQLConnection1。

**************************************************************************************

主要代码:

**************************************************************************************

复制代码
procedure TForm3.Button1Click(Sender: TObject);
begin
    SQLStoredProc1.Params.Clear;
    SQLStoredProc1.Params.CreateParam(ftInteger,'p1',ptInput);
    SQLStoredProc1.Params.CreateParam(ftString,'p2',ptInput);
    SQLStoredProc1.Params.ParamByName('p1').Value:=StrToInt(Edit1.Text);
    SQLStoredProc1.Params.ParamByName('p2').Value:=Edit2.Text;
    SQLStoredProc1.StoredProcName:='TESTPROC';
    SQLStoredProc1.ExecProc;
    ClientDataSet1.Refresh
end;
复制代码

注:如果存储过程有返回值,SQLStoredProc1.Params.ParamByName(输出参数名).Value就可取到返回值.

原文地址:https://www.cnblogs.com/fhweixin/p/13744197.html