在我们对数据库进行操作的时候,总是先把数据从数据库取出来,然后放到一个"容器"中,再通过这个"容器"取出数据显示在前台,而充当这种容器的角色中当属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有关的部分代码,不过之后我会上传这个的案例,大家有兴趣的可以看看)

    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中的几种传值方式

    一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象.如果你想传递一个安全性不是那么太重要或者是 ...

  2. 【ASP.NET MVC系列】浅谈ASP.NET MVC八大类扩展(上篇)

    lASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操 ...

  3. 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  4. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  5. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  6. 【ASP.NET MVC系列】浅谈ASP.NET MVC 控制器

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  7. 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  8. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  9. 转:浅谈C/C++中的指针和数组(一)

    再次读的时候实践了一下代码,结果和原文不一致 error C2372: 'p' : redefinition; different types of indirection 不同类型的间接寻址 /// ...

随机推荐

  1. Linux操作系统(一)

    操作系统:介于硬件与用户之间的一组程序,方便用户操作,用以管理计算机的所有活动及硬件资源. 1.硬件->内核->系统调用(shell.命令)->应用程序. 只要具备以下几点,即可称为 ...

  2. sitemesh入门

    今天在公司用到了sitemesh这个框架. 网上的资料已经有很多了.  在此就不做具体介绍了, 仅仅做个笔记. sitemesh是一种模板框架,是为了解决页面重复代码而设计的. 设计思想 siteme ...

  3. C# 正则提取字符串(提取一个或多个)

    实例一:string result = ""; string str = "大家好! <User EntryTime='2010-10-7' Email='zhan ...

  4. PAT 1060 爱丁顿数

    https://pintia.cn/problem-sets/994805260223102976/problems/994805269312159744 英国天文学家爱丁顿很喜欢骑车.据说他为了炫耀 ...

  5. jenkins+maven+Tomcat8实现热部署

    个人记录 公司使用jenkins实现代码自动更新并部署 采用jenkins安装方式为war包,版本为:2.138.3,启动方式为Tomcat启动jenkins, 该博客操作步骤有些地方进行简化,各位需 ...

  6. TreeMap源码剖析

    原文  http://blog.csdn.net/chdjj/article/details/38782221 主题 源码分析红黑树 注:以下源码基于jdk1.7.0_11 之前介绍了一系列Map集合 ...

  7. 手机H5显示一像素的细线

    手机屏幕分辨率的问题,导致h5的1像素看起来比较粗,网上找了一个办法,记下来 主要就是通过scale来缩小宽度 .line1px{     border: none;     border-botto ...

  8. idea中Hibernate错误:无法解析表

    idea中Hibernate错误:无法解析表 这种情况主要是在idea中使用hibernate自定义注解,idea无法检查数据源 this inspecton controls whether the ...

  9. bzoj 2178 自适应Simpson积分

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...

  10. MVC3控制器方法获取Form数据方法

    http://www.cnblogs.com/bianlan/archive/2013/01/12/2857310.html 控制器方法获取View页面传送的数据有多种方法,以Edit方法为例: 1. ...