以ASP实现数据查询及输入

发表于:2007-06-30来源:作者:点击数: 标签:
随着Inte .net 技术的迅速发展,计算机在各个行业越来越发挥着举足轻重的作用。利用先进的信息技术和 数据库 技术,构建公司内部的Intranet, 开发 基于Web的数据库管理系统,能极大的提高工作效率、节约成本。ASP(Active Server Page)是Microsoft推出的一
随着Inte.net技术的迅速发展,计算机在各个行业越来越发挥着举足轻重的作用。利用先进的信息技术和数据库技术,构建公司内部的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、Aclearcase/" target="_blank" >ccess等)的连接,从而实现数据的输入、查询、更新等操作。首先,利用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://www.ltesting.net