引言
在数据库应用系统中,必定要涉及到对数据库的访问和操作,而ADO.NET则是微软在.NET Framework中负责数据访问的类的库集,那么理清ADO.NET中的五大对象对于我们理解ADO.NET无疑会有很大的帮助。
本文将对ADO.NET做简单的介绍,分析五大对象Connection、Command、DataReader、DataAdapter、DataSet,以及他们之间的关系。
发展
早在1997年时,微软已经开发了许多的数据访问方式,例如DAO(Data Access Object)对象、可以跨越网络访问数据的RDO(Remote Data Objects)以及让DAO组件可以访问ODBC数据源的ODBCDirect技术等等。
如此多的技术,为了减少企业与开发人员在选择、学习与应用上产生的困难,同时适逢COM与OLE的发展,微软将数据访问的核心开始改写为以COM为主的OLE DB,并且在它上面创建一个新的数据访问模型ADO(ActiveX Data Objects)。
然而ADO本身的架构仍然有缺陷(尤其是在开发网络应用程序时,最好的例子就是Recordset无法脱机)。于是在1998年时,微软提出了一个下一代的应用程序开发框架(Application Framework)的项目,其中就包括Storage+,而ADO+就是Storage+的一支。
2000年的时候,微软的Microsoft .NET项目开始成形,许多的微软产品都冠上.NET的标签,ADO+也不例外,改名为ADO.NET,并包装到.NET Framework类库中,成为.NET平台中唯一的数据访问组件。
分析
一图胜过千言万语,在对五个对象详细介绍之前,先用一张图来说明它们之间的关系:
Connection
建立与特定数据源的连接。 所有 Connection 对象的基类均为 DbConnection 类,是所有数据库操作的基础,在对数据库操作之前要先建立数据连接。
- 实例说明(仅以SqlConnection为例):
string connectionString = "";//连接字符串
SqlConnection connection = new SqlConnection(connectionString)//初始化 SqlConnection 类的新实例
connection.Open();//打开数据库连接
connection.Close();//关闭连接
- 使用connection连接的时候记得打开、关闭,建议使用using,确保连接始终关闭,这样可确保在代码退出代码块时自动关闭连接。