加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP技术访问WEB数据库

发布时间:2022-11-16 16:31:53 所属栏目:Asp教程 来源:未知
导读: ASP技术访问WEB数据库
一. 访问WEB数据库的多种方案
目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:
1.公共网关接口CGI(Common Gateway Interface)
CGI是较早实现的技术。适用于

ASP技术访问WEB数据库

一. 访问WEB数据库的多种方案

目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:

1.公共网关接口CGI(Common Gateway Interface)

CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。

2. INTERNET数据库连接器IDC(Internet Database Connector)

IDC集成在ISAPI(Internet Server API)中asp数据库,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。

3. 先进数据库连接器ADC(Advance Database Connector)

ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。

4. JAVA/JDBC语言编程

JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。

5. 动态服务器页面ASP(Active Server Page)

ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。

二. ASP简介

1.ASP访问数据库的原理

ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。

当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。

由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

2.ASP页面的结构:

ASP的程序代码简单、通用,文件名由.asp结尾,ASP文件通常由四部分构成:

1) 标准的HTML标记:所有的HTML标记均可使用。

2) ASP语法命令:位于 标签内的ASP代码。

3) 服务器端的include语句:可用#include语句调入其它ASP代码,增强了编程的灵活性。

4) 脚本语言:ASP自带JScript和VBScript两种脚本语言,增加了ASP的`编程功能,用户也可安装其它脚本语言,如Perl、Rexx等。

3.ASP的运行环境

目前ASP可运行在三种环境下。

1) WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。

2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。

3) WINDOWS 95/98运行PWS(Personal Web Server)。

其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。

4.ASP的内建对象

ASP提供了六个内建对象,供用户直接调用:

1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。

2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。

3) Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法。

4) Response对象:服务器将输出内容发送到用户端。

5) Server对象:提供对服务器有关方法和属性的访问。

6) Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。

5. ASP的主要内置组件:

1) Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。

2) Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。

3) Database Access组件:提供ADO (ActiveX Data Objects)来访问支持ODBC的数据库。

4) File Access组件:提供对服务器端文件的读写功能。

5) Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。

此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。

6. Database Access组件ADO

WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对

目前微软所支持的数据库进行操作的最有效和最简单直接的方法。

ADO组件主要提供了以下七个对象和四个集合来访问数据库。

1) Connection对象:建立与后台数据库的连接。

2) Command对象:执行SQL指令,访问数据库。

3) Parameters对象和Parameters集合:为Command对象提供数据和参数。

4) RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。

5) Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功能。

6) Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet、Field对象使用。

7) Error对象和Errors集合:提供访问数据库时的错误信息。

三. ASP访问数据库步骤

在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:

1. 定义数据源

在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。

2,使用ADO组件查询WEB数据库

1) 调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:

conn = Server.CreateObject(“ADODB.Connection”)

conn.Open(“HT”)

2) 指定要执行的SQL命令

连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录

sqlStr = “select * from signaltab where code like ‘%X%’”

rs = conn.Execute(sqlStr)

3) 使用RecordSet属性和方法,并显示结果

为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。

rs = Server.CreateObject(“ADODB.RecordSet”)

rs.Open(sqlStr,conn,1,A)

注:A=1读取

A=3 新增、修改、删除

在RecordSet组件中,常用的属性和方法有:

rs.Fields.Count: RecordSet对象的字段数。

rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1

rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1

rs("字段名"): 指定字段的数据。

rs.Record.Count:游标中的数据记录总数。

rs.EOF: 是否最后一条记录。

rs.MoveFirst: 指向第一条记录。

rs.MoveLast: 指向最后一条记录。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!