oracle 过程如下
create or replace package pk_forums
is
type mytype is ref cursor;
end; CREATE OR REPLACE PROCEDURE forums_SiteSettings_Get
(
-- 这里是上面包中的类型,输出参数
inApplication in nvarchar2,
mycs out pk_Forums.mytype
)
AS
temp1 number(1) :=0;
BEGIN
IF inApplication = '*'
then
open mycs for
SELECT
*
FROM
forums_SiteSettings;
ELSE
SELECT count(SiteID) into temp1 FROM forums_SiteSettings WHERE Application = inApplication;
if temp1=0 then RETURN;
else
open mycs for
SELECT
*
FROM
forums_SiteSettings
WHERE
Application = inApplication;
end if;
END if;
END forums_SiteSettings_Get;
c# 部分代码
OracleCommand command = new OracleCommand("forums_SiteSettings_Get", connection);
OracleDataReader reader;
SiteSettings settings = new SiteSettings(); // Mark as stored procedure
command.CommandType = CommandType.StoredProcedure; // Add parameters
command.Parameters.Add("inApplication", OracleType.NVarChar).Value = application;
OracleParameter p1=new OracleParameter("mycs",OracleType.Cursor);
p1.Direction=System.Data.ParameterDirection.Output;
command.Parameters.Add(p1);
try
{
connection.Open();
}
catch (OracleException sqlException)
{
throw new ForumException(ForumExceptionType.DataProvider, "Unable to open connection to data provider.", sqlException);
}
OracleDataAdapter da=new OracleDataAdapter(command); //调试
reader = command.ExecuteReader();错误提示 未执行语句句柄
执行到了reader = command.ExecuteReader(); reader 没数据
自己调试发现OracleDataAdapter da 中有数据
请高手指点一下 小弟正在郁闷ing
create or replace package pk_forums
is
type mytype is ref cursor;
end; CREATE OR REPLACE PROCEDURE forums_SiteSettings_Get
(
-- 这里是上面包中的类型,输出参数
inApplication in nvarchar2,
mycs out pk_Forums.mytype
)
AS
temp1 number(1) :=0;
BEGIN
IF inApplication = '*'
then
open mycs for
SELECT
*
FROM
forums_SiteSettings;
ELSE
SELECT count(SiteID) into temp1 FROM forums_SiteSettings WHERE Application = inApplication;
if temp1=0 then RETURN;
else
open mycs for
SELECT
*
FROM
forums_SiteSettings
WHERE
Application = inApplication;
end if;
END if;
END forums_SiteSettings_Get;
c# 部分代码
OracleCommand command = new OracleCommand("forums_SiteSettings_Get", connection);
OracleDataReader reader;
SiteSettings settings = new SiteSettings(); // Mark as stored procedure
command.CommandType = CommandType.StoredProcedure; // Add parameters
command.Parameters.Add("inApplication", OracleType.NVarChar).Value = application;
OracleParameter p1=new OracleParameter("mycs",OracleType.Cursor);
p1.Direction=System.Data.ParameterDirection.Output;
command.Parameters.Add(p1);
try
{
connection.Open();
}
catch (OracleException sqlException)
{
throw new ForumException(ForumExceptionType.DataProvider, "Unable to open connection to data provider.", sqlException);
}
OracleDataAdapter da=new OracleDataAdapter(command); //调试
reader = command.ExecuteReader();错误提示 未执行语句句柄
执行到了reader = command.ExecuteReader(); reader 没数据
自己调试发现OracleDataAdapter da 中有数据
请高手指点一下 小弟正在郁闷ing
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货