mah*_*her 7 delphi oracle function
我在Oracle中创建了一个函数,它在特定的表中插入记录,并根据函数中的内容返回输出.例如(ins_rec返回号码)
如何在Delphi中调用此函数并查看其输出?
我得到了sql plus的回复(谢谢),但我需要知道如何在Delphi中做到这一点
只需将用户定义的函数作为列名称传递给查询,它就可以工作.
例:
Var
RetValue: Integer;
begin
Query1.Clear;
Query1.Sql.Text := 'Select MyFunction(Param1) FunRetValue from dual';
Query1.Open;
if not Query1.Eof then
begin
RetValue := Query1.FieldByName('FunRetValue').AsInteger;
end;
end;
Run Code Online (Sandbox Code Playgroud)
小智 5
如何实现它可能取决于你使用的是什么数据库访问库(BDE?dbExpress?ADO?其他),有些可能提供一个可能与函数一起使用的"存储过程"组件.
它使用匿名PL/SQL块来调用函数(以及读取返回值的参数)的一般方法,PL/SQL类似于Pascal ......:
Qry.SQL.Clear;
Qry.SQL.Add('BEGIN');
Qry.SQL.Add(' :Rez := ins_rec;');
Qry.SQL.Add('END;');
// Set the parameter type here...
...
Qry.ExecSQL;
...
ReturnValue := Qry.ParamByName('Rez').Value;
Run Code Online (Sandbox Code Playgroud)
我不会使用函数,但是具有OUT值的存储过程.此外,Oracle提供的包是一种非常好的组织过程和函数的方法,它们还提供了有用的功能,如会话变量和初始化/完成部分......非常类似于Delphi单元.
归档时间: |
|
查看次数: |
6314 次 |
最近记录: |