使用DataSet数据集删除记录

使用DataSet删除记录和使用DataSet更新记录非常的相似,DataSet删除记录的步骤如下所示。

q  创建一个Connection对象。

q  创建一个DataAdapter对象。

q  初始化适配器。

q  使用数据适配器的Fill方法执行SELECT命令,并填充DataSet。

q  执行SqlCommandBuilder方法生成UpdataCommand方法。

q  创建DataTable对象并指定相应的DataSet中的表。

q  创建DataRow对象并查找需要修改的相应行。

q  使用Delete方法删除该行。

q  使用Updata方法进行数据更新。

在删除记录前,首先需要创建连接,示例代码如下所示。

string str = "server=‘(local)‘;database=‘mytable‘;uid=‘sa‘;pwd=‘sa‘";

SqlConnection con = new SqlConnection(str);

con.Open();

string strsql = "select * from mynews";

上述代码创建了与数据库的连接,并编写SQL查询语句来填充DataSet。填充DataSet对象需使用DataAdapter,示例代码如下所示。

SqlDataAdapter da = new SqlDataAdapter(strsql, con);

SqlCommandBuilder build = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds, "datatable");

编写完成后,需要创建DataTable对象对DataSet中相应的数据进行操作,其代码和更新记录基本相同,示例代码如下所示。

DataTable tb = ds.Tables["datatable"];

tb.PrimaryKey = new DataColumn[] { tb.Columns["id"] };

DataRow row = tb.Rows.Find(3);

在进行删除之前,同样需要找到相应的行,来指定删除语句所需要删除的行,示例代码如下所示。

row.Delete();

读者可以看到,DataSet删除方法与更新方法不同的地方只操作语句的不同,在更新中使用的是Update()方法,而在删除中使用的是Delete()方法。

注意:当使用Delete方法删除记录行的时候,可以通过调用DataRow对象的RejectChanges方法取消对记录的删除,当使用该方法删除记录行时,该行的状态会恢复为Unchanged。

在删除完毕后,同样需要保持DataSet中的数据和数据库中的数据的一致性,示例代码如下所示。

da.Update(ds, "datatable");

使用Update方法能够使DataSet中的数据和数据库中的数据保持一致性,在ASP中,这种方法也比较常见。

时间: 2024-10-03 16:48:46

使用DataSet数据集删除记录的相关文章

使用DataSet数据集插入记录

使用INSERT语句能够完成数据插入,使用DataSet对象也可以完成数据插入.为了将数据库的数据填充到DataSet中,则必须先使用DataAdapter对象的方法实现填充,当数据填充完成后,开发人员可以将记录添加到DataSet对象中,然后使用Update方法将记录插入数据库中.使用DataSet更新记录的步骤如下所示: q  创建一个Connection对象. q  创建一个DataAdapter对象. q  初始化适配器. q  使用数据适配器的Fill方法执行SELECT命令,并填充D

.net中Dataset数据集的认识

DataSet 是 ADO.NET 结构的主要组件,它是从数据源中检索到的数据在内存中的缓存.DataSet 由一组 DataTable 对象组成,您可使这些对象与 DataRelation 对象互相关联.您还可通过使用 UniqueConstraint 和 ForeignKeyConstraint 对象在 DataSet 中实施数据完整性. 其实个人对DataSet的认识还并不是很深,只最近在.net的开发中研究了下.在开发过程中,我们可以通过DataAdapter使用数据源中的数据生成和填充

C#操作Dataset数据集与SQLite数据库

近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一.SQLite操作,直接贴代码,很简单: //创建一个数据库文件 string datasource=Application.StartupPath + "\\test.db"; System.Data.SQLite.SQLiteConnection.CreateFile(datasource); //连接数据库 System.Da

mysql delete删除记录数据库空间不减少问题解决方法

记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了一下发现了下面一站长分享的文件,写得非常的不错,整理一下给各位参考. 今天空间商告诉我数据库空间满了,检查了一下,发现网站用户行为记录数据表竟然占了20多MB.积累了半年了,该删除释放一下空间了.果断delete之后发现数据库空间竟然没少,虽然数据记录数是零. 原来这是因为删除操作后在数据文件中留下

sqlite学习笔记11:C语言中使用sqlite之删除记录

最后一节,这里记录下如何删除数据. 前面所有的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲测通过. #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; con

jquery的ajax实现的删除记录代码实例

jquery的ajax实现的删除记录代码实例:下面一段jquery实现的ajax代码实例,能够删除一条记录,并且会给出提示信息,代码如下:代码段一: /* 请求Ajax 带返回值,并弹出提示框提醒---------------------------*/ function getAjax(url,parm,callBack){ $.ajax({ type:'post', dataType:"text", url:url, data:parm, cache:false, async:fa

TXT文件转换成DataSet数据集

1 /// <summary> 2 /// TXT文件转换成DataSet数据集 3 /// </summary> 4 /// <param name="FilePath"></param> 5 /// <param name="TableName"></param> 6 /// <returns></returns> 7 private DataSet TextFile

单表的更新UPDATE和删除记录DELETE

当把记录写成功之后,也许我们还会如下操作.比如,记录在书写的过程中字段是错误的.或者,我们想改下字段值.那么,我们需要update关键字. update分为单表更新和多表更新. 一.UPDATE语句 UPDATE语句其实有两种方式,分别是单表更新和多表更新,多表更新等到后面我们学完连接以后再去学习,所以今天我们先来学习单表更新,我们先来看一下语法结构: 更新记录(单表更新) UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1=

Asp.Net MVC4入门指南(9):查询详细信息和删除记录

在本教程中,您将查看自动生成的Details和Delete方法. 查询详细信息和删除记录 打开Movie控制器并查看Details方法. public ActionResult Details(int id = 0) { Movie movie = db.Movies.Find(id); if (movie == null) { return HttpNotFound(); } return View(movie); } Code First 使得您可以轻松的使用Find方法来搜索数据.一个重要