📄 part8_8.cfm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>Active Data Objects (ADO)</TITLE>
</HEAD>
<BODY>
<B><FONT FACE="楷体_GB2312" LANG="ZH-CN" SIZE=5><P ALIGN="JUSTIFY">Active Data Objects (ADO)</P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>在前两章中你已知道开放数据库连接(</FONT><FONT SIZE=3>ODBC</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)提供了一种标准方法来访问关联数据库中的数据,它是建立</FONT><FONT SIZE=3>Web</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>应用的强大工具。然而信息也存在于非关联数据源中,例如,电子信箱、文本文件,目录数据和多媒体文件也在企业环境中经常使用。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>为了提供一致的方法来访问关联和非关联数据库,微软开发了</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,它是</FONT><FONT SIZE=3>ODBC</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>之后的又一次革新,它允许应用程序访问各种类型的信息。</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>定义了一系列</FONT><FONT SIZE=3>COM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>界面,将各种数据库管理服务封装在其中。</FONT><FONT SIZE=3>COM</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>就是组件对象模型,它是分布式对象的基础。</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>界面既可用于数据的产生者,也可用于数据的消费者。当</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>技术广泛使用时,人们期望能提供对各种不同类型数据源的</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>供应器。在</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>ODBC</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>之间有一个桥梁,使得你可以用现存的</FONT><FONT SIZE=3>ODBC</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>驱动程序来访问关联数据库中的信息。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">Active Data Objects (ADO)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>使得对</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的使用变得容易了,</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>是一系列对象,封装了</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中最常使用的一些特性,</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对象可以在</FONT><FONT SIZE=3>Visual Basic</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>或</FONT><FONT SIZE=3>Visual C++</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中使用,也可以在服务器端脚本中使用。</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的关系如图</FONT><FONT SIZE=3>8-1</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>所示,</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>处于</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>之上并为应用程序提供一个对</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的容易使用的应用程序接口(</FONT><FONT SIZE=3>API</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>),图中有多个</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>供应器来访问各种类型的数据源,</FONT><FONT SIZE=3>OLE DB</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>ODBC</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>之间的桥梁使得可以用现存的</FONT><FONT SIZE=3>ODBC </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>驱动程序来访问数据库。</P>
<P ALIGN="CENTER"></P>
<P ALIGN="CENTER"> </P>
<P ALIGN="CENTER">图</FONT><FONT SIZE=3>8-1</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>定义了七个对象,如下表所示,其中最重要的是</FONT><FONT SIZE=3>Connection</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>Recordset</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对象。</P>
<P ALIGN="JUSTIFY"></P></FONT>
<P ALIGN="RIGHT"><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=553>
<TR><TD WIDTH="50%" VALIGN="TOP" BGCOLOR="#ffffff" HEIGHT=18>
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">对象</B></FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" BGCOLOR="#ffffff" HEIGHT=18>
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">描述</B></FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Command</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">包含了数据库命令</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Connection</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">与一个数据库建立连接</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Error</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">包含从数据提供器返回的错误</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Field</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">包含了数据库记录中的域</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Parameter</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">包含了数据库命令中使用的参数</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Property</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">表示数据提供器的特定功能</FONT></TD>
</TR>
<TR><TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT SIZE=3><P ALIGN="JUSTIFY">Recordset</FONT></TD>
<TD WIDTH="50%" VALIGN="TOP" HEIGHT=18>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">允许你操作一系列的记录</FONT></TD>
</TR>
</TABLE>
</P>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><B><FONT FACE="楷体_GB2312" LANG="ZH-CN" SIZE=4><P ALIGN="JUSTIFY">ADO Connection</P>
</B></FONT><FONT SIZE=3><P ALIGN="JUSTIFY">ADO Connection</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对象建立对一个数据源的连接,也可以用它来执行一个命令,其返回值是一个</FONT><FONT SIZE=3>ADO Recordset</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对象,下表列出了</FONT><FONT SIZE=3>ADO Connection</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对象的一些属性。</P>
<P ALIGN="JUSTIFY"></P></FONT>
<P ALIGN="RIGHT"><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=553>
<TR><TD WIDTH="34%" VALIGN="TOP" BGCOLOR="#ffffff">
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">属性</B></FONT></TD>
<TD WIDTH="66%" VALIGN="TOP" BGCOLOR="#ffffff">
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">描述</B></FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">Attributes</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">决定当前的事务失败以后是否自动开始一个新的事务</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">ConnectionString</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">说明怎样建立与一个数据源的连接</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">ConnectionTimeOut</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">决定</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>试图与一个数据源建立连接所用的最大时间(秒),缺省值是</FONT><FONT SIZE=3>15</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>秒</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">CommandTimeOut</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">决定</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>试图运行一条命令所用的最大时间(秒),缺省值是</FONT><FONT SIZE=3>30</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>秒</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">CursorLocation</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">定义使用客户端或服务器指针</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">DefaultDatabase</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">指定缺省的数据库</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">IsolationLevel</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">说明事务间是如何相互独立的</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">Mode</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">定义修改数据的权限</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">Provider</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">指定提供器的名字</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">State</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">说明连接是打开的还是关闭的</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">Version</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">等于</FONT><FONT SIZE=3>ADO</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的版本号</FONT></TD>
</TR>
</TABLE>
</P>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">下表列出了此对象的一些方法:</P>
<P ALIGN="JUSTIFY"></P></FONT>
<P ALIGN="RIGHT"><TABLE BORDER CELLSPACING=1 CELLPADDING=7 WIDTH=553>
<TR><TD WIDTH="34%" VALIGN="TOP" BGCOLOR="#ffffff">
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">方法</B></FONT></TD>
<TD WIDTH="66%" VALIGN="TOP" BGCOLOR="#ffffff">
<B><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">描述</B></FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
<FONT SIZE=3><P ALIGN="JUSTIFY">BeginTrans</FONT></TD>
<TD WIDTH="66%" VALIGN="TOP">
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">开始一个事务处理</FONT></TD>
</TR>
<TR><TD WIDTH="34%" VALIGN="TOP">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -