2015-06-14 3 views
0

Создание ASP-сайта с использованием 4.5 и C#. Я использую gridview для отображения записей в базе данных с включенными кнопками «Обновление/удаление». Все работает отлично, кроме кнопки «Удалить». Я получаю следующую ошибку:Ошибка удаления столбцов

Отсутствие одного или нескольких значений по требуемым параметрам.

Единственным параметром для команды Delete, которую я вижу, является UserID, я не уверен, что мне не хватает.

У кого-нибудь есть мысли? Спасибо.

<asp:GridView ID="grdUsers" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> 
     <Columns> 
      <asp:BoundField DataField="UserID" HeaderText="UserID" InsertVisible="False" SortExpression="UserID" /> 
      <asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" /> 
      <asp:BoundField DataField="UserPassword" HeaderText="UserPassword" SortExpression="UserPassword" /> 
      <asp:BoundField DataField="SecurityLevel" HeaderText="SecurityLevel" SortExpression="SecurityLevel" /> 
      <asp:CommandField ShowEditButton="True" /> 
      <asp:CommandField ShowDeleteButton="True" /> 
     </Columns> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
     SelectCommand="SELECT * FROM [tblUserLogin]" OnSelecting="SqlDataSource1_Selecting" 
     DeleteCommand="DELETE FROM [tblUserLogin] WHERE [UserID] = ?" 
     UpdateCommand="UPDATE [tblUserLogin] SET [UserName] = ?, [UserPassword] = ?, [SecurityLevel] = ? WHERE [UserID] = ?"> 
     <DeleteParameters> 
      <asp:Parameter Name="UserID" Type="Int32" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="UserName" Type="String" /> 
      <asp:Parameter Name="UserPassword" Type="String" /> 
      <asp:Parameter Name="SecurityLevel" Type="Char" /> 
     </UpdateParameters> 
    </asp:SqlDataSource> 
+0

Является ли updateCommand рабочим? – Dreamweaver

ответ

0

Вы выполнили команду DELETE FROM [tblUserLogin] WHERE [UserID] =xxx вручную в базе данных с помощью SQL Server Management Studio. Могут быть ограничения на tblUserLogin, которые вызывают ошибку за кулисами.

Пожалуйста, проверьте Cant delete in database because of constraints, если он звонит в любой колокол.

+0

Если Management Studio не является частью VS, которую я еще не обнаружил, то я не думаю, что у меня есть к ней доступ. Сама БД представляет собой MS Access DB, которая была предоставлена ​​мне в рамках этого проекта. Чтобы ответить на вопрос Dreamweaver, да, команда обновления работает нормально. Его единственная команда Delete, с которой у меня возникают проблемы. То, что на самом деле заставляет меня почесывать голову, - это то, что у меня есть другой вид сетки на другой странице сайта, которая практически идентична этой, и она отлично работает. – tworley1977

+0

Единственное различие между двумя сетками - это то, что работает нормально, я включил команды «Обновление и удаление» с помощью опций смарт-тегов. В этом gridview, с тем, с которым у меня возникают проблемы, параметров интеллектуального тега не существует, поэтому мне пришлось вводить код вручную. Однако, если вы сравниваете коды, помимо имен переменных, они идентичны, поэтому я не уверен, что я пропустил. – tworley1977

Смежные вопросы