数据集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):将 ...
随机推荐
- C#基础笔记(第二十一天)
1.FIle类.Path类.Directory类复习操作文件的File 操作文件,静态类,对文件整体操作.拷贝.删除.剪切等.Directory 操作目录(文件夹),静态类.Path 对文件或目录的路 ...
- Java并发之ReentrantLock详解
一.入题 ReentrantLock是Java并发包中互斥锁,它有公平锁和非公平锁两种实现方式,以lock()为例,其使用方式为: ReentrantLock takeLock = new Reent ...
- 如何进入PageAdmin CMS 安装界面
一般下面几个应用场景如第一次使用PageAdmin配置参数.服务器迁移.主域名更换.忘记超级管理员密码等都可以在安装界面进行设置. 下面为PageAdmin安装步骤 1.地址栏输入:http://您的 ...
- “全栈2019”Java异常第四章:catch代码块作用域详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- 喝最烈的酒、挖最大的DONG——工具与技巧篇
本文作者:i春秋签约作家——黑色镰刀 0×00 前言 在这个科技发达的时代,很多时候工具都可以代替人做很多事情,之前我就有谈起过有企业将人工智能运用于网络安全方面,像如今,也有更多更人性化更智能的工具 ...
- YC全球总裁:我招揽陆奇好多年,如今终于如愿了!
简评:YC 老大多年来一直在努力招揽陆奇,终于如愿了. YC 总裁 Sam Altman 在 8 月 14 日,发布了关于陆奇以及 YC 中国的公告,全文如下: 我非常荣幸地宣布,陆奇加入 YC 并且 ...
- C语言多线程编程一
1. Windows下同时打开多个对话框: #include <Windows.h> #include <process.h> //创建线程 void runmsg(void ...
- 总结day26 ----验证客户端的合法性,已经操作系统,进程的简单初识别
前情提要 一:验证客户端的合法性: # .需要认证 # 程序和用户打交道的时候才会用到用户认证 # 对所有的客户端进行统一的认证 # # 我现在要做的事情 # 写一个server端 # 写一个clie ...
- Hadoop 3.1.2 下载安装和分布式搭建的准备
官方有详细文档:https://hadoop.apache.org/docs/r3.1.2/hadoop-project-dist/hadoop-common/SingleCluster.html 我 ...
- 【算法笔记】A1039 Course List for Student
https://pintia.cn/problem-sets/994805342720868352/problems/994805447855292416 题意: 有N个学生,K节课.给出选择每门课的 ...