1、ASP应用程序开发技术探究ASP应用程序开发技术探究摘 要:在介绍ASP技术的本质和特点的基础上,从应用系统的结构设计、数据库设计和程序设计等方面详细分析、归纳了常用的ASP应用程序的开发技巧。以Web数据库编程为实例论述了使用广泛且重要的ADO编程技术。 关键词:ASP;数据库;ADO 1 ASP应用程序开发技巧 1.1 ASP应用系统的结构设计 ASP程序有个最大的缺陷,即脚本代码与HTML标记混在了一起。程序员既要考虑业务处理和数据库的访问还得关心与HTML的整合。当程序逻辑足够复杂时,源文件过于冗长,降低了系统维护的效率。鉴于此,我们可以设计三层架构体系的ASP程序,即将应用划分为用户
2、界面层、业务逻辑层和数据库层。用户界面层负责用户的输入和输出;业务逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在;数据库层负责实际的数据存储和安全访问控制。设计三层架构的ASP应用程序的步骤一般是:建立数据库和数据表;建立动态链接库;注册动态链接库;编写ASP程序。 1.2 ADO编程技术 为了进一步扩展ASP应用程序的功能,还必须借助数据库访问组件实现对数据库的访问。ADO(ActiveX Data Objects)是微软推出的目前最为成熟的数据库技术,利用ADO组件可以在ASP页面上浏览、
3、检索、添加、删除、修改数据库中的数据。下面以实例剖析ADO对象模型中的3个主要对象,即Connection、Recordset、Command对象。 1.2.1 Connection对象 Connection对象是与数据库连接的对象,它不仅可以实现与多种数据库的连接,也可使用其方法对数据库进行各种各样的操作。 (1)创建数据库连接。首先应使用Server对象的CreateObject方法创建该对象的实例,然后使用Connection对象的Open方法来初始化连接。下面介绍常用数据库的连接方法。 ODBC的连接方式 方法一:创建系统数据源,将连接信息保存在Windows注册表中 Connecti
4、on对象名.connectionstring=“DSN=数据源名;UID=用户名;PWD=密码” Connection对象名.open 方法二:创建文件数据源,将连接信息保存在文本文件中 Connection对象名.connectionstring=“FILEDSN=数据源名;UID=用户名;PWD=密码” Connection对象名.open 方法三:将连接信息保存在字符串中 连接SQL Server数据库: Connection对象名.connectionstring=“driver=SQL Server;server=服务器名;database=数据库名;UID=用户名;PWD=密码”
5、Connection对象名.open 连接Access数据库: Connection对象名.connectionstring=“driver=microsoft access driver(*.mdb);DBQ=”& server.mappath(“数据库的相对路径”) Connection对象名.open OLE DB的连接方式 连接SQL Server数据库: Connection对象名.connectionstring=“provider=sqloledb;data source=服务器名;database=数据库名;UID=用户名;PWD=密码” Connection对象名.open
6、连接Access数据库: Connection对象名.connectionstring=“provider=Microsoft.Jet.OLEDB.4.0; datasource=”& server.mappath(“数据库的相对路径”) Connection对象名.open (2)编辑数据 1.2.2 Recordset对象 该对象包含了从数据库中查询到的记录的集合,不仅可以访问记录中的字段值,还能对数据库进行操作。 (1)创建记录集 方法一:调用Connection对象的Execute方法,主要代码如下: 方法二:调用Recordset对象的Open方法打开记录集,主要代码如下: (2)检
7、索数据 % dim constr,sql,rst 连接字符串省略 Set rst =Server.CreateObject(“ADODB.Recordset”) sql=”select * from 学生信息 where 姓名 like 刘%” rst.ActiveConnection= constr rst.open sql,1, response.write “” response.write “学号姓名专业” do while not rst.eof response.write “” & rst(“学号”) & ” & rst(“姓名”) & ” & rst(“专业”) & ” rst.movenext loop response.write “” rst.close % (3)编辑数据。 Recordset对象能通过其方法编辑数据,但效率要比Execute方法低得多。 1.2.3 Command对象 Command对象使用Execute方法执行SQL语句,最大的优势是能通过其Parameter对象向参数化查询传递数据。使用Command对象处理数据时,应首先设置命令类型、命令文本、活动数据库连接,若执行参数化查询,则需要创建Parameter对象,并设置其Value属性值。 1.3 ASP编码优化 1.3.1 声明VBScript变量 在VBScript中变量
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1