使用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中,这种方法也比较常见。
使用DataSet数据集删除记录的更多相关文章
- 使用DataSet数据集插入记录
使用INSERT语句能够完成数据插入,使用DataSet对象也可以完成数据插入.为了将数据库的数据填充到DataSet中,则必须先使用DataAdapter对象的方法实现填充,当数据填充完成后,开发人 ...
- Delphi数据集与记录
1.1Delphi数据库应用程序的层次结构 Delphi数据库应用程序通过数据存取构件对数据库进行访问,通过可视的数据构件(Data Control)将数据呈现给用户,并与用户进行交互.Delphi数 ...
- 用ORBSLAM2运行TUM Dataset数据集
参照https://github.com/raulmur/ORB_SLAM2/blob/master/README.md 运行 4. Monocular Examples TUM Dataset 数据 ...
- Asp.Net MVC4入门指南(9):查询详细信息和删除记录
在本教程中,您将查看自动生成的Details和Delete方法. 查询详细信息和删除记录 打开Movie控制器并查看Details方法. public ActionResult Details(int ...
- C#操作Dataset数据集与SQLite数据库
近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一.SQLite操作,直接贴代码,很简 ...
- mysql delete删除记录数据库空间不减少问题解决方法
记得在中学时学计算机时老师就告诉我delete删除记录只是给数据库中的记录加一个删除标识了,这样数据库空间并不是减少了,当时没想这么多,昨天发现一个数据库利用delete 删除之后容量没变,后来百度了 ...
- js简单实现删除记录时的提示效果
删除记录时的提示效果,挺人性化的,实现的方法有很多,在本文为大家介绍下使用js是如何实现的 样式 复制代码代码如下: <style type="text/css"> ...
- MVC3学习:利用mvc3+ajax实现删除记录
首先根据模板生成list视图,上面就会有一个delete的链接,但是模板自带的这种删除,需要另外再打开一个删除页,再进行删除.我们可以利用ajax来改写,实现在当前页删除. 在视图上面,将原来的 @H ...
- 活字格Web应用平台学习笔记5 - 编辑和删除记录
了几天,今天上活字格网站一看,他们获奖了,好厉害 荣膺盘古奖!活字格引领企业信息化建设新潮流 好吧,我继续学习,希望早点拿到认证证书. 今天要学的是编辑删除记录.目标: 还是接续之前的工程.做好后是这 ...
随机推荐
- PHP微信红包的算法实现探讨
header("Content-Type: text/html;charset=utf-8");//输出不乱码,你懂的 $total=10;//红包总额 $num=8;// 分成8 ...
- 学c语言做练习
/*编写一个函数,其功能是使输入字符串反序.在一个使用循环语句为这个函数提供输入的完整 程序中进行测试.*/ #include<stdio.h> #include<string.h& ...
- data-theme 几种值的样式
代码片段: <div data-role="page"> <div data-role="header"> <h1>The ...
- Android的两种菜单
Android子菜单和选项菜单与上下文菜单的实现 菜单在Android开发中必不可少,可是要怎么实现各种菜单呢?是不是很头疼呢?下面我就来介绍一下: 1. 选项菜单和子菜单的实现 选项菜单:最常规的菜 ...
- 关于 "Context" 模式(基于COM思想IUnknown思想)
有同事很喜欢用Context模式,觉得是自己"首创", 我有些自己的想法, 或者大家可以发表下自己的观点. 什么是Context模式? 23种设计模式中没有这个模式, 是同事自 ...
- Java---设计模块(单例的变形)(多例)
设计模式1--单例变形(多例) ★ 缓存在单例中的使用 缓存在编程中使用很频繁,有着非常重要的作用,它能够帮助程序实现以空间换取时间,通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放 ...
- velocity序列动画
结合上次提到的velocity的UI Pack存在一下问题: 动画名称过长,语意性差 使用UI Pack的动画,loop属性会失效 无法监听动画完成时机 我这里想到了一种解决 ...
- Java程序员在用的大数据工具,MongoDB稳居第一!
据日前的一则大数据工具使用情况调查,我们知道了Java程序猿最喜欢用的大数据工具. 问题:他们最近一年最喜欢用什么工具或者是框架? 受访者可以选择列表中的选项或者列出自己的,本文主要关心的是大数据工具 ...
- 转义字符和ASCII
一.字符(char) 数字(int) 屏幕显示 '\n' 10 换行 '\0' ...
- 【C#基础】 读取json某个键值
/// <summary> /// 用JSObject的方法获取json指定第一层某个键的值 /// </summary> /// <param name="j ...