ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。

DataTable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中

首先了解下ADO.NET的基本结构图吧

下面再说说DataTable对象创建方式

1.创建DataTable对象,采用下列两种方式之一:

  1. 使用DataTable类的构造函数创建DataTable对象,例如:

DataTable table = new DataTable( );

  1. 调用DataSet的Tables对象的Add方法创建DataTable对象

DataSet dataset = new dataSet( );

DataTable table = dataset.Tables.Add(“MyTableName”);

2. 在DataTable对象中添加列

调用DataTable对象的Column中的Add方法添加列。例如:

DataTable table = new DataTable(“table1”);

table.Columns.Add(“姓名”,typeof(System.Data.SqlTypes.SqlString));

table.Columns.Add(“年龄”,typeof(System.Data.SqlTypes.SqlInt32));

注意: 由于SQL Server数据库中的有些数据类型(如SqlDateTime、SqlDecimal和SqlString等)和公共语言运行库(CLR)不相同,要将 创建的表保存到SQL Server数据库中,要使用System.Data.SqlType命名空间中提供的SQL Server数据类型。

3 在DataTable对象中创建行

由于DataTable对象的每一行都是一个DataRow对象,所以创建行时可以利用DataTable对象的NewRow方法创建一个DataRow对象,并设置新行中各列的数据,然后利用Add方法将DataRow对象添加到表中。例如:

//dt是一个DataTable对象

DataRow row = dt.NewRow( );

row[“姓名”] = “张三”;

row[“年龄”] = 20;

dt.Rows.Add(row);

4 将SQL Server数据库中的表填充到DataTable对象中

 通过DataAdapter对象的Fill方法完成。

string connectionString = Properties.Settings.Default.MyDatabaseConnectionString;

SqlConnection conn = new SqlConnection(ConnectionString);

SqlDataAdapter adapter = new SqlDataAdapter(“Select * from MyTable2”,conn);

DataSet dataset = new DataSet( );

//如果不指定表名,则系统自动使用默认的表名

adapter.Fill(dataset);

//可以使用索引生成的表

dataGridView1.DataSource = dataset.Tables[0];

 DataSet  对象

  1. 创建DataSet对象

    • [解决方案资源管理器]--〉添加一个新建或者已经存在的数据库
    • [数据]--〉[创建数据源]--〉创建或添加一个已经存在的数据库
    • 绑定窗体控件时使用向导创建DataSet对

DataSet MyDatabase = new DataSet( );

填充DataSet对象

创建DataSet后,就可以使用SqlDataAdapter对象把数据导入到DataSet对象中,比如通过Fill方法将数据填充到DataSet中的某个表中。

ADO.NET对象之 DataTable的更多相关文章

  1. ADO五大对象(转载)

    来源:http://blog.csdn.net/u013201439/article/details/51111969 ADO五大对象(转载) 一.绪论 1.引言 在数据库应用系统中,必定要涉及到对数 ...

  2. ADO.NET 对象

    (一)OleDbConnection 使用COM组件链接 (二)ADO.NET 对对数据库访问做了优化: 1.SqlConnection 用于建立和Sql Server服务器连接的类,表示打开数据库 ...

  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核心:DataTable对象

    概述 DataTable表示内存中数据的一个表. .net命名空间:System.Data DataTable构造方法 DataTable() //不带参数初始化DataTable 类的新实例. Da ...

  5. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  6. 反射入门-浅谈反射用途_根据Ado游标对象创建list集合

    本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...

  7. Ado.net对象

    Connection对象主要提供与数据库的连接功能 Command 对象用于返回数据,修改数据,运行存储过程以及发送或检索参数信息的数据库命令. DataReader对象通过Command对象提供从数 ...

  8. ADO五大对象

     ADO.NET五大对象, 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只 ...

  9. ADO.NET DataSet、DataTable、DataRow、DataView的学习

    对于一个datatable中的数据进行嵌套查询判断某几列数据是否相同从而确定这条数据是否一样,并确定他重复的次数COUNT1字段. 例如: DataTable dt = new DataTable() ...

随机推荐

  1. [Eclipse] Eclipse中,Add Jars与Add Library的区别

    refer to : http://blog.csdn.net/gaojinshan/article/details/16948075 Eclipse中,工程属性的Java Build Path的Li ...

  2. 解决iphone5,5s有锁版(AU,SB,S版等等)ios7越狱后+86、FT、IM等一切问题

    最近无聊,给大家发一个关于完美解决iphone5,5c.5s有锁版本机号码.+86.短信.facetime.imessage等问题.是ios7系统哦!(本人亲测iphone5 SB版 双模卡解锁)相当 ...

  3. yum rpm

    本文多选自鸟哥的私房菜,非常感谢鸟哥^_ _^

  4. Android之查看网络图片和网页HTML

    网络编程是Android应用中很重要的一部分,本文主要讲述了利用HttpURLConnection获取网络图片和HTML的方法. 获取网络图片 public class MainActivity ex ...

  5. oracle 序列 详解

    序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l  自动提供唯一的数值 l  共享对象 l  主要用于提供主键值 l  将序列值装入内存可以提高访问效率 创建序列: 1.  要有创建 ...

  6. 安装win7或win8系统时UEFI和Legacy模式的设置

    很多新型号的笔记本或台式机主板都开始支持UEFI模式,比起原来的Legacy启动减少了BIOS自检,加快平台启动,如下图所示Legacy,UEFI启动过程: 安装系统,建议选择Legacy模式,在UE ...

  7. Ubuntu could not write bytes broken pipe

    一.环境变量问题 1 到登录界面的时候,进入命令行模式: alt+ctrl+F1 2 登录 3 修改环境变量(当我输入ls的时候  竟然没有找到命令,然后果断的知道是环境变量的事情,于是改之!) 4 ...

  8. Java Hour 48 Servlet 简介

    搞Java Web 开发,绕不开的就是Servlet 了.传说Servlet 是一种比JSP 更加古董的动态网页编程技术.在没有JSP 之前,Servlet 同时充当了展现层,业务逻辑层和持久层. 这 ...

  9. loj 1300( 边双联通 + 判奇圈 )

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27010 思路:首先Tarjan标记桥,然后对于dfs遍历整个图,我 ...

  10. Linux常用命令_(文件查看)

    文件查看主要有以下命令 cat.tac.more.less.head.tail.nl cat命令:是一个文本文件查看和连接工具.从第一个字节开始正向查看文件的内容,适用于小文件 以第一行开始,显示没有 ...