[英]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.