ADO.net的对象模型分为两个部分: 1.数据容器部分 2.数据提供者部分
数据容器部分声明了在断开模型中保存数据的各种对象. 所有的数据容器在System.Data中声明,所以需要引入System.Data (using System.Data;) 数据容器主要有以下几种:
DataSet:用于保存多个数据表一击这些表之间的关系
DataTable:用于保存一个数据表中的数据
DataRow:用于保存数据表中的一行记录
DataView:提供单个数据表的多种视图的访问形式
数据提供者的对象类型在各自的命名空间
SQL Server的空间为:System.Data.SqlClient;
OLEDB的空间为:System.Data.OLEDBCommand;
数据提供者的主要对象有:
Connection:用于建立数据库的连接
Command:用于向数据库发布命令
DataReader:提供向前的,只读的方式访问数据
DataAdapter:将数据库中的数据按照容器的格式填充到容器中
connection的使用例子:
//数据库连接字符串
String ConnectionString="server=(local);
database=MyBookShop;User Id=sa;pwd=sa";
//创建连接对象
SqlConnection Connection = new SqlConnection(ConnectionString);
//打开连接
Connection.open();
Command和DataReader使用例子:
//数据库连接字符串 String SqlString="select * from table1";
//创建一个Command对象(根据数据库不同)
SqlCommand cmd = new SqlCommand(SqlString,Connection);
//执行命令 SqlDataReader dr=cmd.ExecuteReader();
//一般会写成cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
//其中附带的参数表示执行完成后关闭连接
DataAdapter使用的例子:
//数据库连接字符串
String SqlString="select * from table1";
//创建一个DataAdapter对象(根据数据库不同)
SqlDataAdapter adapter = new SqlDataAdapter(SqlString,Connection);
//初时化一个DataSet对象
DataSet dataset = new DataSet();
//将DataAdapter取得的数据填充到dataset中
adapter.Fill(dataset);
DataReader类
使用DataReader类可以实现对特定数据源中的数据进行高速,只读,只向前的数据访问。与数据集(DataSet)不同,DataReader是一个依赖于连接的对象。就是说他只能在于数据源保持连接的状态下工作,因此执行的过程往往是:
(1)首先打开与数据源的连接
(2)调用DataReader类的Read方法
(3)关闭与数据源的连接