zoukankan      html  css  js  c++  java
  • 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就可取到返回值.

  • 相关阅读:
    L1-050 倒数第N个字符串 (15分)
    Oracle存储过程的疑难问题
    Linux的细节
    Linux字符设备和块设备的区别
    Shell变量
    游标的常用属性
    Oracle中Execute Immediate用法
    Oracle中的sqlerrm和sqlcode
    Oracle把一个表的数据复制到另一个表中
    Oracle的差异增量和累积增量
  • 原文地址:https://www.cnblogs.com/sun998/p/6510783.html
Copyright © 2011-2022 走看看