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.