在以前Web 程序的开发中,数据库的操作是最头痛的。而从ASP 问世后,开发人员可以很轻松地访问存储在数据库中的文件,ASP 对数据库的访问可以通过ADO 模式来实现。ADO 对象给开发人员提供了一种快捷、简单、高效的数据库访问方法,ADO 可以包含在脚本中来产生对数据库的连接,并从数据库表中读取记录,形成实际要使用的对象集合。而且,对数据资源,如数据库,ADO 提供了应用程序一级的界面。不过,ADO 并不与数据资源直接通信,而是通过称为OLE DB 的中间界面,对于数据资源,如Microsoft SQL Server 或Microsoft Access,OLE DB 提供了系统一级的界面。
总之,产生了对数据库的连接以后,可以忽略OLE DB 的存在,因为它在幕后完成自己的任务,从来不在Active Server Pages中直接访问OLE DB。但在产生最初的数据库连接时,必须对OLE DB 小心,因为可以通过不同的OLE DB 提供程序访问一个数据库。
现在有两种用ADO 产生数据库连接的方法。一方面,可以使用面向ODBC 驱动器的OLE DB 驱动程序产生一个连接,这种连接与任何有ODBC 驱动器的数据库(即基本上是市场上所有的数据库)兼容。另一方面,可以用原始OLE DB 驱动程序产生一个连接。在使用时尽可能用原始OLE DB 驱动程序,因为它提供了对数据更有效的访问。
ADO的对象和数据集合
ADO 对象主要是由Connection 对象、Command 对象、Parameter 对象、Recordset 对象、Field 对象、Property 对象和Error 对象等七个对象,以及Fields 数据集合、Properties 数据集合、Parameters 数据集合和Error 数据集合等四个数据集合所组成。
1.ADO 的七个对象
Connection 对象负责用于创建ASP 脚本和指定数据库的一个连接。在使用任何数据库以前,程序首先要作的是与一个数据库建立连接,然后才继续下一步的数据库操作。而Connection对象就是用来与数据库连接的,通过它,程序就可以与各种各样的数据库相连接(如Microsoft SQL Server 或Access 等),也可以同Microsoft Excel 报表等建立连接。Connection对象除了与数据库进行连接之外,它还可以通过事务(Transaction)来确保在事务中所有数据库变更的完全成功。
Command 对象负责对数据库提供请求,也就是传递指定的SQL命令。Command 对象通过查询数据库后,将返回Recordset对象中的记录,以便执行大量操作,如增加记录(INSERT)、删除记录(DELETE)、更新记录(UPDATE)、筛选记录(SELECT)等操作,或处理数据库结构,建立数据表(CREATE TABLE)、删除数据表(DELETE TABLE)或修改表结构(ALTER TABLE)等处理。
Parameter 对象负责传递Command 对象所需要的SQL 命令参数。Parameter 对象代表与参数化查询关联的参数,或进/出参数以及存储过程的返回值。
Recordset 对象负责浏览与操作从数据库取得的数据,也就是说Recordset 对象可以用来表示的是来自基本表或命令执行结果的记录全集。在使用ADO 时,通过Recordset 对象可对几乎所有数据进行操作,所有Recordset 对象均使用记录(行)和字段(列)进行构造。
Field 对象表示指定RecordSet 对象的数据字段。每个Field 对象对应于Recordset 中的一列,可以使用Field对象的Value属性设置或返回当前记录的数据。
Property对象表示ADO的各项对象属性值,也就是,每个ADO对象都会有一个描述或控制对象行的属性。
Error 对象负责记录连接过程所有发生的错误信息,任何涉及ADO 对象的操作都会生成一个或多个提供者错误。每个错误出现时,一个或多个Error 对象将被放到Connection 对象的Errors 集合中。(www.xing528.com)
2.ADO 的四个数据集合
Fields 数据集合。Recordset 对象包括Field 对象组成的Fields 集合。每个Field 对象对应Recordset 集中的一列,通过调用集合的Refresh方法打开的Recordset对象来填充Fields 集合。
Properties 数据集合。某些ADO 对象(如Connection 对象、Command 对象、Recordset对象、Field 对象等)包含由Property 对象组成的Property 集合,每个Property 对象与指定给提供者的ADO对象的特性相对应。
Parameters 数据集合,包含了Command 对象的所有Parameter 对象。Command 对象具有由Parameter 对象组成的Parameters 集合。使用Command 对象的Parameters 集合上的Refresh方法,可以获取有关Command 对象中指定的存储过程或参数化查询的数据库的参数信息。
Errors 数据集合,包含在响应单个失败(涉及提供者)时产生的所有Error 对象。Errors 集合中的Error 对象集合描述响应单个语句时产生的所有错误。列举Errors 集合中指定错误可使错误处理程序更精确地确定产生错误的原因及错误来源,并执行适当还原步骤。
3.ADO对象与数据集合之间的关系
在介绍ADO 的七个对象和四个数据集合后,下面将用图6-5所示的关系来介绍一下各个对象之间的关系。
图6-5 对象和数据集合的关系图
从图中,可以更清楚地了解对象与数据集合之间的关系。例如:Connection 对象与Command 对象可以通过Execute 操作方法,产生Recordset 对象,而Recordset 对象可以通过Fields 数据集合取得Field 对象的值;而Connection 对象也可以通过Error 数据集合得到ADO操作错误出现的Error 对象等等。
在ASP 中,与数据库连接、对数据库操作方便是ASP 最重要的特点,而这些功能主要又表现在ADO 提供的对象和属性中。前面已经简单介绍了ADO的对象和数据集合,下面将继续重点介绍ADO 所提供的对象和属性。这主要是因为这些对象和属性对数据库操作的重要性,只有认真了解了这些对象和属性,才能很好地访问数据库,进行数据的操作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。