我试图调用返回引用游标的Oracle存储过程,我需要从返回的数据生成树视图.我是新手,我有两个问题.
第一个问题是我无法调用该程序.我收到此错误:"调用'OBJECT_HIERARCHY'时参数的数量或类型错误"
而我的第二个问题是,当这个过程返回一个引用游标值时,我不明白我将如何获取该数据?该表中有超过5000条记录,我没有获得该数据,而是一个引用游标值.有人可以解释我如何使用ref游标值获取该数据.我没有使用Oracle的经验.
这是oracle中的过程定义:
CREATE OR REPLACE PROCEDURE SAD.object_hierarchy
(nAppId IN NUMBER,
nParentId IN NUMBER DEFAULT -1,
o_cRefCursor OUT SYS_REFCURSOR)
IS
BEGIN
IF NOT o_cRefCursor%ISOPEN THEN
OPEN o_cRefCursor FOR
SELECT
h.PARENT_ID, h.CHILD_ID, h.H_LEVEL,
o.OBJECT_IDENTIFIER, o.OBJECT_TYPE_ID
FROM
(
SELECT
PARENT_ID, CHILD_ID, LEVEL AS H_LEVEL
FROM OBJECT_RELATIONSHIPS
START WITH PARENT_ID = nParentId --> -1 --= 60170
CONNECT BY PRIOR CHILD_ID = PARENT_ID
) h
INNER JOIN
OBJECTS o
ON
o.OBJECT_ID = h.CHILD_ID AND
O.APPLICATION_ID = nAppId;
END IF;
END object_hierarchy;
Run Code Online (Sandbox Code Playgroud)
这些是表字段定义
Column …Run Code Online (Sandbox Code Playgroud) 我收到此错误"CS1928:
'System.Web.Mvc.HtmlHelper'不包含'DropDownListFor'的定义和最佳扩展方法重载'System.Web.Mvc.Html.SelectExtensions.DropDownListFor(System.Web.Mvc.HtmlHelper,System.Linq.Expressions) .Expression>,System.Collections.Generic.IEnumerable)'有一些无效的参数"
我的控制器看起来像这样
public class IndexController : Controller
{
public ActionResult Index()
{
EpfeSelectScreen model = new EpfeSelectScreen();
var b = (from a in dbEntitiesErste.CONFIG_APPLICATIONS
orderby a.APPLICATION_ID
select new EPFE.CustomDataObjects.CustomObjects
{
Text = a.APPLICATION_NAME,
Value = a.APPLICATION_ID
});
model.Application = b.OrderBy(x => x.Text).ToList();
return View(model);
}
}
Run Code Online (Sandbox Code Playgroud)
我的模特是这样的
public class EpfeSelectScreen
{
public string Search { get; set; }
public string selectedApplication { get; set; }
public List<SelectListItem> Country { get; set; }
public List<CustomObjects> Application { get; set; …Run Code Online (Sandbox Code Playgroud)