数据集DataSet
ADO.NET数据访问技术的一个突出的特点就是支持离线访问,而实现这种离线访问技术的核心就是DateSet对象,该对象通过将数据驻留在内存来实现离线访问.
DataSet对象由一组DataTable对象组成,这些对象DataRelation对象互相关联,这些Data Table对象又包含Rows(行)集合、Columns(列)集合,Rows集合是由多个DataRow对象组成,Columns集合是由多个DataColumns对象组成。
步骤
- 引入命名空间system.Data
- 创建DataSet对象
- 创建DataTable对象
- 将DataTable对象加入DataSet对象中
- 定义列,并像DataTable中增加已经定义好的列
- 插入行数据
- 进行相关操作
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的更多相关文章
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...
- HTML5中的数据集dataset和自定义属性data-*
在html5中可为所有元素添加一种自定义的属性,这种属性的前缀以data-开头,比如:data-name,目的是为元素提供与页面渲染无关,但与dom元素强相关的属性.添加完自定义属性后我们可以通过元素 ...
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- vs 2010 :类型化数据集DataSet应用
1.启动服务器资源管理器,建立数据库连接 2.在项目中创建数据集 3.为数据集添加表对象 4.为表适配器tableAdapter添加参数化查询 5.修改表适配器的主查询,或添加其他查询 Update: ...
- Webservice 返回数据集 DataSet 及Android显示数据集LiveBindings
一.服务端 New TSoapDataModule 添加控件 TDataSetProvider,TClientDataSet,TADOQuery,TADOConnection 添加方法 functio ...
- 下载Kitti 数据集(dataset) data_road.zip
官网下载http://www.cvlibs.net/download.php?file=data_road.zip,耗时近3小时,虽然只有几百兆. 但是,我坚持下来了. 保存到了百度网盘,以供国内用户 ...
- DataAdapter与DataSet的使用
1.创建数据库连接: 2.创建数据适配器(Adapter); 3.创建容器数据集(DataSet); 4.从数据集中取出指定表: 5.遍历表数据并输出: using System; using Sys ...
- 在sklearn上读取人脸数据集保存图片到本地
程序如下: # -*- coding: utf-8 -*- """ Created on Sat Oct 31 17:36:56 2015 ""&qu ...
- tvtk管线技术、数据集与数据加载
管线技术也称流水线技术(Pipeline)每个对象只实现相对简单的任务,整个管线进行复杂的可视化处理在tvtk中分为可视化管线和图形管线 可视化管线(Visualization Pipeline):将 ...
随机推荐
- UWP开发入门(十)——通过继承来扩展ListView
本篇之所以起这样一个名字,是因为重点并非如何自定义控件,不涉及创建CustomControl和UserControl使用的Template和XAML概念.而是通过继承的方法来扩展一个现有的类,在继承的 ...
- Nginx+keepalive 负载均衡
1 规划和准备 两台相同配置的web 用途 IP MASTER 192.168.1.100 BACKUP 192.1681.101 2 安装 两台接入服务器分别安装NginX和keepalived: ...
- java 实验5 图形用户界面设计试验
常用布局 1).流布局: FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化. 容器.setLayout(new FlowLayout(FlowLayout.LEF ...
- “全栈2019”Java第一百零四章:匿名内部类与外部成员互访详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Mybatis 的输入参数学习
mybatis 的输入参数: 指得就是parameterType的参数 这个参数就代表的sql语句中的输入参数 sql语句中的参数使用 有两种方式 : 使用#{} 获取: 8个基本数据类型 + S ...
- robot framework学习笔记之十一--第三方库requests详解
一.安装 Requests 通过pip安装 pip install requests 或者,下载代码后安装: $ git clone git://github.com/kennethreitz/req ...
- Substr函数助你免杀php脚本
主要利用substr函数和url编解码 本文作者:i春秋签约作家Laimooc 1]安全狗: 新研究的php脚本木马:最新版安全狗扫描如下: 成功看到:扫描已完成,未发现网页木马以及其他威胁(开心吗, ...
- Nodejs Express模块server.address().address为::
来自 http://blog.csdn.net/medivhq/article/details/74171939 我按照菜鸟教程上的写法为:(http://www.runoob.com/nodejs/ ...
- Flask_WTF升级到最新版本
用pip $ pip install -U Flask-WTF 看熊哥的后端管理系统时候报错ImportError: cannot import name FlaskForm. 那一行的代码:from ...
- UVALive-7457-Discrete Logarithm Problem(取模运算)
原题链接 额,一直在理解题意在纠结看不懂,后来才恍然大悟 题意:定义一种新运算 a × b = a * b mod p : 已知条件给定一个p 求 x 这里用到同余与模运算乘法公式:a * b % n ...