ADO.NET 是一组向 .NET 程序员公开数据访问服务的类。提供了对各种关系数据、XML 和应用程序数据的访问。

所有的数据访问类位于System.Data.dll中。System.Data包含了DataSet以及其他的支持类;System.Data.SqlClient数据提供程序专用于SQL Server数据库。

NET Framework数据提供程序提供5个核心对象(ADO.NET的五个核心对象)

1.   Connection连接对象,用于与特定的数据源建立连接。连接服务器的4个参数,server=.;uid=sa;pwd=;database=northwind打开连接Open(),关闭连接Close()

2.   Command执行对象,用于对数据源执行命令

两个属性对谁执行什么操作:

    • CommandText:SQL语句字符串
    • Connection:执行的连接对象

三个函数执行命令:

  • ExecuteNonQuery( ),方法执行insert,update,delete语句,返回受影响的行数是int类型。
  • ExecuteReader方法执行select语句,返回SqlDataReader只读数据集
  • ExecuteScalar()方法执行select语句,主要是带聚合函数的查询。返回结果集中第一行第一列值,是object类型

3.   DataReader对象,数据阅读器,它里面的数据是只读的,且只向前逐行读取。

函数:Read()用于从数据源中读取下一条记录,返回bool值,true为有数据;false为无数据;其中一条记录的某个列的值dr["列名"]。

4. DataAdapter对象,数据适配器,用于用数据源的数据填充 DataSet数据集并解析更新数据集

                    Fill()方法,执行查询,填充DataSet

5. DataSet对象存放数据集,实际上是从数据源中检索到的数据在内存中的缓存。在DataSet中可以包含多个DataTable,可以简单的理解为一个临时的小型关系数据库。它是支持ADO.NET的断开式、分布式数据方案的核心对象。所以在与数据库断开连接后,DataSet中的数据不会消失。调用DataAdapter对象的Fill()方法将查询到的数据填充到DataSet。

f)   DataSet结构:

i.      DataSet——DataTable——(DataColum,DataRow,DataView……)

ii.      DataSet   ds由表格集合,属性为Tables,取某张表ds.Tables[0],每一张表都是一个DataTable

  1. iii.      每张表又由列(DataColum)、行(DataRow)、视图(DataView)等构成

1、列集合属性dt. Columns;

a)   在表格中添加列dt.Columns.Add("列名")

b)   删除列dt.Columns.Remove("列名");

c)   清空列dt.Columns.Clear();

2、行集合属性dt.Rows

a)   按dt表结构创建一个行DataRow row = dt.NewRow();

b)   添加一行记录dt.Rows.Add(row)

c)   移除一行记录dt.Rows.Remove(row)

d)   清空所有行dt.Rows.Clear()

3、获取DataSet集合ds中指定表Tables[0]指定行Rows[0]指定列.Rows[0]["UserName"]的值,语法:DataSet对象名.Tables[表名或表索引号].Rows[行号][列号或列名]

【ADO.NET】ADO.NET知识点的更多相关文章

  1. ADO与ADO.NET的区别与介绍

    1. ADO与ADO.NET简介ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用.高速度.低内存支出和占用磁盘空间较少,支持用于建立基 ...

  2. ADO和ADO.NET的区别

    1. ADO与ADO.NET简介 ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用.高速度.低内存支出和占用磁盘空间较少,支持用于建立 ...

  3. ADO和ADO.NET有什么不同?

    1.一些ADO中常见的类型比如RecordSet在ADO.NET中已经没有了,而且在ADO.NET中也新增了许多在传统ADO中找不到的直接对应的新类型(如数据适配器): 2.传统的ADO主要针对紧密连 ...

  4. [转帖]ODBC、OLEDB、ADO、ADO.NET

    一文详解ODBC.OLEDB.ADO.ADO.NET之间的关系 2019年01月16日 21:28:38 LoveMIss-Y 阅读数:66更多 所属专栏: 白话C#高级编程   版权声明:本文为博主 ...

  5. 第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获得连接字符串

    第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获 ...

  6. ADO与ADO.Net

    在介绍ADO.Net之前先让我们回想一下在红皮书中学习的ADO的内容. ADO(ActiveX Data Objects).我们称它为一种用于数据訪问的对象模型,<VB.Net>视频中称它 ...

  7. asp、asp.net、ado、ado.net各自区别和联系?

    asp.net与ado.net 的区别? asp.net是微软公司的.Net技术框架下的B/S(网页方向)框架技术.ado.net则是由asp.net编程语言编写的数据访问层的总括..说白了就是:as ...

  8. ADO.NET (二)—— ADO和ADO .NET对照

     ADO.NET (二)-- ADO和ADO .NET对照       我们知道ADO.NET的两大核心组件各自是Data Provider和DataSet.假设说 DataSet是ADO.NET的心 ...

  9. ADO与ADO.NET的区别

    ADO是使用ole db接口并基于微软的COM技术,ADO.NET使用自己的ADO.NET接口并基于微软的.NET体系架构,所以ADO.NET与ADO是两种数据访问方式. ADO以recordset存 ...

  10. Java进击C#——语法之ADO.NET

    本章简言 上一章讲到关于C#语法的基础部分.了解相关的基础部分之后我们就要去了解一下C#是什么样子访问数库的.C#把访问数据库这一部分的知识点叫作ADO.NET.即是JAVA常常讲到的JDBC这一部分 ...

随机推荐

  1. 数据结构之栈和队列及其Java实现

    栈和队列是数据结构中非常常见和基础的线性表,在某些场合栈和队列使用很多,因此本篇主要介绍栈和队列,并用Java实现基本的栈和队列,同时用栈和队列相互实现. 栈:栈是一种基于“后进先出”策略的线性表.在 ...

  2. 北京Uber优步司机奖励政策(10月19日~10月25日)

    用户组:优步北京人民优步A组(适用于10月19日-10月25日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...

  3. [Python3.X]python 实现斐波那契数列

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  4. VINS(四)初始化与相机IMU外参标定

    和单目纯视觉的初始化只需要获取R,t和feature的深度不同,VIO的初始化话通常需要标定出所有的关键参数,包括速度,重力方向,feature深度,以及相机IMU外参$R_{c}^{b}$和$p_{ ...

  5. 海思NB-IOT模块HI2115芯片I2C通信

    1. 首先确定硬件上I2C的引脚,手册上并没有,海思技术支持说是14和15脚,我们用的是12和13脚,问题在于,如果是硬件I2C应该不能随便换个引脚吧,难道是模拟的时序? 2. 下一个奇怪的地方,这个 ...

  6. ORA-15032、ORA-15033—Linux环境

    SQL> alter diskgroup DATA add failgroup DATA_0000 disk '/dev/raw/raw12'; alter diskgroup DATA add ...

  7. 「专题训练」k-Tree(CodeForces Round #247 Div.2 C)

    题意与分析(Codeforces-431C) 题意是这样的:给出K-Tree--一个无限增长的树,它的每个结点都恰有\(K\)个孩子,每个节点到它\(K\)个孩子的\(K\)条边的权重各为\(1,2, ...

  8. hdu1217Arbitrage(floyd+map)

    Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  9. hdu6027Easy Summation(快速幂取模)

    Easy Summation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  10. Linux命令应用大词典-第44章 PPPoE配置

    44.1 pppoe-setup:配置PPPoE客户端 44.2 ppoe-connect:管理PPPoE链路 44.3 pppoe-start:启动PPPoE链路 44.4 pppoe-stop:关 ...