应用程序端如何获得存储过程用Return 返回的数据?

zhiguo2008 2008-07-12 10:35:11
我写有存储过程:
   alter proc g_modifyWealth
@userID int,
@points int
as
begin tran
update ....
if @@error<>0
goto error
insert into ...
if @@error<>0
goto error
commit tran
return 0

error:
rollback tran
return 1

go
調用:

declare @i int
exec @i=g_modifyWealth 參數1,參數2
select @i--1時失敗,0時成功


如何在asp.net中获得这个@i值,SqlCommand.Parameter.add(?)怎么写?

...全文
149 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiguo2008 2008-07-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 seesea125 的回复:]
create producure execproc
declare @i int output
exec @i=g_modifyWealth 參數1,參數2
select @i--1時失敗,0時成功
.............

string insertuser = @"execproc";//存储过程名字
SqlCommand cm = new SqlCommand();
cm.Connection = MyConnection51;
cm.Parameters.Add(new SqlParameter("@i", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, _id));
cm.Com…
[/Quote]
是不是有点问题啊?我的存储过程中没有定义什么@i 输出参数啊,只有return 语句,如何获得return 的返回值呢?
seesea125 2008-07-12
  • 打赏
  • 举报
回复
create producure execproc
declare @i int output
exec @i=g_modifyWealth 參數1,參數2
select @i--1時失敗,0時成功
.............

string insertuser = @"execproc";//存储过程名字
SqlCommand cm = new SqlCommand();
cm.Connection = MyConnection51;
cm.Parameters.Add(new SqlParameter("@i", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, _id));
cm.CommandText = insertuser;
cm.CommandType = CommandType.Text;
cm.ExecuteNonQuery();
int _id;
_id = (Int32)cm.Parameters["@i"].Value;
WDFrog 2008-07-12
  • 打赏
  • 举报
回复
object obj=xxx.ExecuteXXX("xxxxx")
建议你写成
output 类型的

Set retVar=0
return
amandag 2008-07-12
  • 打赏
  • 举报
回复
SqlConnection cn = new SqlConnection("server=.;uid=sa;pwd=;database=yourDB");
SqlCommand cmd = new SqlCommand("g_modifyWealth", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ReturnValue", SqlDbType.Int);
cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;
cmd.Parameters.AddWithValue("@userID ", yourUserID);
cmd.Parameters.AddWithValue("@points ", yourPoints);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();

Label1.Text = cmd.Parameters["@ReturnValue"].Value.ToString();


切计存储过程返回值这个参数必须放在第一个,名字无所谓,最好在连接关闭后得到存储过程的返回值
tomtory 2008-07-12
  • 打赏
  • 举报
回复
ParameterDirection.ReturnValue

不是Output吧
多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)内容概要:本文介绍了基于Matlab代码实现的多源动态最优潮流的分布鲁棒优化方法,适用于IEEE118节点电力系统。该方法结合两阶段鲁棒模型与确定性模型,旨在应对电力系统中多源不确定性(如可再生能源出力波动、负荷变化等),提升系统运行的安全性与经济性。文档还列举了大量相关的电力系统优化研究案例,涵盖微电网调度、电动汽车集群并网、需求响应、配电网重构等多个方向,并提供了YALMIP等工具包的网盘下载链接,支持科研复现与进一步开发。整体内容聚焦于电力系统建模、优化算法应用及鲁棒性分析。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源系统优化的工程技术人员;熟悉优化建模(如鲁棒优化、分布鲁棒优化)者更佳。; 使用场景及目标:①开展电力系统动态最优潮流研究,特别是含高比例可再生能源的场景;②学习和复现分布鲁棒优化在IEEE118等标准测试系统上的应用;③进行科研项目开发、论文复现或算法比较实验;④获取相关Matlab代码资源与仿真工具支持。; 阅读建议:建议按文档结构逐步浏览,重点关注模型构建思路与代码实现逻辑,结合提供的网盘资源下载必要工具包(如YALMIP),并在Matlab环境中调试运行示例代码,以加深对分布鲁棒优化方法的理解与应用能力。

62,256

社区成员

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

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

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

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