刪除MYSQL中的紀錄 如何 刪除資料庫中的記錄

2021-10-20 01:19:40 字數 3611 閱讀 5005

如何:刪除資料庫中的記錄

08/18/2008

本文內容

更新:2007 年 11 月

要從資料庫中刪除記錄,請使用 tableadapter.update 方法或 tableadapter.delete 方法。或者,如果您的應用程式不使用 tableadapters,您就可以使用命令物件從資料庫中刪除記錄(例如,executenonquery)。

當應用程式使用資料集儲存資料時通常使用 tableadapter.update 方法,而當應用程式使用物件儲存資料時通常會使用 tableadapter.delete 方法。

如果 tableadapter 沒有 delete 方法,則意味著或者該 tableadapter 是為使用儲存過程而配置的,或者其 generatedbdirectmethods 屬性被設定為 false。嘗試從「資料集設計器」內將 tableadapter 的 generatedbdirectmethods 屬性設定為 true,然後儲存該資料集以重新生成 tableadapter。如果 tableadapter 仍沒有 delete 方法,那麼該錶可能沒有提供足夠的架構資訊在單個行之間進行區分(例如,表中未設定主鍵)。

使用 tableadapters 刪除記錄

根據應用程式的需要,tableadapters 提供了從資料庫中刪除記錄的不同方法。

如果應用程式使用資料集儲存資料,則可以直接從 dataset 中所需的 datatable 中刪除記錄,然後呼叫 tableadapter.update 方法。tableadapter.update 方法得到資料表中的所有更改,並將這些更改傳送到資料庫中(包括插入、更新以及刪除記錄)。

使用 tableadapter.update 方法從資料庫中刪除記錄

通過從表中刪除 datarow 物件,從所需 datatable 中刪除記錄。有關更多資訊,請參見如何:刪除資料表中的行。從 datatable 中刪除行後,請呼叫 tableadapter.update 方法。通過傳入完整的 dataset、datatable、datarow 陣列或單個 datarow,您可以控制要更新的資料量。下面的**顯示如何從 datatable 中刪除記錄,然後呼叫 tableadapter.update 方法傳達更改並從資料庫中刪除行(此示例使用 northwind 資料庫的 region 表)。

' locate the row to delete.

dim oldregionrow as northwinddataset.regionrow

oldregionrow = northwinddataset._region.findbyregionid(5)

' delete the row from the dataset

oldregionrow.delete()

' delete the row from the database

me.regiontableadapter.update(me.northwinddataset._region)

// locate the row to delete.

northwinddataset.regionrow oldregionrow;

oldregionrow = northwinddataset.region.findbyregionid(5);

// delete the row from the dataset

oldregionrow.delete();

// delete the row from the database

this.regiontableadapter.update(this.northwinddataset.region);

如果應用程式使用物件儲存應用程式中的資料,您就可以使用 tableadapter 的 dbdirect 方法直接從資料庫中刪除資料。根據傳入的引數值,呼叫 delete 方法從資料庫中移除記錄。

使用 tableadapter.delete 方法從資料庫中刪除記錄

呼叫 tableadapter 的 delete 方法,為每一列傳入值作為 delete 方法的引數(此示例使用 northwind 資料庫的 region 表)。

如果沒有例項可用,請例項化您要使用的 tableadapter。

dim regiontableadapter as new northwinddatasettableadapters.regiontableadapter

regiontableadapter.delete(5, "northwestern")

northwinddatasettableadapters.regiontableadapter regiontableadapter =

new northwinddatasettableadapters.regiontableadapter();

regiontableadapter.delete(5, "northwestern");

使用命令物件刪除記錄

下面的示例使用命令物件直接從資料庫中刪除記錄。有關使用命令物件執行命令和儲存過程的更多資訊,請參見將資料獲取到應用程式。

使用命令物件從資料庫中刪除記錄

建立新的命令物件,並設定它的 connection、commandtype 和 commandtext 屬性(此示例使用 northwind 資料庫的 region 表)。

dim sqlconnection1 as new system.data.sqlclient.sqlconnection("your connection string")

dim cmd as new system.data.sqlclient.sqlcommand

cmd.commandtype = system.data.commandtype.text

cmd.commandtext = "delete region where regionid = 5 and regiondescription = 'northwestern'"

cmd.connection = sqlconnection1

sqlconnection1.open()

cmd.executenonquery()

sqlconnection1.close()

system.data.sqlclient.sqlconnection sqlconnection1 =

new system.data.sqlclient.sqlconnection("your connection string ");

system.data.sqlclient.sqlcommand cmd = new system.data.sqlclient.sqlcommand();

cmd.commandtype = system.data.commandtype.text;

cmd.commandtext = "delete region where regionid = 5 and regiondescription = 'northwestern'";

cmd.connection = sqlconnection1;

sqlconnection1.open();

cmd.executenonquery();

sqlconnection1.close();

安全性您必須具有訪問正在嘗試連線到的資料庫的許可權,以及從所需表中刪除記錄的許可權。

請參見任務

概念其他資源

如何刪除所有紀錄都為NULL的表

這個需求是今天看到一在論壇提出的問題,這裡的紀錄為null,是指的紀錄為 null 值,而並不是表的紀錄數為0,所以我們可以通過checksum函式來實現這個需求,下面是實現的demo 執行環境 sql server 2005 use tempdb go set nocount on if obje...

mysql 關聯刪除 mysql如何刪除關聯表

mysql資料庫中,表與表之間進行關聯之後,就不可隨意的進行刪除操作,否則會影響所有關聯表之間的結構,那麼如何安全的刪除關聯表呢,讓我們來了解一下。mysql使用drop命令刪除關聯表,方法為 1.刪除表的外來鍵約束 外來鍵是乙個特殊字段,其將某乙個表與其父表建立關聯關係。在建立表的時候,外來鍵約束...

mysql如何邏輯刪除 mysql邏輯刪除如何恢復

在專案中,一般會遇到這種情況 邏輯刪除以及多關聯不刪除 邏輯刪除 軟刪除 邏輯刪除就是對要被刪除的資料打上乙個刪除標記,通常使用乙個is deleted欄位標示行記錄是不是被刪除 或者使用乙個status欄位代表所謂的 刪除 狀態 在邏輯上是資料是被刪除的,但資料本身是依然存在的。在前端頁面中刪除了...