ASP.net无法更新SQL Server

时间:2016-03-13 04:59:35

标签: c# sql asp.net sql-server-2014-express

我正在创建一个在线应用程序,我正在尝试通过asp.net winforms更新数据。我在表textbox中有一个名为tbCompanyName的{​​{1}}和一个名为companyName的数据库中的列。

我正在完美地从列中选择以前的数据,但是当我尝试更新数据时,它不会更新数据,尽管没有显示任何错误。我曾在C#桌面应用程序中工作,但我在ASP.NET中完全是新手。

我认为可能存在任何tblCompanySetup问题,但我不知道如何解决。我发布了我用于更新SQL Server表中数据的代码。请帮帮我。

AUTOPOSTBACK

注意:我在文本框中有以前的值,我用它来更新新值。当我将该文本框放空并键入新值时,它工作正常。但是当我在文本框中选择以前的值然后输入新值并单击提交时,它实际上是保存以前的值。我也按下了提交按钮,它会刷新表单并再次输入上一个值

1 个答案:

答案 0 :(得分:0)

您似乎在页面加载时从数据库中检索方法。类似的东西:

protected void Page_Load(object sender, EventArgs e){
    RetrieveMyData(); // it is a method where you retrieve a data
}

将其更改为:

protected void Page_Load(object sender, EventArgs e){
    if (!IsPostBack)
        RetrieveMyData(); // it is a method where you retrieve a data
}

您的项目就像:

1)Page_Load - > RetrieveMyData()

2)您的文本框具有数据库中的某些值

3)您将该值更改为新值

4)点击UPDATE按钮

5)由于你不考虑PostBack,它再次调用RetrieveMyData并且你的文本框具有旧值

6)您的Update方法会执行,但不会发生任何更改

如果您按照我的说明使用PostBack:

1)Page_Load - > RetrieveMyData

2)您的文本框具有数据库中的某些值

3)你改变了那个值

4)单击“更新”按钮

5)当您使用!IsPostBack 并且按钮发生回发时,您的RetrieveMyData方法将无法在此处运行

6)您的更新方法将使用新值更新旧值

希望有所帮助