2014-09-05 43 views
0

更新按钮执行查询,但在我的数据库中没有任何内容显示。任何想法为什么?AccessDataSource上的更新命令不会按预期方式更新表

我已经将它移入和移出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 
+0

你看到的是与文本框相关的一切... – Joseph 2014-09-05 18:19:31

+0

我明白你要去哪里了。嗯......我只是试图将AccessDataSource放入我的更新面板中,但这也没有任何区别。查看更新问题。 – Joseph 2014-09-05 19:16:12

回答

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> 
+0

此时此按钮似乎不起作用。现在什么都没有发生... – Joseph 2014-09-05 18:15:53

+0

坚持,当我找出原因。 – Joseph 2014-09-05 18:17:01

+0

+1,因为问题与参数的顺序有关。 – Habib 2014-09-05 18:17:18