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



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

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

  • 在第二个页面上,将显示要删除的记录,以便用户可以确认他们是否要删除该记录。

如何删除数据库记录?

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

Delete Record

在“名称”字段中输入ListCustomersForDelete.cshtml,然后单击“确定”。

现在,将以下代码替换到 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 文件开始,如下面的屏幕截图所示。

Delete Customer

在名称字段中输入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 - https://:36905/ListCustomersForDelete,您将看到以下网页。

Delete A Customer

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

Delete Confirmation

该客户的所有信息都已显示。当您单击“删除”按钮时,该客户将从数据库中删除。

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

Delete Customer Record

现在,数据库中只有两条记录。

广告

© . All rights reserved.