Oracle9i存储过程的调用[原创] 下载本文

内容发布更新时间 : 2024/5/5 1:37:59星期一 下面是文章的全部内容请认真阅读。

Oracle9i存储过程的调用

前言:

本人近期由于需要,在Oracle9i数据库内使用存储过程,刚开始感觉使用比较困难,在查找一番资料后,经过测试对Oracle9i的存储过程有了一点体会,特此写出以供相互交流。

注:存储过程的编写及注意事项在网上有很多,在此就不在叙述,此处只是把调用的方法及注意事项写出来。 一、 Delphi7中的调用

在Oracle9i中编写所需的存储过程; 1、

使用TADOStoredProc控件

1)、设置ADOStoredProc1的Connection或ConnectionString属性,连接到数据库;

2)、设置ADOStoredProc1的ProcedureName属性,此处会将数据内的存储过程列出,选择所需的即可;

3)、有参的打开Parameters查看存储过程内的参数; 4)、var sqlstr;

Sqlstr:=’dddd’; ADOStoredProc1.Close;

ADOStoredProc1.Parameters[0].Value:='0'; ADOStoredProc1.Parameters[1].Value:='50'; ADOStoredProc1.Parameters[2].Value:=sqlstr;

ADOStoredProc1.ExecProc;

5)、ExecProc方法是没有返回值的,open是有返回值;

6)、Parameters[0]、[1]、[2]应了Oracle9i存储过程内的参数; 2、使用TADOQuery控件

1)、设置ADOQuery1的连接属性连接到数据库; 2)、ADOQuery2.Close;

ADOQuery2.SQL.Text:='{call aaainsbbb(''0'',''50'',''ddd1'')}';

ADOQuery2.ExecSQL;

3)、其中(''0'',''50'',''ddd1'')对应了Oracle9i存储过程内的参数;

二、在ASP VBSCRIPT调用

1、rssql=\conn.Execute(rssql) 2、 3、

conn为ASP数据库连接; Execute(rssql)为执行SQL语句;

体会:

由于使用的是Delphi7与ASP所以就在这两种环境下做了测试,其实在这两种环境下使用的都是ADO方式,我认为ADO方式是通用的与编程语言无关,在其他编程语言中使用ADO方式具可用此方法调用Oracle9i的存储过程。

在JDBC或其他的方式下我没有环境,没有在做测试。