您现在的位置: Gufang > 博客 > 学无止境 > 正文
应用ASP技术实现对Web数据库的访问
ASP即Active Server Page,是微软推出的动态Web设计技术,是用于WWW服务的服务器端脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。 
  概述

 
  利用ASP,我们可以很容易地把HTML(超文本标记语言)文本、脚本命令及ActiveX组件混合在一起构成ASP页,以此来生成动态网页,创建交互式的Web站点,实现对Web数据库的访问。当用户使用浏览器请求ASP主页时,Web服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。

  由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,用户在客户端浏览器看到的仅仅是ASP页的执行结果所生成的页,而ASP页本身的内容用户在客户端浏览器是看不到的,增加了系统的安全保密性。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

  ASP访问数据库步骤

  在ASP中,可通过以下步骤实现对Web数据库的访问:

  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 signaltabswherescode 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:指向最后一条记录。

  rs.MovePrev:指向上一条记录。

  rs.MoveNext:指向下一条记录。

  rs.GetRows:将数据放入数组中。

  rs.Properties.Count:ADO的ResultSet或Connection的属性个数。

  rs.Properties(item).Name:ADO的ResultSet或Connection的名称。

  rs.Properties:ADO的ResultSet或Connection的值。

  rs.close():关闭连接。

  4)关闭数据库

  conn.close()

  实例

  下面的实例是某技术中心商品查询系统中的Web功能模块开发,系统要求当用户输入查询信息,如:产地或产品类别后,系统能返回查询结果.我们以产品类别为例:catachoi.asp文件利用Form标签形成一个查询入口,当用户选择了某产品类别,并按下“Submit”按钮后,它将产品类别号以ProdName变量的形式送到p_result.asp中,p_result.asp根据ProdName的值,使用SQL语句在服务器端完成数据库表文件的查询,最后将查询结果送回浏览器端。
发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证问题 * 江苏省的省会是哪个城市?请填写正确答案
验证码 * 图片看不清?点击重新得到验证码