更新查询已成功执行但数据未更新

时间:2014-09-05 18:55:27

标签: sql asp.net sql-server tsql

我正在开发一个项目,其中我使用了更新查询,但问题是在查询成功执行后数据未更新 这是我的代码

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])

);

2 个答案:

答案 0 :(得分:0)

首先尝试运行以下查询

从任务WHERE Id = @id和CreatedBy = @ aid

中选择*

它应该返回一行。

第二次尝试在应用程序运行时重命名数据库文件。由于您尚未手动处理连接,因此如果您尝试重命名/删除数据库文件系统,则不应允许它。

答案 1 :(得分:0)

问题已解决 在仔细思考了上述问题后,我发现了这一点 我尚未在Is.Postback中添加Page_Load(),因此当我点击更新按钮时,页面Asp.Net 页面生命周期会发生,并且它会再次获取旧值并更新它以便我我无法看到任何更改因为它正在更新旧数据