簡體   English   中英

更新查詢成功執行,但數據未更新

[英]Update query executed successfully but data is not updated

我正在使用“更新查詢”的項目中工作,但問題是查詢成功執行后,數據未更新,這是我的代碼

protected void Update_btn_Click(object sender, EventArgs e)
{
    var aid = Convert.ToInt32(Session["Aid"].ToString());
    try
    {
        var conn = ConfigurationManager.ConnectionStrings["AccountsConnectionString"].ConnectionString;
        using (var con = new SqlConnection(conn))
        {
            con.Open();
            string query = "Update Tasks set TaskName=@tname,TaskDetails=@tdetails WHERE Id=@id and CreatedBy=@aid";
            var cmd = new SqlCommand(query, con);
            cmd.Parameters.AddWithValue("@tname", taskname_tb.Text);
            cmd.Parameters.AddWithValue("@tdetails", Detail_ta.Text);
            cmd.Parameters.AddWithValue("@id",Convert.ToInt32(id_tb.Text));
            cmd.Parameters.AddWithValue("@aid",aid);
            cmd.ExecuteNonQuery();
            Response.RedirectPermanent("~/AllTasks.aspx",false);
        }
    }
    catch (Exception exception)
    {
        Response.Write("<script>Some Error occured</script>");
    }
}

嘗試參數而不轉換為int32但是在sql中運行查詢時也能獲得相同的結果,效果很好。

表任務架構

CREATE TABLE [dbo].[Tasks] (
[Id]           INT           IDENTITY (1, 1) NOT NULL,
[TaskName]     VARCHAR (500) NOT NULL,
[TaskDetails]  VARCHAR (MAX) NOT NULL,
[CreationDate] DATETIME      NOT NULL,
[CreatedBy]    INT           NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_Tasks_ToAccounts] FOREIGN KEY ([CreatedBy]) REFERENCES [dbo].[Accounts] ([Id])

);

首先嘗試運行以下查詢

從任務WHERE Id = @ id和CreatedBy = @ aid中選擇*

它應該返回一行。

第二,嘗試在應用程序運行時重命名數據庫文件。 由於尚未手動處理連接,因此,如果您嘗試重命名/刪除數據庫文件系統,則不應允許該連接。

在對上述問題進行了很多思考之后, 問題解決了,我發現我沒有在Page_Load()添加Is.Postback ,所以當我單擊更新按鈕時,頁面Asp.Net 頁面生命周期就會發生,並且它再次獲取舊值並更新它,因此我無法看到任何更改,因為它正在更新舊數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM