ASP.NET WP - 删除数据库数据

在本章中,我们将介绍如何删除现有的数据库记录.本主题与前一章类似,但 : 而不是更新记录,我们将删除它.删除和更新过程几乎相同,只是删除更简单.此示例还将包含两个网页.

  • 在第一页上,用户将选择他们想要的记录删除.

  • 在第二页上,显示要删除的记录,以便用户确认他/她是否要删除该记录./p>

如何删除数据库记录?

让我们来看一个简单的例子,其中我们将删除现有的数据库记录.首先,我们需要创建一个新的CSHTML页面.

删除记录

在Name字段中输入 ListCustomersForDelete.cshtml ,然后单击OK.

现在替换ListCustomersForDelete.cshtml文件中的以下代码.

@{
   var db = Database.Open("WebPagesCustomers");
   var selectQueryString = "SELECT * FROM Customers ORDER BY FirstName";
}

<!DOCTYPE html>
<html>
   
   <head>
      <title>Delete a Customer</title>
      <style>
         table, th, td {
            border: solid 1px #bbbbbb;
            border-collapse: collapse;
            padding: 2px;
         }
      </style>
   
   </head>
   <body>
      <h1>Delete a Customer</h1>
      
      <table>
         <thead>
            <tr>
               <th> </th>
               <th>First Name</th>
               <th>Last Name</th>
               <th>Address</th>
            </tr>
         </thead>
         
         <tbody>
            @foreach(var row in db.Query(selectQueryString)){
               <tr>
                  <td><a href = "@Href("~/DeleteCustomer", row.Id)">Delete</a></td>
                  <td>@row.FirstName</td>
                  <td>@row.LastName</td>
                  <td>@row.Address</td>
               </tr>
            }
         </tbody>
      </table>
   
   </body>
</html>


如您所见,上面的页面与EditCustomers.cshtml页面类似,唯一的区别是不是为每个客户显示编辑链接.使用以下代码添加"删除"链接.完成后,它将显示一个删除链接,有助于删除所选记录.

<td><a href = "@Href("~/DeleteCustomer", row.Id)">Delete</a></td>


从数据库中删除客户

我们应该从创建CHTML文件开始,如下面的屏幕截图所示.

删除客户

输入 DeleteCustomer.cshtml 在名称字段中单击"确定".现在用以下代码替换DeleteCustomer.cshtml文件.

@{
   var db = Database.Open("WebPagesCustomers");
   var CustomerId = UrlData[0];
   
   if (CustomerId.IsEmpty()) {
      Response.Redirect("~/ListCustomersForDelete");
   }
   var customer = db.QuerySingle("SELECT * FROM CUSTOMERS WHERE ID = @0", CustomerId);
   
   if( IsPost && !CustomerId.IsEmpty()) {
      var deleteQueryString = "DELETE FROM Customers WHERE Id=@0";
      db.Execute(deleteQueryString, CustomerId);
      Response.Redirect("~/ListCustomersForDelete");
   }
}

<!DOCTYPE html>
<html>
   
   <head>
      <title>Delete Customer</title>
   </head>
   
   <body>
      <h1>Delete Customer - Confirmation</h1>
      
      <form method = "post" action = "" name = "form">
         <p>Are you sure you want to delete the following Customer?</p>
         <p>FirstName: @customer.FirstName <br />
         LastName: @customer.LastName <br />
         Address: @customer.Address</p>
         <p><input type = "submit" value = "Delete" /></p>
      </form>
   
   </body>
</html>


现在让我们运行应用程序并指定以下url :   http://localhost:36905/ListCustomersForDelete ,您将看到以下网页.

删除客户

您可以看到数据库中的所有客户以及每个客户的删除链接.让我们选择Kerry Hill的删除链接,您将看到以下页面.

删除确认

显示该客户的所有信息.当您单击"删除"按钮时,该客户将从数据库中删除.

让我们单击"删除"按钮,您将看到它已从数据库中删除,如下面的屏幕截图所示.

删除客户记录

现在数据库只有两个记录.