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就可取到返回值.

posted on 2017-03-06 16:59  sun繁星点点  阅读(1566)  评论(0编辑  收藏  举报