标题:[求助]存储过程只执行一部分的问题
只看楼主
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
结帖率:40%
 问题点数:0 回复次数:2 
[求助]存储过程只执行一部分的问题
这是我的存储过程:

CREATE proc MaxNumber_Update
@MaxNumber int,
@Sno Varchar(15)
AS
Begin
Declare @MaxNumber2 int
Select @MaxNumber2=MaxNumber From Students Where Sno=@Sno
Declare @RemainNumber int
Select @RemainNumber=RemainNumber From Students Where Sno=@Sno
If @MaxNumber>@RemainNumber and @MaxNumber<@MaxNumber2
Begin
Update Students Set MaxNumber=@MaxNumber Where Sno=@Sno
Update Students Set RemainNumber=RemainNumber-(@MaxNumber2-@MaxNumber) Where Sno=@Sno
End
If @MaxNumber>@MaxNumber2
Begin
Update Students Set MaxNumber=@MaxNumber Where Sno=@Sno
Update Students Set RemainNumber=RemainNumber+(@MaxNumber-@MaxNumber2) Where Sno=@Sno
End
End
在查询分析器里,执行的时候,没有一点问题,可是在应用程序段,红色的部分却不能被执行,期余的部分能执行,这个问题捆饶了我很久,另外,我的程序端的代码如下:
  mycon.Open()
sqlstr = "Exec MaxNumber_Update @MaxNumber=@a,@Sno=@b"
Dim a As New SqlParameter("@a", SqlDbType.Int)
Dim b As New SqlParameter("@b", SqlDbType.VarChar, 15)
a.Value = TextBox4.Text
b.Value = TextBox1.Text
mycom1 = New SqlCommand(sqlstr, mycon)
mycom1.Parameters.Add(a)
mycom1.Parameters.Add(b)
mycom1.ExecuteNonQuery()
MessageBox.Show("呵呵,成功了!", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Warning)
我设置了断点,也能够全部执行,可就是只执行了一半,好奇怪哦
搜索更多相关主题的帖子: blank target 
2007-01-09 19:07
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
你确认查询分析器运行时使用的参数 和 程序端调用的参数一样吗

2007-01-11 12:24
ninggang
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:637
专家分:0
注 册:2006-11-1
得分:0 
肯定是一样的

大家一起努力,共同打造未来!!
2007-01-14 19:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-115116-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.650881 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved