.net操作Oracle函数

.net访问Oracle函数,并显示返回值:

1 表结构(SysFunction)

功能编号    CHAR(8)           
功能名称    VARCHAR2(30)           
上级功能编号    CHAR(8)           
标志    CHAR(1)           

select * from infomanager.sysfunction

1    1           系统功能    0           0
2    2           客户中心    1           0
3    3           潜在客户    2           0
4    4           现在客户    2           1
5    5           历史客户    2           1
6    6           报表中心    1           1
7    7           总公司报表    6           1
8    8           中化工报表    7           1

2 创建函数:

CREATE OR REPLACE FUNCTION GET_SYSFUNCTION_NAME (
    func_id char
)
RETURN VARCHAR2
IS func_name VARCHAR2(25);
BEGIN
    SELECT 功能名称 INTO func_name FROM infomanager.sysfunction
    WHERE 功能编号 = func_id;
   
    RETURN func_name;
END GET_SYSFUNCTION_NAME;

3: asp.net下的测试代码。
 
using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

using  System.Data.OracleClient;

using  HHSCInfor.App_Code.Database;

public   partial   class  _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    
{

        OracleConnection conn 
= new OracleConnection(System.Configuration.ConfigurationManager.AppSettings["DBConnStr"]);

        OracleCommand cmd 
= new OracleCommand();

        cmd.Connection 
= conn;

        cmd.CommandText 
= "GET_SYSFUNCTION_NAME";

        cmd.CommandType 
= CommandType.StoredProcedure;

        cmd.Parameters.Add(
"func_id", OracleType.NVarChar).Value = 1;

        cmd.Parameters.Add(
"func_name", OracleType.NVarChar, 25).Direction = ParameterDirection.ReturnValue;

        conn.Open();

        cmd.ExecuteNonQuery();

        conn.Close();

        Label1.Text 
= cmd.Parameters["func_name"].Value.ToString();
       
    }
   
     
}


页面显示: 系统功能
测试通过:

注:ORA-01036: 非法的变量名/编号
错误原因可能是你使用的不是正确的CommandType类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值