ADO.NET 2.0 学习笔记(一)——概述
1、概述
需要海量数据的应用程序,需要有专门的专门的程序管理数据,这种专门的程序就是数据库。数据库有基于服务器的架构的,像SQL Server,Oracle,DB2,MySQL等等;也有基于文本的架构的,像微软的Access和Excel。现在最流行的数据库是关系数据库(RDBMS),它们把数据存储在表中,把数据作为表中行、列和值的集合,还可以设定不同的表之间的关系。
一个应用程序可以有多个数据源,这需要数据访问类库来实现与数据库的交互。
ADO.Net 是微软.Net框架的一部分,它由一组工具和层组成。在.Net框架中,ADO.Net位于System.Data命名空间下,这些类库包括连接到数据源、执行命令、存储、操作和获取数据等功能。ADO.Net支持并发、池化、XML以及非连接的架构。
2、ADO.NET的重要对象
ADO.NET架构包括两个基本类别:连接的和非连接的。在ADO.NET中的各种类都可以分为这 两种,除了DataAdapter对象,它是连接的和非连接的之间的桥梁。
连接对象:在与数据源交汇时必须要有打开的可以连接的对象。
Connection:建立与数据源的连接,如SqlConnection、OracleConnection。
Command:表示在底层数据源执行的命令,这些命令可以实现增删改查。如SqlCommand,OracleCommand。
DataAdapter:如SqlDataAdapter、OracleDataAdapter。
DataReader
Transaction
Parameter
非连接对象:
DataSet:可以把DataSet看成是内存中的小型关系数据库,也可看成是DataTable和DataRelation的逻辑集合。
DataTable:类似于数据库中的表,由DataColum、DataRow和作用在它们上面的各种约束组成。ADO.NET 2.0中,DataTable可以完全转换成XML。
DataRow:DataTable的一个属性是DataRowCollection类型的Row,表示一个可列举的DataRow对象集合。
DataColumn:DataTable也包含一个DataColumnCollection类型的Column属性。
DataView:很像数据库中的视图。
Constraint
DataRelation
3、.NET数据提供程序(.NET Data Provider)
ADO.NET为底层的各种数据库提供了不同的连接对象的特定实现。例如,要连接到SQL Server,需要引用System.Data.SqlClient命名空间;要连接到Oracle,需要引用System.Data.OracleCilent。
这些针对特定数据库的具体实现称为.NET数据提供程序。
数据源名称 |
提供程序命名空间 |
SQL Server 7.0及以上版本 |
System.Data.SqlClient |
Oracle 8.1.6及以上版本 |
System.Data.OracleClient |
SQL Server中的SQLXML支持 |
System.Data.SqlXml |
任何ODBC数据源 |
System.Data.ODBC |
任何OLE DB数据源 |
System.Data.OleDb |
第三方.NET数据提供程序
实现了ADO.NET的各种基类和接口,例如Oracle为ADO.NET提供了ODP.NET,安装Oracle客户端后有一个DLL文件Oracle.DataAccess.dll,引用Oracle.DataAccess.Client可以替代System.Data.OracleClient。
4、查询数据源的步骤
1) 创建一个新的控制台应用程序
2) 在Program.cs的顶部添加必要的引用:
using System.Data.SqlClient;
3) 创建一个能够维持连接的对象:
Private static string connectionString=”Data Source=(local);Initial Catalog=Test;Integrated Security=True”;
SqlConnection testConnection=new SqlConnection(connectionString);
4) 创建一个能留存SQL查询的命令:
SqlCommand testCommand=testConnection.CreateCommand();
testCommand.CommandText=”Select DemoValue from Demo where DemoID=1”;
5) 接着打开连接:
testConnection.Open();
6) 执行命令:
string result=(string)testCommand.ExecuteScalar();
7) 接着关闭连接:
testConnection.Close();
8) 显示结果:
Console.WriteLine(result);
ADO.NET应该遵循的一条规则是“尽可能晚地打开连接并且尽可能早地关闭连接“。连接数据源的步骤是:
1) 创建连接。
2) 创建命令以便留存SQL查询。
3) 打开连接。
4) 执行命令。
5) 关闭连接。
6) 显示结果。