在我们对数据库进行操作的时候,总是先把数据从数据库取出来,然后放到一个"容器"中,再通过这个"容器"取出数据显示在前台,而充当这种容器的角色中当属DataSet是最为普遍和重要的了,可以说DataSet在数据库和前台中起到了一个桥梁的作用。

下面就来谈谈DataSet的用法。(DataSet对象本身是没有存取数据库的能力的,它要与DataAdapter一般是配合使用的,而关于DataAdapter的用法在我的另一篇文章中有介绍,大家可以看一下)

DataSet可以包含多个数据表,可以在程序中动态地产生数据表,而这里的数据表可来自数据库,文件或者XML(前面已经讲过XML的用法了,不是很了解的话可以去看一下)。而DataSet提供了对数据进行浏览,编辑,排序,过滤和建立视图的方法。

DataSet采用非连接的传输模式访问数据库,即在将用户所请求的数据读入DataSet后,与数据库的链接就关闭了,这样其他用户可以继续使用数据源。

在我用DataSet这么久以来,不光是会用那些关于DataSet的固定语句,其实认识到DataSet的结构才是最为关键的。下面就是DataSet对象的结构:

DataSet对象的属性和方法:

DataSetName  获取或设置DataSet对象的名称

Tables

获取数据集的数据表集合(DataTableCollection),DataSet对象的所有DataTable对象都属于DataTableCollection

最常用的属性就是Tables,通过该属性,可以获得或设置数据表行,列的值。

例如,表达式"DS.Tables["ShoppingCart"].rows(i).Item(j)"表示访问ShoppingCart表的第i行第j列。

最常用的方法是Clear()和Copy().Clear方法是清除DataSet对象的数据,删除所有DataTable对象。Copy方法复制DataSet对象的结构和数据,返回值是与本DataSet对象具有相同的结构和数据的DataSet对象。

简单的例子:(没有前台代码,只有后台跟DataSet有关的部分代码,不过之后我会上传这个的案例,大家有兴趣的可以看看)

[csharp] view plaincopyprint?
  1. protected void Page_Load(object sender,EventArgs e)
  2. {
  3. 链接数据库的sqlconnection暂时先省略
  4. SqlDataAdapter sqlad = new SqlDataAdapter(sql,con);  //创建SqlDataAdapter对象并执行sql查询
  5. DataSet ds = new DataSet();  //创建数据集
  6. sqlad.Fill(ds);  //填充数据集
  7. GridView1.DataSource=ds.Tables[0].DefaultView;  //设置数据源
  8. GridView1.DataBind();  //绑定数据源
  9. }

浅谈ASP.net中的DataSet对象相关推荐

  1. 浅谈ASP.NET中render方法

    2011-06-08 11:36 runyl 博客园 我要评论(1) 字号:T | T Control.Render 方法是将服务器控件内容发送到提供的HtmlTextWriter 对象,此对象编写将 ...

  2. 浅谈一下javascript中的this对象

    this是什么? this关键字是函数运行时自动生成的一个内部对象,也被称作为环境对象,只能在函数内部使用.谁'调用'this,this就指向谁.打个比方来说:this就相当于中文中的"我& ...

  3. 浅谈asp木马中自定义函数加密的解密

    现在市面上流传了N种asp的大马.就是常说的webshell.有什么全免杀版本,什么提权加强版本.但是其中很多shell都是加密的,而且存在一些后门. 很有可能同学了忙了半天入侵了一个站,是为别人忙活 ...

  4. asp.net mvc 压缩html代码,浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能

    今天在使用MVC4打包压缩功能@Scripts.Render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在App_Start文件夹下BundleConfi ...

  5. 浅谈ASP.NET的内部机制(一)

    浅谈ASP.NET的内部机制(一) 前言:当一个Http请求发送给一个aspx页面时,服务器进行了哪些操作?又如何来解析这个请求?ASP.NET在接收请求后是怎么运行的,如怎么编译以及怎么样用托管的代 ...

  6. 浅谈V8引擎中的垃圾回收机制

    浅谈V8引擎中的垃圾回收机制 这篇文章的所有内容均来自 朴灵的<深入浅出Node.js>及A tour of V8:Garbage Collection,后者还有中文翻译版V8 之旅: 垃 ...

  7. 浅谈ASP.NET的内部机制(二)

    浅谈ASP.NET的内部机制(二)         前言:大家知不知道,一个Http Request是如何被传递给ASP.NET的?而且ASP.NET是如何知道一个 Http Request是请求的. ...

  8. 浅谈导航数据中POI搜索技术原理

    浅谈导航数据中POI搜索技术原理之一 王健 导航技术的应用已经成为现在生活中重要组成部分,为我们的生活提供了极大的便利.基本都有这样生活的体验,搜索自己位置附近的银行网点.餐馆.那么这些POI是如何快 ...

  9. 嵌入式AI —— 6. 为糖葫芦加糖,浅谈深度学习中的数据增广

    没有读过本系列前几期文章的朋友,需要先回顾下已发表的文章: 开篇大吉 集成AI模块到系统中 模型的部署 CMSIS-NN介绍 从穿糖葫芦到织深度神经网络 又和大家见面了,上次本程序猿介绍了CMSIS- ...

最新文章

  1. 查阅arXiv论文新神器,一行代码比较版本差别,Github新开源!
  2. 关于Viual Studio 改变编辑器背景背景及背景图片
  3. vue 2个方法先后执行_演讲你早该知道的2个演讲方法
  4. HWS计划 decryption 寒假逆向生涯(17/100)
  5. ADB server didn't ACK
  6. 2019年低延迟直播技术展望
  7. CF思维联系--CodeForces - 218C E - Ice Skating (并查集)
  8. oracle卸数什么是ctrl文件,Oracle数据库的安装和卸载之道
  9. python在线包安装mysql_python安装mysql的依赖包mysql-python操作
  10. 非root用户安装nginx
  11. 大众mpv_最便宜的大众MPV来啦!1.4T6AT,空间比宝骏730还宽裕
  12. JQuery所有版本及说明文档
  13. 李宏毅深度学习HW2 收入预测 (logistic regression)
  14. WIN7桌面IE图标删除
  15. 3D游戏建模怎么接外包
  16. java 实现异地登陆_Java实现用户异地登陆踢人操作
  17. java教学视频毕向东_集合3--毕向东java基础教程视频学习笔记
  18. 计算机网络的特点及性能
  19. 美颜SDK是什么意思?美颜SDK可以用在哪些地方?
  20. COVID-19检测方法汇总

热门文章

  1. testing: mock object
  2. 李开复写给中国学生的七封信之给中国学生的第五封信——你有选择的权利(完)...
  3. ASP.NET 例程完全代码版(3)——随意创建图形信息
  4. Kubernetes 集群使用 Jenkins 持续发布
  5. Linux利用lsof命令恢复删除的文件
  6. magento获取判断当前页或句柄handles
  7. 韩军星:汇报工作的四个层级
  8. Java的新项目学成在线笔记-day7(二)
  9. js经典试题之ES6
  10. 前端开发应届生面试指南(含各大公司具体指南及面试真题)