AccessDataSource 上的更新命令未按预期更新表
Posted
技术标签:
【中文标题】AccessDataSource 上的更新命令未按预期更新表【英文标题】:Update command on AccessDataSource doesn't update table as expected 【发布时间】:2014-09-05 18:05:32 【问题描述】:更新按钮执行查询,但我的数据库中没有显示任何内容。关于为什么的任何想法?
我已将其移入和移出UpdatePanel
。我已经尝试了变量的几个变体,例如 @Atty_ID
或 ?
,但我似乎无法让它工作。
当我单击更新按钮时,除了页面有时会刷新之外,什么也没有发生。
<asp:UpdatePanel ID="UpdatePanel19" runat="server">
<ContentTemplate>
<asp:AccessDataSource ID="ChamberLogoDataSource" runat="server"
DataFile="~/App_Data/Attorneys.mdb"
SelectCommand="SELECT ATTORNEYS.CHAMBER FROM ATTORNEYS WHERE ATTY_ID = ?"
UpdateCommand="UPDATE ATTORNEYS SET CHAMBER = ? WHERE ATTY_ID = ?">
<SelectParameters>
<asp:QueryStringParameter Name="ATT_ID" QueryStringField="ATT_ID" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="CHAMBER" />
<asp:Parameter Name="ATTY_ID" />
</UpdateParameters>
</asp:AccessDataSource>
Add a Chambers logo:<br />
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Rows="5" Columns="50"></asp:TextBox>
<asp:Button ID="UpdateChambersLogoButton" runat="server" Text="Update" OnClick="UpdateLogo" />
</ContentTemplate>
</asp:UpdatePanel>
下面是代码:
Protected Sub UpdateLogo(ByVal sender As Object, ByVal e As System.EventArgs)
ChamberLogoDataSource.Update()
End Sub
【问题讨论】:
你看到的是与文本框相关的一切...... 我知道你在做什么。嗯...我只是尝试将 AccessDataSource 放在我的更新面板中,但这也没有什么不同。查看更新问题。 【参考方案1】:我相信您的更新参数绑定乱序,这可能导致更新失败,因为没有与 WHERE 子句匹配。
像下面这样颠倒 UpdateParameters 的顺序并尝试一下。
<asp:AccessDataSource ID="ChamberLogoDataSource" runat="server"
DataFile="~/App_Data/Attorneys.mdb"
SelectCommand="SELECT ATTORNEYS.CHAMBER FROM ATTORNEYS WHERE ATTY_ID = ?"
UpdateCommand="UPDATE ATTORNEYS SET CHAMBER = ? WHERE (ATTY_ID = ?)">
<SelectParameters>
<asp:QueryStringParameter Name="ATT_ID" QueryStringField="ATT_ID" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="CHAMBER" />
<asp:Parameter Name="ATTY_ID" />
</UpdateParameters>
</asp:AccessDataSource>
<asp:UpdatePanel ID="UpdatePanel19" runat="server">
<ContentTemplate>
Add a Chambers logo:<br />
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Rows="5" Columns="50"></asp:TextBox>
<asp:Button ID="UpdateChambersLogoButton" runat="server" Text="Update" OnClick="UpdateLogo" />
</ContentTemplate>
</asp:UpdatePanel>
【讨论】:
等我找出原因。 +1,因为这个问题与参数的顺序有关。 我把更新面板拿出来了,现在每次页面都会刷新,我想这是有道理的,这也是你使用更新面板的原因,但它仍然没有更新记录。以上是关于AccessDataSource 上的更新命令未按预期更新表的主要内容,如果未能解决你的问题,请参考以下文章
Gridview 中的更新命令停止工作(以前工作和删除,选择工作正常)