delphi调用oracle存储过程(ODAC)
CREATE OR REPLACE PACKAGE p_lee01
IS
TYPE cur_lee01 IS REF CURSOR;
END;
CREATE OR REPLACE PROCEDURE pro_lee01(in_a IN NUMBER,out_01 OUT NUMBER,cur_01 OUT p_lee01.cur_lee01) IS
BEGIN
out_01 := 3;
OPEN cur_01 FOR
SELECT * FROM TLEE01;
dbms_output.put_line(IN_a);
END;
-- Create table
create table TLEE01
(
ID NUMBER,
FNAME VARCHAR2(10)
)
----------------------------------
ODAC 两种调用方式
procedure TForm1.Button15Click(Sender: TObject);
begin
orastoredproc1.Params.clear;
OraStoredProc1.StoredProcName := 'pro_lee01';
orastoredproc1.PrepareSQL;
orastoredproc1.ParamByName('in_a').Value := 5;
orastoredproc1.prepare;
OraStoredProc1.ExecProc;
showmessage(OraStoredProc1.ParamByName('out_01').AsString);
ShowValue(OraStoredProc1, Button8.Caption);
end;
procedure TForm1.Button9Click(Sender: TObject);
var
s: string;
begin
s := 'begin pro_lee01(:a,:b,:cur_01 ); end;';
OraQuery1.SQL.Clear;
OraQuery1.SQL.Add(s);
OraQuery1.AutoCommit := false;
OraQuery1.FetchAll := true;
OraQuery1.ParamByName('a').value := 4;
OraQuery1.ParamByName('b').ParamType := ptoutput;
OraQuery1.ParamByName('b').DataType:= ftinteger;
OraQuery1.ParamByName('cur_01').ParamType := ptoutput;
OraQuery1.ParamByName('cur_01').DataType:= ftcursor;
OraQuery1.Open;
showmessage(OraQuery1.ParamByName('b').AsString); //显示返回值
ShowValue(OraQuery1, Button8.Caption);
end;
delphi调用oracle存储过程(ODAC)的更多相关文章
- MyBatis调用Oracle存储过程
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...
- Java调用oracle存储过程通过游标返回临时表数据
注:本文来源于 < Java调用oracle存储过程通过游标返回临时表数据 > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...
- C#调用Oracle存储过程
C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...
- C#调用 oracle存储过程
C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例: /// <summary> /// 判断物料类型是不是总部管控 /// </summa ...
- 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS ...
- c#调用oracle存储过程返回数据集
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS ...
- C#调用Oracle存储过程的方法
C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST( ID NUMBER,//编号 NA ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- python调用oracle存储过程
oracle 存储过程 python调用oracle存储过程 -- 通过cx_Oracle连接 import cx_Oracle # 连接数据库 orcl_engine = 'scott/s123@x ...
随机推荐
- css选择器的对比样式代码精简
通常就分为这三大类:* 选定所有对象.通配选择符(Universal Selector)通常不建议使用通配选择符,因为它会遍历并命中文档中所有的元素,出于性能考虑,需酌情使用一.标签选择器,以开始标签 ...
- ArrayList源码分析(基于JDK1.8)
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...
- Ryubook_1_switch_hub_源码
一.switching hub by openflow: 用Ryu实现一个有如下功能的switching hub. • Learns the MAC address of the host conne ...
- SpringBoot传参转换枚举
有时候,我们传参的时候,希望使用枚举类来当作参数 public enum VipEnum { HUANG(1, "黄钻"), HONG(2, "红钻"); pr ...
- Flask框架 之数据库扩展Flask-SQLAlchemy
一.安装扩展 pip install flask-sqlalchemy pip install flask-mysqldb 二.SQLAlchemy 常用的SQLAlchemy字段类型 类型名 pyt ...
- 谈谈JVM内存区域的划分
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...
- CAD参数绘制椭圆弧(网页版)
在CAD设计时,需要绘制椭圆弧,用户可以设置椭圆弧基本属性. 主要用到函数说明: _DMxDrawX::DrawEllipseArc 绘制椭圆弧.详细说明如下: 参数 说明 DOUBLE dCente ...
- 输入和输出(IO流)
File类的常用方法: File对象的创建和部分方法使用: File file =new File("file\\我是文本.txt"); System.out.println(&q ...
- 用PHP怎么删除某目录下指定的一个文件
举个tp框架的例子 $User = M("message"); $a = $User->]['url']; unlink($url); $User->delete($i ...
- 分布式集群环境下运行Wordcount程序
1.分布式环境的Hadoop提交作业方式与本地安装的Hadoop作业提交方式相似,但有两点不同: 1)作业输入输出都存储在HDFS 2)本地Hadoop提交作业时将作业放在本地JVM执行,而分布式集群 ...