[英]ASP.NET 2.0 stored procedure delete not working
我有一个事件在按钮单击时触发,该事件调用从数据库中删除所选行的存储过程。
在调试这个我已经使用id硬编码存储过程以确保删除在SQL端工作,所以我不会发布存储过程。 我也进入了我的页面并选择了要删除的记录,确保隐藏字段被设置为记录的id。
当我点击时,我看到发回的帖子,所以我看到按钮触发,它可能是一些小而愚蠢的我的代码或权限问题,我不知道或在哪里寻找。
存储过程的参数是一个整数,我没有遇到捕获或抛出任何类型的错误,数据只是没有被删除。
感谢您对此问题的任何帮助,我们非常感谢。
这是单击按钮时触发的代码。
if (isAdmin)
{
SqlConnection cnx = new SqlConnection(server);
SqlCommand cmd = new SqlCommand("STOREDPROCNAME", cnx);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@VARIABLEFORPROC", Convert.ToInt16(hiddenfield1.Value.ToString()));
try
{
cnx.Open();
cmd.ExecuteNonQuery();
cnx.Close();
}
catch (Exception ex)
{
throw new Exception("Error executing MyProcedureName.", ex);
}
}
fillDataGrids();
SQL Int类型映射到C#Int32类型 。 转换过程中可能会丢失数据。 尝试更换
cmd.Parameters.AddWithValue("@VARIABLEFORPROC", Convert.ToInt16(hiddenfield1.Value.ToString()));
同
cmd.Parameters.AddWithValue("@VARIABLEFORPROC", Convert.ToInt32(hiddenfield1.Value.ToString()));
您必须在SQL之后尝试存储过程的准确性,而不是在事务上尝试并在DB上记录异常,您必须确定错误发生在哪里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.