删除MYSQL中的纪录_如何:删除数据库中的记录

如何:删除数据库中的记录

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 表)。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

如果没有实例可用,请实例化您要使用的 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();

安全性

您必须具有访问正在尝试连接到的数据库的权限,以及从所需表中删除记录的权限。

请参见

任务

概念

其他资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值