[求助]存储过程只执行一部分的问题
这是我的存储过程: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)
我设置了断点,也能够全部执行,可就是只执行了一半,好奇怪哦