文章详情页
使用 Database Access(数据库访问)组件
ASP 的 Database Access 组件使用 ActiveX Data Objects (ADO) 提供一种轻而易举的方法,可以访问存储在数据库或其他表格式数据结构(如电子表格)中的信息,只要它们遵循 Open Database Connectivity (ODBC) 标准即可。在本课中,您将连接到一个 Microsoft? Access 客户数据库,并且显示目录列表。您将学习如何使用 SQL SELECT 语句来检索数据,并且创建一个 HTML 表格来显示结果 。 ---------------------------------------------------------------------- 识别数据库 在通过 Database Access 组件使用一个数据库之前,必须在“控制面板”的 ODBC 程序中识别这个数据库。在本例中,您将使用本教程提供的一个 Microsoft Access 数据库。;; 在运行 Web 服务器 (localhost) 的计算机上,打开“控制面板”。 双击“ODBC”图标,然后单击“系统 DSN”选项卡。;; DSN 将告诉数据库驱动程序(用来配置数据库并与其通讯的程序)数据库文件所在的位置。您可以创建 3 种类型的 DSN: 用户 DSN (User DSN),只能对您起作用; 系统 DSN (System DSN),可以对计算机的所有用户起作用; 文件 DSN (File DSN),将 DSN 信息保存为文件,并且允许所有用户使用相同的数据库驱动程序。本教程使用的 DSN 必须是系统 DSN (System DSN) 。 单击“添加”,选择“Microsoft Access 驱动程序”,然后单击“完成”。; 在“数据源名称”框中,键入 ASPTutorial,然后单击“选择”。选择 BTCustmr.mdb 文件(默认情况下位于WINNTHelpIISHtmTutorial 目录中),然后单击“确定”。 查找文字“Tutorial Lesson - ADO Connection”,脚本将插入到找到的文字行之后。;; 必须先创建一个对象的实例,然后才能使用它。请复制并粘贴以下脚本命令: <% Set objConnection = Server.CreateObject('ADODB.Connection'); 如果在此以前,另一个用户已经学完了教程的这一部分,那么这些脚本命令就已经在“Tutorial Lesson”注释行以下了。请用复制的脚本覆盖已有的脚本,或者将未使用过的 Database.asp 从 Template 子目录 (C:WINNTHelpiishtmtutorial/template) 复制到 Tutorial 目录中。 对于 Database Access 组件来说,您必须指定 ODBC 数据源(要从其中检索数据的数据库),方法是打开一个到数据库的连接。复制并粘贴以下脚本命令:;; objConnection.Open 'ASPTutorial' 使用 Database Access 组件的 Execute 方法,可以向数据库发送一个将结构化查询语言 (Structured Query Language, SQL) 的 SELECT 命令,并且将返回的记录保存到结果集合 (rsCustomersList) 中。请将下列脚本命令复制并粘贴到objConnection.Open 语句之后:; SQLQuery = 'SELECT * FROM Customers';; Set rsCustomersList = objConnection.Execute(SQLQuery);;;;; %> 如果将 SQL 查询字符串直接传递给 Execute 方法,而不是先给变量 SQLQuery赋值,就可以将这两行合并。当 SQL SELECT 行比较长时,为使脚本易读一些,可以将字符串赋值给一个变量(如 SQLQuery),然后将变量名传递给 Execut方法。;; 显示返回的结果集合 您可以将结果集合视为一个表格,这个表格的结构由 SQL SELECT 语句中的字段决定。显示检索返回的行,就象在结果集合中按行数执行循环一样简单。在本示例中,返回的数据显示在 HTML 表格行中。 在 Database.asp 文件中,查找文字“Tutorial Lesson - Display ADO Data”,将以下脚本复制并粘贴到找到的行之后: <% Do Until rsCustomersList.EOF%> <tr>;;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('ContactFirstName')%> <%= rsCustomersList('ContactLastName') %> </td>;;; <td bgcolor='f7efde' align=center>;;;; <a href='mailto:<%= rsCustomersList('ContactLastName')%>'> <%= rsCustomersList('ContactLastName')%> </a>;;; </td>;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('City')%> </td>;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('StateOrProvince')%> </td>;;; </tr>;;; 如果在此以前,另一个用户已经学完了教程的这一部分,那么这些脚本命令就已经存在了。用复制的脚本覆盖已有的脚本,或者将未使用过的 Bayshore.asp 从 Template 目录复制到 Tutorial 目录中。 当条件为“真”时,VBScriptDo...Loop 语句重复执行一段语句。被重复执行的语句可以是脚本命令或 HTML 文本和标记。因此,在循环的每次重复中,您都可以用 HTML 画出表格行,并且用脚本命令插入返回的数据。 要完成循环,还要使用 MoveNext 方法来移动行指针到下一行。因为这一语句仍然在 Do...Loop 语句中,所以它一直重复,直到到达文件结尾才停止。请复制以下脚本,并将其粘贴到“Tutorial Lesson - Retrieve Next Row”行之后:; <% rsCustomersList.MoveNext;;;; Loop;;;; %> 以纯文本格式保存 Database.asp 文件,并且退出文本编辑器。注意文件后缀 .asp 不要被文本编辑器替换。;; 若要验证您创建的 ASP 页是否正常运行,请将您的浏览器导向 http://localhost/IISHelp/IIS/Help/Htm/Tutorial/Database.asp。(此后若要返回本教程,只要在浏览器中单击“上一页”或“Back”按钮即可。) 自学参考 如果您正使用 Windows NT,要参阅更完整的 Database Access 组件示例,可以访问 Exploration Air 示范节点。单击 Behind the Scenes 图像,可以学习用来创建这个 Web 节点的脚本的更多知识。在 Bayshore Travel Web 页上也有指向 Exploration Air 示范节点的链接。;;; 注意 如果您还没有访问 Exploration Air 示范节点,上面的链接将把您带到 Exploration Air 主页。此后若要返回本教程,只要在浏览器中单击“上一页”或“Back”按钮即可。 现在,您已经用过了 ActiveX 组件,让我们来学习 模块 3:编写自己的组件。 ---------------------------------------------------------------------- 模块 3:编写自己的组件 请选择本课的脚本语言。 在模块 2 中,您已经熟悉了 ASP 提供的组件,现在该创建自己的组件来满足自己的特殊需要了。;; 假设您需要创建一个 ASP 程序,以便通过 Web 节点提供特定的财务功能。ASP没有直接提供这样的功能,不过您可以通过创建自己的 Java 或 ActiveX 组件来解决问题。您将在本模块中学会这些。;;;; 如果要学习如何创建并使用组件,首先使用下面的表格进行选择:;---------------------------------------------------------------------- 选择本课要创建的组件类型:;; Visual Basic 5.0 ActiveX 组件; Visual J++ 1.1 Java? 组件;;;---------------------------------------------------------------------- 要点;;;; 若要保存并查看您在本模块中的工作结果,需要:;;;; 对 localhost Web 服务器上的 /iishelp/iis/htm/tutorial 虚拟目录具有“写 (Write)”和“改编 Web 服务器 (Script Web server)”权限。详细信息,请参阅 设置 Web 服务器权限。;;;; 您的 Windows NT 帐号,必须在 DriveLetter:WinntSystem32Inetsrv 目录及其子目录上具有 Windows NT File System (NTFS) 的读、写和运行程序权限(此处的 DriveLetter 代表 localhost Web 服务器的适当的驱动器号,如果您没有安装到默认目录下,请用您的安装目录代替 WinntSystem32)。 要完成本模块,必须在 localhost Web 服务器上安装:; Microsoft? Visual Basic 5.0 专业版的 32 位版本或 Visual Basic 5.0 企业版开发系统。 如果已经禁止了 Web 浏览器运行 Java 程序功能,请在开始教程以前启用该功能。
排行榜