ADO.NET数据提供程序
对象 | 基类 | 实现的接口 | 作用 |
---|---|---|---|
Connection | DbConnection | IDbConnection | 连接和断开数据源,提供相关事务对象的访问 |
Command | DbCommand | IDbCommand | 代表SQL查询语句或者存储过程名,同样提供了相关数据读取器对象的访问 |
DataReader | DbDataReader | IDataReader和IDataRecord | 提供只读只向前形式的数据访问 |
DataAdapter | DbDataAdapter | IDataAdapter和IDbDataAdpter | 在数据库和调用者之间传递DataSet,内置4个命令对象来实现数据的查询、插入、修改和删除操作 |
Parameter | DbParameter | IDataParameter和IDbDataParameter | 在参数化查询中表示参数 |
Transaction | DbTransaction | IDbTransaction | 实现数据库事务 |
说明:对应不同种类的数据库,就有SqlConnection和OracleConnection等。
System.Data命名空间
类型 | 作用 |
---|---|
Constraint | 表示某个DataColumn对象的约束 |
DataColumn | 表示某个DataTable对象中的一列 |
DataRelation | 表示两个DataTable对象之间的父子关系 |
DataRow | 表示某个DataTable对象中的一行 |
DataSet | 由多个相关DataTable对象组成的内存中的数据缓存 |
DataTable | 表示内存数据的一个表 |
DataTableReader | 使你能像fire-hose游标(只读向前)那样获取DataTable |
DataView | 表示用于排序、筛选、搜索、编辑和导航的DataTable的自定义视图 |
IDataAdapter | 定义了数据适配器对象的主要行为 |
IDataParameter | 定义了参数对象的主要行为 |
IDataReader | 定义了数据读取器对象的主要行为 |
IDbCommand | 定义了命令对象的主要行为 |
IDbDataAdapter | 对IDataAdapter的一个扩展,增加了数据适配器对象的一些功能 |
IDbTransaction | 定义了事务对象的主要行为 |
接口的作用
- IDbConnection:定义了一系列用于配置某个人数据库连接的一些成员。
- IDbTransaction:可以以编程方式在事务会话和基层的数据存储之间进行交互。
- IDbCommand:能通过编程方式处理SQL语句、存储过程和参数化查询。
- IDbDataParameter和IDataParameter:让我们能通过ADO.NET的参数对象来表示SQL命令和存储过程中的参数。
- IDbDataAdapter和IDataAdapter:从特定的数据库获取和返回DataSet。
- IDataReader和IDataRecord:定义了数据读取器对象的一些常用行为。
ADO.NET连接层
步骤:
- 创建、配置、打开连接对象。
- 创建、配置一个命令对象,通过构造参数或Connection属性指定连接对象。
- 执行配置后的命令对象的ExectueReader()方法。
- 使用数据读取器的Read()方法一条一条处理记录。
示例:
//建立并打开一个连接
using( SqlConnection cn = new SqlConnection() ){
cn.ConnectionString = @"Data Source=(local)\SQLEXPRESS;Intergrated Security=SSPI;"+
"Initial Catalog=AutoLot";
cn.Open();
//建立一个SQL命令对象
string strSQL= "Select * From Inventory";
SqlCommand myCommand = new SqlCommand(strSQL,cn);
//通过ExecuteReader()获取一个数据读取器
using(SqlDataReader myDataReader = myCommand.ExecuteReader() ){
//循环所有的记录
while(myDataReader.Read() )
Console.WriteLine(.....);
}
}