DataSet和DataTable的 区别与联系

1、简要说明二者关系

在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 DataTable 中。

●注意如下 Ado.Net 关系:

Connection_____Command____DataAdapter____Dataset  _____Datareader

● DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新回数据库

● DataSet相当你用的数据库; DataTable相当于你的表。一个 DataSet 可以包含多个 DataTable

DataSet 由表、关系和约束的集合组成。在 ADO.NET 中,DataTable对象用于表示 DataSet 中的表。DataTable 表示一个内存内关系数据的表;

DataTable和DataRow的 区别与联系

1、简要说明二者关系(foreach (DataRow dr in dt_sn.Rows))

DataRow 和 DataColumn 对象是 DataTable 的主要组件。使用 DataRow 对象及其属性和方法检索、评估、插入、删除和更新 DataTable 中的值。DataRowCollection 表示 DataTable 中的实际 DataRow 对象,DataColumnCollection 中包含用于描述DataTable 的架构的 DataColumn 对象。使用重载的 Item 属性返回或设置 DataColumn 的值。

使用 HasVersion 和 IsNull 属性确定特定行值的状态,使用 RowState 属性确定行相对于它的父级 DataTable 的状态。

namespace ProjectWeb
{
public partial class DataSetTable : System.Web.UI.Page
{
//创建字典,好处就是使用ContainsKey功能
private Dictionary<string, string> dicObject = new Dictionary<string, string>(); protected void Page_Load(object sender, EventArgs e)
{
//把DataTable数据添加到Dictionary字典
DataTable dt_sn = GetData().Tables[0];
this.dicObject.Clear();
foreach (DataRow dr in dt_sn.Rows)
this.dicObject.Add(dr["id"].ToString(), dr["name"].ToString()); //Dictionary字典的数据添加到页面DropDownList1
this.DropDownList1.Items.Clear();
this.DropDownList1.Items.Add(new ListItem("第一张表"," "));
foreach (KeyValuePair<string, string> kv in dicObject)
this.DropDownList1.Items.Add(new ListItem(kv.Value, kv.Key)); //第二张表数据
DataTable dt_te = GetData().Tables[1];
this.DropDownList2.Items.Clear();
this.DropDownList2.Items.Add(new ListItem("第二张表", " "));
foreach (DataRow dr in dt_te.Rows)
this.DropDownList2.Items.Add(new ListItem(dr["name"].ToString(), dr["id"].ToString()));
}
#region 返回数据集
private DataSet GetData()
{
//创建第一张表
DataTable dt_sn = new DataTable();
//添加列
dt_sn.Columns.Add("id");
dt_sn.Columns.Add("name");
//添加行
DataRow dr_sn = dt_sn.NewRow();
dr_sn["id"] = "1";
dr_sn["name"] = "杨秀徐";
dt_sn.Rows.Add(dr_sn);
//表名称
dt_sn.TableName = "SN"; //创建第二张表
DataTable dt_te = new DataTable();
//添加列
dt_te.Columns.Add("id");
dt_te.Columns.Add("name");
//添加行
DataRow dr_te = dt_te.NewRow();
dr_te["id"] = "2";
dr_te["name"] = "杨四节";
dt_te.Rows.Add(dr_te);
//表名称
dt_te.TableName = "Te"; DataSet ds = new DataSet();
//把表DataTable添加到数据集DataSet
ds.Tables.Add(dt_sn);
ds.Tables.Add(dt_te); return ds;
}
#endregion
}
}

点击下载实例

Ado.Net,关于DataSet和DataTable的更多相关文章

  1. ADO.NET中DataSet、DataTable、DataRow的数据复制方法

    DataSet 对象是支持 ADO.NET的断开式.分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个DataTable的数据或者复制另一个DataTabe中的数据 ...

  2. ADO.NET基础02(语句参数化,配置文件,DataSet与DataTable)

    ADO.NET连接池 ado.net默认启用了连接池 *如何清空连接池?Connection的静态方法ClearAllPools(). ClearPool() Ado.net连接池使用总结: 1.第一 ...

  3. Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介

    ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...

  4. 【ADO.NET基础知识】SqlConnection、command、DataSet 、DataTable、dataAdapter

    1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) (2)定义连接字符串.连接SQL Server 数据库时: ...

  5. DataSet与DataTable对象

    DataSet与DataTable对象 摘自:http://www.cnblogs.com/fttbfttb/articles/1509662.html DataSet对象 DataSet是ADO.N ...

  6. 关于PagedDataSource分页属性与DataSet和DataTable详解

    Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeate ...

  7. DataSet、DataTable、DataRow 复制

    DataSet.DataTable.DataRow 复制 DataSet 对象是支持 ADO.NET的断开式.分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个Da ...

  8. .Net 中DataSet和DataTable的 区别与联系

    1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中.其实使用 dataset 相当于所使用数据库中数据的副本,保存在 ...

  9. DataSet、DataTable、DataRow的数据复制方法

    DataSet 对象是支持 ADO.NET的断开式.分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个DataTable的数据或者复制另一个DataTabe中的数据 ...

随机推荐

  1. iPhone/iPad各种文件路径详解 帮助了解自己的iphone和ipad

    以下内容皆为转载分享iPhone里重要的目录路径有哪几个? 1. /private/var/mobile 新刷完的机器,要在这个文件夹下建一个Documents的目录,很多程序都要用到. 2. /pr ...

  2. C#编程(三十八)----------运算符

    原文链接: http://blog.csdn.net/shanyongxu/article/details/46877353 运算符 类别 运算符 算术运算符 + - * / 逻辑运算符 &  ...

  3. 两个Activity之间共享数据、互相访问的另一种方式的实现

    本帖最后由 勇敢的心_ 于 2010-9-29 11:51 编辑 本人从windows编程转过来学习Android开发,一直在想如果两个Activity之间能够像C#或delphi中的Form一样,可 ...

  4. how to use kvo with swift (怎样在swift中使用kvo)

  5. 解决eclipse中web项目出现Project facet Java version 1.8 is not supported.的问题

    项目的jdk和tomcat的jdk版本不同,将eclipse-preference-server-runtime environments点击你要用的tomcat点击edit-jre选择和你项目对应的 ...

  6. dwz 如何去掉ajaxloading具体代码

    $.ajaxSettings.global=false; $.getJSON(show.conf.url, show.conf.data, function(d) { });

  7. SharePoint Online 创建图片库

    前言 本文介绍如何在Office 365中创建图片库,以及图片库的一些基本设置. 正文 通过登录地址登录到Office 365的SharePoint Online站点中,我们可以在右上角的设置菜单中, ...

  8. 绝命毒师第五季/全集Breaking Bad迅雷下载

    本季Breaking Bad Season 5(2012)看点:故事紧接着上一季,通过一场精心策划的大爆炸,沃尔特(布莱恩·科兰斯顿 Bryan Cranston 饰)终于除掉了长久以来的威胁古斯塔沃 ...

  9. mongodb 脚本操作

    MO='mongo'$MO << EOFuse testdbdb.dropDatabase()show dbsexit;EOF

  10. ListView取消和自定义分割线的方法

    一.不显示分割线 XML android:footerDividersEnabled="false"即可. JAVA mListView.setDivider(null); 二.改 ...