我正在尝试做一个非常简单的更新,但是事实证明非常困难。我不知道发生了什么事。它只是不更新:
这是我的更新代码:
if(Request.QueryString["Action"] == "Update")
{
var InPage = Request["InPage"];
var PositionInPage = Request["PositionInPage"];
var CategoryName = Request["CategoryName"];
var ImagePath = Request["ImagePath"];
database.Execute("UPDATE Categories SET PositionInPage = " +
PositionInPage + ", InPage = " + InPage +
" WHERE CategoryName = '" + CategoryName +
"' AND ImagePath = '" + ImagePath + "'");
Response.Redirect("~/Fashion.cshtml");
}
这是表单代码:
<form method="post" action="Update.cshtml?Action=Update">
<input type="hidden" name="CategoryName" value="@Request.QueryString["CategoryName"]" />
<input type="hidden" name="ImagePath" value="@Request.QueryString["ImagePath"]" />
<label for="InPage">Move to Page</label>
<input type="text" name="InPage" value="@Request.QueryString["InPage"]" style="background-color: White;" />
<br/><br/>
<label for="PositionInPage">Position In Page</label>
<input type="text" name="PositionInPage" value="@Request.QueryString["PositionInPage"]" style="background-color: White;" />
<input type="submit" value="Submit" style="background-color: White;" />
</form>
我检查了首次到达页面时是否填充了QueryString,并且单击了Submit之后就提交了表单变量。
我什至将数据库查询放在try catch语句中并输出任何异常,但是从来没有任何异常可以捕获。
但是仍然没有任何更新。
我究竟做错了什么?我在这里做错什么了吗?
最佳答案
更新可以成功更新0行。我将三重检查您的WHERE子句,以查看它实际上是否在尝试匹配现有行。
关于c# - 简单更新查询不更新。没有异常(exception),没有错误。没什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778488/