zoukankan      html  css  js  c++  java
  • Oracle数据库中的Function调用参数问题

    在工作中用到了Oracle数据库,需要调用Oracle的Function,Function返回的游标和结果都是通过参数来获取的

    比如Function定义如下:

     1 FUNCTION getlinkuserinfo(inintuserid INTEGER,
     2                              ininttype   INTEGER,
     3                              outcurlist  OUT ref_cursor) RETURN INTEGER IS
     4     BEGIN
     5         OPEN outcurlist FOR
     6             SELECT *
     7               FROM tbuserlink
     8              WHERE qidianuserid = inintuserid AND
     9                    intype = decode(ininttype, -1, intype, ininttype) AND
    10                    status = 0;
    11     
    12         RETURN 0;
    13     END;

     那么调用这个Function的时候,就要定义4个参数,如下:

    1 IDataParameter[] paramArray = new IDataParameter[]{
    2                                 ado.GetReturnParameter(),
    3                                 ado.GetParameter("inintuserid", DbType.Int32, userid),
    4                                 ado.GetParameter("ininttype", DbType.Int32, typeid),
    5                                 ado.GetParameter("outcurlist", DbType.Object, ParameterDirection.Output)
    6                             };

     一点点心得,记下了!!!

    最后,Function如果定义在Package 里面的话,调用的时候要加上package

     this.AdoHelper.ExecuteNonQuery(this.ConnectionString, CommandType.StoredProcedure, "pkg_voteticket.uservotecount_month", paramArray);
    pkg_voteticket包名,包可以理解为一个类,里面放了很多一类的方法或存储过程,调用包中的方法:包名.方法名
  • 相关阅读:
    Linux C语言错误处理
    [精彩] 关于LAN上有两个相同MAC地址的问题
    毕业一年 写给自己的警戒书
    原始套接字简单应用
    李彦宏建言创业者:准备失败 勇于创新 专注如一
    Java programming problem in linux box: Exception in thread "main" java.lang.NoClassDefFoundError
    Java新手必看之Hello World 攻略
    Android 开发简介
    libnet应用之arp包发送
    TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [2])
  • 原文地址:https://www.cnblogs.com/zxx193/p/3419695.html
Copyright © 2011-2022 走看看