简单更新查询不更新.没有例外,没有错误.根本不值一提

ben*_*ndr 1 .net c# sql asp.net razor

我试图做一个非常简单的更新,但事实证明非常困难.我不知道发生了什么事; 它只是不更新​​:

这是我的更新代码:

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");
}
Run Code Online (Sandbox Code Playgroud)

这是表单代码:

<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>
Run Code Online (Sandbox Code Playgroud)

我已经检查过,在首次访问页面时填充了QueryString,并且在单击提交时提交了表单变量.

我甚至将数据库查询放在try catch语句中并输出任何异常,但是从来没有任何异常要捕获.

但仍然没有任何更新.

我究竟做错了什么?我在这里做错了吗?

Ran*_*ndy 5

更新可以成功更新0行.我会三重检查你的WHERE子句,看看它是否真的试图匹配现有的行.