我有:
PROCEDURE GET_1(
cv_1 OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN cv_1 FOR SELECT 1 FROM DUAL;
END;
PROCEDURE GET_2(
cv_2 OUT SYS_REFCURSOR
)
AS
BEGIN
GET_1(cv_2);
END;
var conn = new OracleConnection(ConnStr);
conn.Open();
var cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "GET_2";
cmd.CommandType = CommandType.StoredProcedure;
cmd.BindByName = true;
var orlPara = new List<OracleParameter>();
var cv_2 = new OracleParameter("cv_2", OracleDbType.RefCursor, ParameterDirection.Output);
orlPara.Add(cv_2);
cmd.Parameters.AddRange(orlPara.ToArray());
var adapter = new OracleDataAdapter(cmd);
var ds = new DataSet();
adapter.Fill(ds);
return ds;
当我在SQL Developer GET_2
中运行时,它返回结果,但是当我使用C#调用GET_2
时,只返回没有数据的头,那么我需要做什么?