简单 问题 下班结帖!!

happy664618843 2010-09-28 03:42:12
存储过程
ALTER PROCEDURE [dbo].[Pro_Categoryunique]
(
@name varchar(50),
@Ename varchar(50),
@outparam int output
)
as
begin
if exists(select 1 from tg_categorys where name=@name)
set @outparam=1;
else if exists(select 1 from tg_categorys where Ename=@Ename)
set @outparam=2

select @outparam;
end

调用
SqlParameter[]  sqlparams={new SqlParameter("@name",SqlDbType.VarChar),new SqlParameter("@Ename",SqlDbType.VarChar),new SqlParameter("@outparam",SqlDbType.Int)};
sqlparams[0].Value = context.Request.QueryString["name"].ToString();
sqlparams[1].Value = context.Request.QueryString["Ename"].ToString();
sqlparams[2].Direction = ParameterDirection.Output;

int i = FrameWork.Data.SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "Pro_Categoryunique",sqlparams);
if(i>0)调试到这里总是为-1怎么回事 怎么执行带输出参数存储过程(ASP.NET) ExcuteReader()???
{

////获取返回值 1表示中文名称己存在 2表示英文名称存在
//int returnVal = Convert.ToInt32(sqlparams[2].Value.ToString());
}

...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
whitehair 2010-09-28
  • 打赏
  • 举报
回复
学习。
anliuty 2010-09-28
  • 打赏
  • 举报
回复
注释的那行就是取输出参数的值啊,

另外用输出参数的方式的话,存储过程中select @outparam;这句没必要
chdiapojia 2010-09-28
  • 打赏
  • 举报
回复
每天回复 有分拿 虽然少点,但日积月累一年有3650分
moudy 2010-09-28
  • 打赏
  • 举报
回复
ExecuteNonQuery返回的是影响的行数。

你的本意是获取输出参数吧。注释中不就有啊
int returnVal = Convert.ToInt32(sqlparams[2].Value.ToString());
孟子E章 2010-09-28
  • 打赏
  • 举报
回复
返回参数的方法

http://bbs.5d.cn/Detail.aspx?forum=10&id=1357160&page=1
T_long 2010-09-28
  • 打赏
  • 举报
回复
ExecuteScalar试一试…………
damjmk2 2010-09-28
  • 打赏
  • 举报
回复
把数据库执行的语句打出来,可能是执行失败
边城的刀声 2010-09-28
  • 打赏
  • 举报
回复
执行带输出参数存储过程(ASP.NET) ExcuteReader(),就可以,执行完后,取下值
Int32 result = sqlparams[2].Value
边城的刀声 2010-09-28
  • 打赏
  • 举报
回复
ExecuteNonQuery只能insert\delete\update 返回数值,对selecte总是返回-1

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧