Asp.net AccessDataSource上的Update命令不';t按预期更新表

Asp.net AccessDataSource上的Update命令不';t按预期更新表,asp.net,ms-access,data-binding,accessdatasource,Asp.net,Ms Access,Data Binding,Accessdatasource,更新按钮执行查询,但数据库中没有显示任何内容。有没有想过为什么 我已经将它移入和移出了一个UpdatePanel。我尝试了变量的两种变体,如@Atty\u ID或?,但似乎无法使其工作 当我单击“更新”按钮时,除了页面有时刷新之外,什么也没有发生 <asp:UpdatePanel ID="UpdatePanel19" runat="server"> <ContentTemplate>

更新按钮执行查询,但数据库中没有显示任何内容。有没有想过为什么

我已经将它移入和移出了一个
UpdatePanel
。我尝试了变量的两种变体,如
@Atty\u 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>

我相信您的update参数绑定有问题,这可能会导致更新失败,因为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>

添加Chambers徽标:

请稍等,我会找出原因。+1,因为问题与参数顺序有关。我取出更新面板,页面现在每次都会刷新,我想这是有道理的,也是您使用更新面板的原因,但是它仍然没有更新记录。你看到的是所有与文本框相关的东西…我知道你要用这个。六羟甲基三聚氰胺六甲醚。。。我只是试着把AccessDataSource放在我的更新面板中,但这也没什么不同。请参阅更新问题。
<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>