内容发布更新时间 : 2024/11/17 19:33:24星期一 下面是文章的全部内容请认真阅读。
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或其他的方式下我没有环境,没有在做测试。