ADO.NET数据访问技术的一个突出的特点就是支持离线访问,而实现这种离线访问技术的核心就是DateSet对象,该对象通过将数据驻留在内存来实现离线访问.

DataSet对象由一组DataTable对象组成,这些对象DataRelation对象互相关联,这些Data Table对象又包含Rows(行)集合、Columns(列)集合,Rows集合是由多个DataRow对象组成,Columns集合是由多个DataColumns对象组成。

步骤

  1. 引入命名空间system.Data
  2. 创建DataSet对象
  3. 创建DataTable对象
  4. 将DataTable对象加入DataSet对象中
  5. 定义列,并像DataTable中增加已经定义好的列
  6. 插入行数据
  7. 进行相关操作
    class Program
{
public static void outprint(DataSet ds) //输出方法
{
foreach (DataTable outable in ds.Tables)
{
Console.WriteLine("表名"+outable.TableName); foreach (DataRow outdrow in outable.Rows)
{
foreach (DataColumn outcolumn in outable.Columns )
{
Console.WriteLine(outdrow[outcolumn]+"\t");
Console.WriteLine();
}
} } } static void Main(string[] args)
{
try
{
//定义数据集
DataSet myds = new DataSet("book");
//定义表
DataTable mydt = new DataTable("table001");
//数据表添加到数据集中
myds.Tables.Add(mydt); //定义列 相当于字段 行 相当于数据 有了字段才能在行上面添加数据,所以要先定义列 DataColumn mytcl1 = new DataColumn("name",Type.GetType("System.String")); //定义mycl1列=新列 列的名称和获取列的数据类型
DataColumn mytcl2 = new DataColumn("deparment",Type.GetType("System.String"));
//列加入到数据表中
mydt.Columns.Add(mytcl1);
mydt.Columns.Add(mytcl2);
string[,] str = { { "张三", "开发部" }, { "赵四", "项目部" }, { "王五", "售后部" }, { "赵六", "技术部" } }; for (int i = 0; i < str.Length / 2; i++) //for循环添加数据
{
DataRow myrow = mydt.NewRow(); //定义行 等于表格中的新行 我们先前定义了表和列 列加入表中,
//table.newrow()返回一个具有相同架构的新行 不定义列直接newrow 里面有字段的也就是没架构 myrow[0] = str[i, 0];
myrow[1] = str[i, 1];
mydt.Rows.Add(myrow); //行加入表中
}
myds.AcceptChanges(); //保存
outprint(myds); }
catch (Exception ex) {
Console.WriteLine(ex.Message.ToString()); }
Console.ReadKey();
}
}
}

  

自己理解
创建dataset数据集的时候 就跟创建database一样
首先呢 要创建数据库【dateset】
创建数据表【datatable】
把表加入到数据库中 ,之后呢要创建字段了 字段就是列
创建完列之后 要把列加入到表中
整个一个dataset数据集(数据库)的框架就弄好了。
定义一个2维数组,利用for 循环传到刚刚我们创建的框架中
往框架中传数据需要用到行(DataRow drw = dtb.NewRow();)把行加入到表中
Drw[] 代表第一行
Drw[] 代表第二行
.
.
.
之后输出dataset数据集
创建一个方法
public void outvalue(DataSet ds)
{
foreach (DataTable outdtb in ds.Tables) //首先检查数据集中的表
{
Console.WriteLine(outdtb.TableName); //输出表名
foreach (DataRow outdrw in outdtb.Rows) //检查行数据
{
foreach (DataColumn outdcl in outdtb.Columns) //检查列数据
{
Console.Write(outdrw[outdcl]+"\t"); //输出列数据 }
Console.WriteLine(); //输出一列后换行
} }

数据集DataSet的更多相关文章

  1. WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据

    数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...

  2. HTML5中的数据集dataset和自定义属性data-*

    在html5中可为所有元素添加一种自定义的属性,这种属性的前缀以data-开头,比如:data-name,目的是为元素提供与页面渲染无关,但与dom元素强相关的属性.添加完自定义属性后我们可以通过元素 ...

  3. C#将数据集DataSet中的数据导出到EXCEL文件的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  4. vs 2010 :类型化数据集DataSet应用

    1.启动服务器资源管理器,建立数据库连接 2.在项目中创建数据集 3.为数据集添加表对象 4.为表适配器tableAdapter添加参数化查询 5.修改表适配器的主查询,或添加其他查询 Update: ...

  5. Webservice 返回数据集 DataSet 及Android显示数据集LiveBindings

    一.服务端 New TSoapDataModule 添加控件 TDataSetProvider,TClientDataSet,TADOQuery,TADOConnection 添加方法 functio ...

  6. 下载Kitti 数据集(dataset) data_road.zip

    官网下载http://www.cvlibs.net/download.php?file=data_road.zip,耗时近3小时,虽然只有几百兆. 但是,我坚持下来了. 保存到了百度网盘,以供国内用户 ...

  7. DataAdapter与DataSet的使用

    1.创建数据库连接: 2.创建数据适配器(Adapter); 3.创建容器数据集(DataSet); 4.从数据集中取出指定表: 5.遍历表数据并输出: using System; using Sys ...

  8. 在sklearn上读取人脸数据集保存图片到本地

    程序如下: # -*- coding: utf-8 -*- """ Created on Sat Oct 31 17:36:56 2015 ""&qu ...

  9. tvtk管线技术、数据集与数据加载

    管线技术也称流水线技术(Pipeline)每个对象只实现相对简单的任务,整个管线进行复杂的可视化处理在tvtk中分为可视化管线和图形管线 可视化管线(Visualization Pipeline):将 ...

随机推荐

  1. 一次MySQL线上慢查询分析及索引使用

    本文由作者郑智辉授权网易云社区发布. 0.前言 本文通过分析线上MySQL慢查询日志,定位出现问题的SQL,进行业务场景分析,结合索引的相关使用进行数据库优化.在两次处理问题过程中,进行的思考. 1. ...

  2. pageadmin 网站建设系统如何新建进程池并在站点中使用

    1.打开iis管理界面,右键应用程序池,点击添加应用程序池,添加界面如下图,注意pageadmin cms net版本选择4.0,托管模式建议选择集成模式. 2.添加完毕后,在网站中点击对应站点,点击 ...

  3. RHEL配置本地yum

    RHEL(即Red Hat Enterprise Linux的缩写)配置本地yum 提前将 rhel-server-6.7-x86_64-dvd.iso 文件上传到服务器上 1.在根目录创建文件夹/m ...

  4. 编程大牛 Bruce Eckel 对新程序员的忠告

    简评:作者 Bruce Eckel 是编程界的大牛,著有大名鼎鼎的<Thinking in C++>和<Thinking in Java>.本文是他对程序员(尤其是新手)的忠告 ...

  5. 细化Azure RBAC权限

    Azure RBAC权限的细化一直是比较繁琐的事情,以下示例抛砖引玉,供大家参考 客户需求: 新用户在指定资源组下权限需求如下: 一.禁止以下权限 1. 调整虚拟机大小配置 2. 删除&停止虚 ...

  6. 2016级算法第六次上机-B.ModricWang's FFT : EASY VERSION

    1114 ModricWang's FFT EASY VERSION 思路 利用FFT做大整数乘法,实际上是把大整数变成多项式,然后做多项式乘法. 例如,对于\(1234\),改写成\(f(x)=1* ...

  7. [整理]Unicode 与 UTF8

    目录 先上总结 ASCII utf-8 编码规则 UTF-16 其他 先上总结 Unicode 是一个符号集, 规定了所有符号的二进制编号. UTF8 是unicode的一种编码方式(存储, 传输方式 ...

  8. rdlc报表函数

    字符串函数 使用串联运算符和      Visual Basic 常量可将多个字段组合在一起.以下表达式返回两个字段,它们分别位于同一文本框的不同行中: 复制代码 =Fields!FirstName. ...

  9. [BZOJ 1056][HAOI2008]排名系统

    传送门 \(\color{green}{solution}\) \(fhq \_treap\)模板题. 对于 \(+\) 操作,如果当前人不存在,那么直接加入;如果存在,那么先将他删除,再加入.复杂度 ...

  10. Vue.js 动态挂载子组件

    直接来实例 父组件 <template> <div> <div :is="sub.content" :ref="sub.name" ...