У меня следующий код и хранимая процедура в Oracle и vb.net.Пока я выполняю код, набор данных ничего не возвращает.
Код:
grvResults.PageSize = DirectCast(Profile.GetPropertyValue("rowcount"), Integer)
grvResults.DataSourceID = "dsResults"
Источник данных:
public static DataSet Fetch(string sp, OracleParameter[] inputParams)
{
OracleConnection conn = new OracleConnection(System.Configuration.ConfigurationManager.AppSettings.Get("BertConnection"));
cmd = new OracleCommand(sp, conn);
cmd.CommandType = CommandType.StoredProcedure;
if (inputParams != null)
{
cmd.Parameters.AddRange(inputParams);
}
cmd.Parameters.Add(new OracleParameter("resultset", OracleDbType.RefCursor, ParameterDirection.Output));
DataSet ds = new DataSet();
.
.
.
Хранимая процедура:
CREATE OR REPLACE PROCEDURE BERT."SP_BIA_OBLIGATION_GROUPED" (
p_bfy in varchar2,
p_fy in varchar2,
p_fm in varchar2,
p_appropriation in varchar2,
p_fund in varchar2,
p_fund_center in varchar2,
p_func_area in varchar2,
p_program in varchar2,
p_boc in varchar2,
p_from_inception in char,
p_red_only in char,
resultset out sys_refcursor
)
AS
BEGIN
OPEN resultset FOR
select decode(grouping(t.description), 1, 'TOTAL', t.description) as description,
case when p_from_inception = '0' then sum(t.amount_cfy) else sum(t.amount_inc) end as amount
from mv_bia_obligation_grouped t
.
.
.
group by grouping sets ((), (t.description))
HAVING count(*) != 0;
Хранимая процедура выполняется и возвращает желаемые результатыно при звонке с vb.net данных не дает.пошагово просматривая код, я проверил правильные значения параметров, когда я проверял набор данных, у него только заголовки без данных.У кого-нибудь есть идея, что здесь происходит?
Заранее спасибо.