ADO.NET对象之 DataTable
ADO.NET可以在与数据库断开连接的方式下通过DataSet或DataTable对象进行数据处理,当需要更新数据时才重新与数据源进行连接,并更新数据源。
DataTable对象表示保存在本机内存中的表,它提供了对表中行列数据对象的各种操作。可以直接将数据从数据库填充到DataTable对象中,也可以将DataTable对象添加到现有的DataSet对象中
首先了解下ADO.NET的基本结构图吧

下面再说说DataTable对象创建方式
1.创建DataTable对象,采用下列两种方式之一:
- 使用DataTable类的构造函数创建DataTable对象,例如:
DataTable table = new DataTable( );
- 调用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 对象
- 创建DataSet对象
- [解决方案资源管理器]--〉添加一个新建或者已经存在的数据库
- [数据]--〉[创建数据源]--〉创建或添加一个已经存在的数据库
- 绑定窗体控件时使用向导创建DataSet对
DataSet MyDatabase = new DataSet( );
填充DataSet对象
创建DataSet后,就可以使用SqlDataAdapter对象把数据导入到DataSet对象中,比如通过Fill方法将数据填充到DataSet中的某个表中。
ADO.NET对象之 DataTable的更多相关文章
- ADO五大对象(转载)
来源:http://blog.csdn.net/u013201439/article/details/51111969 ADO五大对象(转载) 一.绪论 1.引言 在数据库应用系统中,必定要涉及到对数 ...
- ADO.NET 对象
(一)OleDbConnection 使用COM组件链接 (二)ADO.NET 对对数据库访问做了优化: 1.SqlConnection 用于建立和Sql Server服务器连接的类,表示打开数据库 ...
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...
- ado.net核心:DataTable对象
概述 DataTable表示内存中数据的一个表. .net命名空间:System.Data DataTable构造方法 DataTable() //不带参数初始化DataTable 类的新实例. Da ...
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- 反射入门-浅谈反射用途_根据Ado游标对象创建list集合
本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...
- Ado.net对象
Connection对象主要提供与数据库的连接功能 Command 对象用于返回数据,修改数据,运行存储过程以及发送或检索参数信息的数据库命令. DataReader对象通过Command对象提供从数 ...
- ADO五大对象
ADO.NET五大对象, 1. Connection:与数据源建立连接. 2. Command:对数据源执行SQL命令并返回结果. 3. DataReader:读取数据源的数据,只允许对将数据源以只 ...
- ADO.NET DataSet、DataTable、DataRow、DataView的学习
对于一个datatable中的数据进行嵌套查询判断某几列数据是否相同从而确定这条数据是否一样,并确定他重复的次数COUNT1字段. 例如: DataTable dt = new DataTable() ...
随机推荐
- Python多进程(1)——subprocess与Popen()
Python多进程方面涉及的模块主要包括: subprocess:可以在当前程序中执行其他程序或命令: mmap:提供一种基于内存的进程间通信机制: multiprocessing:提供支持多处理器技 ...
- Oracle的锁表与解锁
Oracle的锁表与解锁 SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK', NULL) ...
- Cocos2dx开发游戏移植到Android平台
第一步:安装配置安卓SDK,下载NDK并解压,下载cygwin并安装 第二步:导入platform文件夹下,android文件夹下java文件夹 在eclispe的windows--pereferen ...
- Linux下如何设置和查看环境变量
Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效. 2 临时的:使用export命令声明即可,变量在关闭shell时失效. 按作用范 ...
- Linux中获取当前程序的绝对路径
代码如下: char current_absolut_path[MAX_SIZE] = ""; memset(current_absolut_path,,MAX_SIZE); // ...
- Android中获取蓝牙log
1.蓝牙的snoop log存放位置 /etc/bluetooth/bt_stack.conf 2.修改方法 #关闭蓝牙 修改bt_stack.conf文件中打印log的等级 adb root a ...
- PHP项目:如何用PHP高并发检索数据库?
对于抢票.秒杀这种业务,我说说自己对这种高并发的理解吧,这里提出个人认为比较可行的几个方案: 方案一:使用队列来实现 可以基于例如MemcacheQ等这样的消息队列,具体的实现方案这么表述吧 比如有1 ...
- 前端调试效率低?试试这10个“Chrome开发者工具”使用技巧
摘要:今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试,优化页面渲染速度等.希望能提升Web开发人员的工作效率. 今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试, ...
- C++primer学习笔记(一)——Chapter 3
3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那 ...
- 最新IP地址数据库
2016年12月1日 最新发行版 265051条数据 基于:国内基于省市区以及运营商 国外基于国家 版本:全球旗舰版 国内精华版 国外拓展版 英文版 掩码版 字段:大洲 国家 省份 城市 县区 运营 ...