我的删除代码隐藏如下:
protected void delete(object sender, GridViewDeleteEventArgs e)
{
sc.connection();
//string st = "delete";
int id = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("lblpro2"))).Text);
SqlCommand cmd = new SqlCommand("maniputale", sc.con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@action", "delete");
cmd.Parameters.AddWithValue("@mysid", 6);
//cmd.Parameters.Add("@action", SqlDbType.VarChar,50).Value= st;
//cmd.Parameters.Add("@mysid", SqlDbType.Int).Value = id;
cmd.ExecuteNonQuery();
}
存储过程是:
ALTER PROCEDURE maniputale
(
@mysid int = null,
@myproducts nvarchar(20) = null,
@mydescription varchar(50) = null,
@myprice int = null,
@mybrand varchar(20) = null,
@mymid int = null,
@action varchar = null
)
as
Begin
set NOCOUNT ON;
if @action = 'insert'
Begin
Insert into sub_catTbl(products,description,price,brand,mid)
values(@myproducts,@mydescription,@myprice,@mybrand,@mymid)
End
else if @action = 'select'
Begin
select * from sub_catTbl
End
else if @action = 'update'
Begin
update sub_catTbl set products=@myproducts,description = @mydescription,price =@myprice,brand=@mybrand,mid=@mymid
End
else if @action = 'delete'
Begin
delete from sub_catTbl where sid=@mysid;
End
End
但它不起作用。它既没有显示任何变化也没有显示错误。
有没有办法检查存储过程是否正在执行,就像我们有断路器来检查.cs文件一样?
答案 0 :(得分:1)
您可以像使用c#代码一样在SSMS中运行SP并进行调试。但是,如果您只是手动运行它很可能会失败,您将看到返回错误;如果您的SP抛出错误,则默认情况下不会返回到您的Web应用程序。
以下是调试时的结果:
您可以像其他任何代码一样进/出/上等 - 在这种情况下非常有用。