以ASP实现数据查询及输入

类别:Asp 点击:0 评论:0 推荐:
 

随着Internet技术的迅速发展,计算机在各个行业越来越发挥着举足轻重的作用。利用先进的信息技术和数据库技术,构建公司内部的Intranet,开发基于Web的数据库管理系统,能极大的提高工作效率、节约成本。ASP(Active  Server Page)是Microsoft推出的一种服务器端命令执行环境,与浏览器无关,脚本完全在服务器运行,将产生动态的信息,形成普通的HTML文件,发送到客户端。ADO(ActiveX Data Objects)是ASP内置的ActiveX服务器组件,可以在用户端实现“即时更新、即时显示”的最新Web数据库技术,可以很方便的通过浏览器页面实现对 数据的输入、查询、更新等操作。

 

一、      利用ASP和ADO实现数据库操作的工作流程

                ASP内嵌了五个对象Resquest、Response、Server、Seesion、Application,实现信息的获取、传送及保存等。ADO的主要对象有Connection、Command、Recordset等。利用ADO的Connection      对象和ODBC的设定,可以建立与多种数据库(Informix、Oracle、Access等)的连接,从而实现数据的输入、查询、更新等操作。首先,利用ASP的Server对象的CreateObject方法创建一个ADO的对象实例,以ADO的Connection对象建立相应数据库与应用程序之间的联接;接着,通过Command对象将数据请求的SQL(Standard Query  Language)标准描述语句指定到Command对象的属性,然后执行数据库的输入、查询等操作;最后,数据库服务器将响应的数据结果存储到Recordset对象,在服务器端的脚本语言环境中就可以加以处理、分析、显示数据于客户端浏览器上。

 

二、      实现数据输入、查询的实例

                公司的分支机构众多、分布广泛,上级机构经常要对各基层机构的业务数据进行汇总,统计。以前主要是通过电话上报数据,然后手工汇总、统计,编制成报表。随着公司内部的联网,就可以将网络技术和数据库技术结合,将数据的汇总、统计实现自动化。以下将结合公司的实际,通过与Informix数据库的连接实现此功能:

 

1.创建数据库

        在UNIX操作系统上创建一个用于数据汇总、统计的数据库,将数据库命名为cxdb,在此数据库上创建如下表:

       Create table  test

       (

           br       char(6), #单位代码

           dt       date, #日期

           sco     money,#业绩

         )

2.  连接数据库

            在WINDOWS98操作系统上,安装数据库连接驱动程序Informix-CLI,并运行Informix-CLI的SetNet32进行配置,然后运行Ilogin 32 Demo 测试配置是否正确。确认配置成功后,就可以对Web数据库实现各种操作了。在网页中加入如下语句,就能对UNIX端的数据库进行连接:

 

Set con=Server.CreateObject(“ADODB.Connection”)

Con.Open  “Driver={INFORMIX-CLI 2.5 (32BIT)};Database=cxdb;Server=11.32.65.45;UID=;PWD=”

 

其中,Driver是数据库的连接驱动程序,其字符串要与ODBC驱动程序中的名称保持一致;Database是数据库名称;Server是数据库服务器主机的IP地址或名称,如果为名称则必须编辑hosts文件;UID是为用户名称;PWD为口令。

3.实现数据的输入、查询

              为实现对数据的输入、查询功能,必须创建一个带有Form表单的文件,用来接受用户的数据输入及查询条件,利用POST方法将Form表单的数据提交给服务器进行处理。

             编辑接受用户输入的文件input.asp,由用户输入“单位”、“日期”、“业绩“,当用户点击提交按钮时,通过POST方法将刚才输入的数据发送WEB服务器,并执行todb.asp文件在数据库cxdb中增加一条记录。其中,input.asp和todb.asp的源代码如下:

 input.asp:

  <HTML>

 

 <HEAD>

 <TITLE>输入数据</TITLE>

 </HEAD>

    

 <BODY>

   <FORM method="POST" action="todb.asp">

       <P>单位:<INPUT type="text" name="T1" size="20">

       <P>日期:<INPUT type="text" name="T2" size="20">

       <P>业绩:<INPUT type="text" name="T3" size="20">

       <p><INPUT type="submit" value="提交" name="B1">

         <INPUT type="reset" value="重写" name="B2"> 

   </FORM> 

   </BODY> 

 

 </HTML> 

todb.asp:

<%  br=Request.Form("T1")

    dt=Request.Form("T2")

      sc=Request.Form("T3")   ‘将input.asp表单中的数据取出到变量br,dt,sc中

 

      Set con=Server.CreateObject(“ADODB.Connection”)

      Con.Open  “Driver={INFORMIX-CLI 2.5 (32BIT)};Database=cxdb;Server=11.32.65.45;UID=;PWD=”

              ‘以上两语句为建立ADO对象,并连接数据库

      sql="INSERT INTO test( br,dt,sc) VALUES('"&br&"','"&dt&"','"&sc&"')"            

      Set rs=con.execute(sql)         ’执行SQL语句将数据增加到数据库中

      Rs.close

      Con.close

%> 

数据的查询与输入一样的实现,只是执行的SQL语句不同,查询执行是的满足用户输入条件的SELECT语句。源代码如下:

indt.asp

<HTML>

 

<HEAD>

<TITLE>输入条件</TITLE>

</HEAD>

 

<BODY>

  <FORM method="POST" action="seldt.asp">

   <P>日期:<INPUT type="text" name="T1" size="20">

   <P>

   <INPUT type="submit" value="提交" name="B1">

   <INPUT type="reset" value="重写" name="B2">

</FORM>

</BODY>

 

</HTML>

 

seldt.asp

<HTML>

 

<HEAD>

<TITLE>执行查询并显示结果</TITLE>

</HEAD>

 

<BODY>

<%   dt=Request.Form("T1")   ‘将indt.asp表单中的数据取出到变量dt中

 

      Set con=Server.CreateObject(“ADODB.Connection”)

      Con.Open  “Driver={INFORMIX-CLI 2.5 (32BIT)};Database=cxdb;Server=11.32.65.45;UID=;PWD=”

              ‘以上两语句为建立ADO对象,并连接数据库

      sql="select sco as sm from test where dt=’#”&dt&”#’”            

      set rs=con.execute(sql)         ’执行SQL语句从数据库中查找满足条件的数据

      if not rs.eof then              ‘判断是否有满足条件的数据

       do while not rs.eof

         Response.Write dt&” 业绩是:   “&rs(“sco”)&”<br>”    ‘循环将满足条件的数据显示

         Rs.movenext

       Loop

     End if

     Rs.close

     Con.close      ‘关闭连接

 %> 

</BODY>

 

</HTML>

 

三、      结束语

              ASP在WINDOWS98上的运行必须安装Personal Web Server4.0 以上版本。本文以一个非常简单的实例,介绍了以ASP实现数据的输入、查询的基本方法。在实际编程中,可以将ASP和SQL有机地结合,实现诸如某时间间隔的统计、排序、分组的查询,有条件的更新、删除数据等更加复杂的操作。

本文地址:http://com.8s8s.com/it/it8461.htm