Команда обновления на 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

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>
Другие вопросы по тегам