繁体   English   中英

ASP.NET中更新数据库时出错

[英]error while updating a database in ASP.NET

我在更新SQL数据库时遇到问题,问题不在于它根本不更新,而是特定参数正在更新,而其他参数则没有。

这是更新参数的代码:

string EditRequest = "UPDATE Requests SET Description = @Desc, BJustif = @Justif, Priority = @Priority, Requested_System = @Requested, Request_Status = @Stat WHERE";
    EditRequest += " Req_ID=@ID";

    SqlConnection Submit_conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["DBConn"].ConnectionString);
    SqlCommand Submit_comm = new SqlCommand(EditRequest, Submit_conn);


    Submit_comm.Parameters.AddWithValue("@ID", Request.QueryString["reqid"]);
    Submit_comm.Parameters.AddWithValue("@Desc", DescBox.Text);
    Submit_comm.Parameters.AddWithValue("@Justif", JustifBox.Text);
    Submit_comm.Parameters.AddWithValue("@Priority", PriorityList.SelectedValue);
    Submit_comm.Parameters.AddWithValue("@Requested", RelatedBox.Text);
    Submit_comm.Parameters.AddWithValue("@Stat", 1);

    Submit_conn.Open();

    Submit_comm.ExecuteNonQuery();

    Submit_comm.Dispose();

    Submit_comm = null;

    Submit_conn.Close();

    get_Description();

    Page.ClientScript.RegisterStartupScript(this.GetType(), "Refresh", "ReloadPage();", true);

此功能由弹出式窗口上的按钮调用,该按钮在文本框中显示正在更改的参数内容,该文本框也用于将更改提交回数据库,但是当我按Submit时,显示的参数在表格上保持不变,即使我已将其与工作正常的类似代码进行了比较,我也找不到任何问题。

如果需要,这是我用来显示和编辑内容的文本框之一:

<asp:TextBox ID="JustifBox" TextMode="MultiLine" runat="server" Width="250" Height="50"></asp:TextBox>

代码到底有什么问题?

编辑:我忘了提一下,当我跟踪该函数时,似乎控件的内容在我提交它们时并没有改变,但是重新提交,就像它们的原始形式一样。

您在这里提到了两个问题:

1)执行更新时,数据库中的字段不会更新

2)用户界面未使用最新数据更新

首先解决SQL UPDATE查询。 哪些字段未更新? 将T-SQL查询复制粘贴到查询分析器中,然后检查哪个字段正在更新,哪些不是。 另外,您的代码对SQL注入是开放的,因此请阅读有关内容,然后调整代码。

对于未更新的UI,您需要查看您是否甚至还在用正确的对象填充UI字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM