[英]Stored procedure is not working?
我要删除的代码如下所示:
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文件一样?
您可以像使用c#代码一样在SSMS中运行SP并进行调试。 但是,如果您只是手动运行它,则很可能会失败,并且您会看到返回的错误。 如果您的SP抛出错误,则默认情况下不会返回您的Web应用程序。
这是调试时得到的:
您可以像其他任何代码一样踏入/跳出/越过-在这种情况下非常有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.