c 调用oracle的函数,c调用oracle的package里面的函数和存储过程的应用

41528d3028836879cd698677c3999917.gifc调用oracle的package里面的函数和存储过程的应用

下面列举如何在 C# 中调用 ORACLE 的 PACKAGE 的东西, 主要包括 PACKAGE 的方法和 存储过程 一,首先在 ORACLE 里建立如下 PACKAGEPACKAGE 分 SPEC 和 body 两部分.1.SPEC 是声明部分. CREATE OR REPLACE PACKAGE FirstPage istype outlist is ref cursor;Procedure p_get( maxrow in number, minrow in number, return_list out outlist);function f_get(str in varchar2)return varchar2; END FirstPage;2.BODY 是功能实现部分 CREATE OR REPLACE package body FirstPage is Procedure p_get( maxrow in number, minrow in number, return_list out outlist ) is begin open return_list for select * from (select a.*,rownum rnum from IPS_WL_INNOLUXPN a where rownum=minrow; end ;Function f_get(str in varchar2)return varchar2 isstr_temp varchar2(200) := Good Luck! ;beginstr_temp := str_temp || str;return str_temp;end f_get; end FirstPage; 以上,就在 ORACLE 里面建立了一个名字叫 FIRSTPAGE 的 PACKAGE, 这个 PACKAGE 里面有一个名叫 P_GET 的存储过程,它有 3 个参数, 一个是 maxrow,minrow 是输入, result_list 是个 CURSOR, 用来存放传回的数据集 2.C# 部分代码:string connStr = “Data Source=E4MT;user id=mnt;password=mnt“;OracleConnection orcn = new OracleConnection(connStr);//C# 調用 Package 中的 FunctionOracleCommand = new OracleCommand(“FIRSTPAGE.f_get“,orcn);.CommandType = CommandType.StoredProcedure;OracleParameter p1 = new OracleParameter(“str“,OracleType.VarChar,10);p1.Direction = ParameterDirection.; p1.Value = “Andy“;OracleParameter p2 = new OracleParameter(“result“,OracleType.VarChar,100);p2.Direction = ParameterDirection.ReturnValue;.Parameters.Add(p1);.Parameters.Add(p2);orcn.Open();.cuteNonQuery();orcn.Close();//C#調用 Package 中的 Procedure = new OracleCommand(“FIRSTPAGE.p_get“,orcn);.CommandType = CommandType.StoredProcedure;p1 = new OracleParameter(“maxrow“,OracleType.Number);p1.Direction = ParameterDirection.;p1.Value = 50;p2 = new OracleParameter(“minrow“,OracleType.Number);p2.Direction = ParameterDirection.;p2.Value = 10;OracleParameter p3 = new OracleParameter(“return_list“,OracleType.Cursor);p3.Direction = ParameterDirection.Output;.Parameters.Add(p1);.Parameters.Add(p2);.Parameters.Add(p3);DataTable dt = new DataTable();OracleDataAdapter da = new OracleDataAdapter();da.Fill(dt);foreach(DataRow row in dt.Rows){}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值