c# 调用oracle function,在C#中如何利用adodb调用oracle中定义的函数

调用存储过程,我利用下面的代码能实现:

ADODB.Command adoCmd;

GeneralCommon.M_CN1.CursorLocation = ADODB.CursorLocationEnum.adUseServer;

adoCmd = new ADODB.Command();

Conn.BeginTrans();

adoCmd.ActiveConnection = GeneralCommon.M_CN1;

adoCmd.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc;

adoCmd.CommandText = Proce_Name;

//Ceate Input Parameter

for (iCount = 0; iCount <= Para_Info.Length – 1; iCount++)

{

adoCmd.Parameters.Append(adoCmd.CreateParameter(“”, ADODB.DataTypeEnum.adVariant, ADODB.ParameterDirectionEnum.adParamInput, 0, null));

}

//Input Parameters Value Setting

for (iCount = 0; iCount <= Para_Info.Length – 1; iCount++)

{

adoCmd.Parameters[iCount].Value = Para_Info[iCount];

}

object value = null;

adoCmd.Parameters.Append(adoCmd.CreateParameter(“arg_e_code”, ADODB.DataTypeEnum.adInteger, ADODB.ParameterDirectionEnum.adParamOutput, 1, value));

adoCmd.Parameters.Append(adoCmd.CreateParameter(“arg_e_msg”, ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 256, value));

adoCmd.Execute(out value);

//Process Error Check

if (adoCmd.Parameters[“arg_e_code”].Value.ToString() != “0”)

{

ret_Result_ErrCode =int.Parse( adoCmd.Parameters[“arg_e_code”].Value.ToString());

ret_Result_ErrMsg = (string)(adoCmd.Parameters[“arg_e_msg”].Value);

Conn.RollbackTrans();//1123

sErrMessg = (string)(“Error Code : ” + ret_Result_ErrCode + “\r\n” + “Error Mesg : ” + ret_Result_ErrMsg);

Gp_MsgBoxDisplay(sErrMessg, “”, “”);

returnValue = false;

}

else

{

Conn.CommitTrans();

returnValue = true;

}

adoCmd = null;

Cursor.Current = Cursors.Default;

if (GeneralCommon.M_CN1.State != 0)

{

GeneralCommon.M_CN1.Close();

}

}

catch (Exception ex)

{

adoCmd = null;

Conn.RollbackTrans();

}

return returnValue;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值