如何在 C# 环境中将参数传递给 Oracle 函数
本文关键字:参数传递 Oracle 函数 环境 | 更新日期: 2023-09-27 18:36:33
>我在网上搜索以执行oracle存储函数并获取其值我发现了与此类似的东西,但我并不真正理解它,所以我无法找出它的错误是什么......请有人解释一下打开与数据库的连接后会发生什么?
public void Get_Office_Desc()
{
string oradb = "Data Source=mysource;User Id=emp;Password=00;";
var v_Office_code = Current_Office_code.Text;
string CommandStr = "F_Get_Office_Desc(:pOfficeCode)";
using (OracleConnection conn = new OracleConnection(oradb))
using (OracleCommand cmd = new OracleCommand(CommandStr, conn))
{
conn.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new OracleParameter("pOfficeCode", v_Office_code));
cmd.Parameters.Add("pOfficeDesc", OracleType.Char, 128);
cmd.Parameters["pOfficeDesc"].Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
var pOfficeDesc = Convert.ToString(cmd.Parameters["pOfficeDesc"].Value);
messagebox.show(pOfficeDesc);
}
}
您需要将 CommandType 设置为 StorageProcedure - 如下所示:
cmd.CommandType = CommandType.StoredProcedure;