C# 在SQL中从表中删除时出现意外行为

C# 在SQL中从表中删除时出现意外行为,c#,.net,asp.net,razor,C#,.net,Asp.net,Razor,我以前做过,但这次不行了 我要做的就是从表中删除一个条目,如您所见,如果成功,它应该输出“ok”(我已经手动检查了querystring数据,所有内容都与它要删除的内容匹配,甚至所有条件都满足),但它没有删除 @{ var message = ""; try { var d = Database.Open("tgyytuyt"); var query = "DELETE FROM Cart WHERE OrderId = '" + Requ

我以前做过,但这次不行了

我要做的就是从表中删除一个条目,如您所见,如果成功,它应该输出“ok”(我已经手动检查了querystring数据,所有内容都与它要删除的内容匹配,甚至所有条件都满足),但它没有删除

@{
    var message = "";
    try
    {
        var d = Database.Open("tgyytuyt");
        var query = "DELETE FROM Cart WHERE OrderId = '" + Request.QueryString["Value"] + "' AND UserId = '" + Request.QueryString["SubValue"] + "' AND PartNumber = '" + Request.QueryString["Final"] + "'";
        d.Execute(query);

        message = "ok";
        //Response.Redirect("~/OSM/Default.cshtml");
    }
    catch(Exception ex)
    {
        message = ex.Message;
    }
}
<p>@message</p>
@{
var message=“”;
尝试
{
var d=Database.Open(“tgyytuyt”);
var query=“从购物车中删除,其中OrderId=”+Request.QueryString[“Value”]+“、UserId=”+Request.QueryString[“SubValue”]+“、PartNumber=”+Request.QueryString[“Final”]+“;
d、 执行(查询);
message=“确定”;
//Response.Redirect(“~/OSM/Default.cshtml”);
}
捕获(例外情况除外)
{
消息=例如消息;
}
}
@信息


是否有我做错的事情导致项目无法删除?

最可能的原因是,数据库中没有符合where子句条件的行

先检查一下

但是如果没有更多关于查询字符串和数据库设置值的信息,这一切都是猜测


它也可能是一个触发器…

我不知道execute在做什么,但应该执行一个非查询。您可能想检查一下。

什么是
数据库
?你有例外吗?当这段代码运行时会发生什么呢?顺便说一句,值得注意的是,编写这样的代码会使您的网站以最糟糕的方式受到SQL注入攻击。如果您觉得这与您的问题不相关,我很抱歉-但在构造SQL语句时看到
Request.Querystring[]
会要求删除您的网站。@Codo-这不是MVC。这是网页。@BENDR,您是否尝试过在
d.Execute(query)
上设置断点,然后将该字符串直接粘贴到Management Studio Express或mySQL查询浏览器中并在那里运行它?它会删除这些行,还是给你另一条消息?每当我遇到SQL语句没有达到预期效果的问题时,我的第一个调用端口就是亲自对数据库运行它,并分析发生的情况。假设它没有到达
message=“ok”
,那么它一定是抛出了一个被捕获的错误。。。消息中输出的是什么?我正在执行一个非查询,我刚刚进入了使用“sql语句”变量“查询”等的习惯。另外,不要被变量名所愚弄。谢谢@Jan。它仍然不起作用。确切的代码在我使用过的其他网站上也能正常工作,但这次不行。如我在问题中所述,db中的所有内容都与querystring数据匹配。您是否尝试在ManagementStudio中执行生成的查询?桌子上有触发器吗?