使用ASP.Net的Oracle Procedure RowType

时间:2014-05-18 19:30:33

标签: asp.net oracle odp.net

我有一个锁定数据库,其中包含一些有用的API,但我正在努力寻找最终的调用来检索一个值。

set serveroutput on;
declare
v_ne_Id number;
begin
v_ne_id := package.get_str('10800002').str_ne_id;
dbms_output.put_line(v_ne_id);
end;
/

上面的代码通过SQL plus完美地获得了我的结果,但是我在.net应用程序中使用它。我如何在asp.net中检索值?

我已尝试直接编码上面的pl / SQL,但这不会返回任何值。

1 个答案:

答案 0 :(得分:0)

经过多次试验和错误后,我发现了......这可能对某人有所帮助,也可能无效。

String SQL = " ";

            SQL += " begin ";
            SQL += " :v_ne_id := package.get_str('10800002').str_ne_id; ";
            SQL += "  ";
            SQL += " end;";

            OracleParameter p_description = new OracleParameter();
            p_description.Direction = ParameterDirection.Output;
            p_description.OracleDbType = OracleDbType.Decimal;
            p_description.Value = "";
            p_description.ParameterName = "v_ne_id";

            using (OracleConnection connection = new OracleConnection(oracleconnection.thisConnString()))
            {
                connection.Open();

                OracleCommand command = new OracleCommand(SQL, connection);


                command.Parameters.Add(p_description);


                command.ExecuteNonQuery();


            }

            return p_description.Value.ToString();