ASP实现数据输入、查询的实例
发布时间:2010-05-03 10:48:00
一、利用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>


猜你喜欢
- 情景一: 表中数据 name score aaa 11 aaa 19 bbb 12 bbb 18 ccc 19 ddd 21 期望查询结果如
- pytorch常用函数torch.randn()torch.randn(*sizes, out=None) → Tensor功能:从标准正态
- PyQt中MainWindow, QWidget以及Dialog的区别和选择1. Qt界面分类在Qt Designer设计界面时,首先需要选
- Vue 能监听数组的情况Vue 监听数组和对象的变化(vue2.x)vue 实际上可以监听数组变化,比如:直接 = 赋值data () {
- 一、密码字典所谓密码字典,主要是配合解密使用,一般情况用来暴力破解密码,是由指定字符排列组合组成的文本文件。如果知道密码设置的规律指定性生成
- 比如一个汉字也只会算一个字节,在排版时如果全是汉字,好说,反正没什么差别,但是如果 * 作的字符串有汉字又有英文字母时,就不方便了,以下三个函
- 本文讲述了python实现的正则表达式功能。分享给大家供大家参考,具体如下:前文:首先,什么叫正则表达式(Regular Expressio
- 我们已经在数学上描述了多层感知机,现在让我们尝试自己实现一个多层感知机。为了与我们之前使用softmax回归获得的结果进行比较,我们将继续使
- jQuery.post( url, [data], [callback], [type]
- 介绍 itertools是python内置的模块,使用简单且功能强大,这里尝试汇
- 本文实例讲述了php替换字符串中间字符为省略号的方法。分享给大家供大家参考。具体分析如下:对于一个长字符串,如果你只希望用户看到头尾的部分内
- 可编辑下拉框-HTML <div style="position:relative;"> <selec
- 一般采用的方法:self.window = Qdialog() # 实例化self.window.show() # 显示界面用这种方法只能打
- 很多时候,我们需要对List进行排序,Python提供了两个方法,对给定的List L进行排序:方法1.用List的成员函数sort进行排序
- 案例一:某套图网站,套图以封面形式展现在页面,需要依次点击套图,点击广告盘链接,最后到达百度网盘展示页面。这一过程通过爬虫来实现,收集百度网
- 对于web开来说,用户登陆、注册、文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想
- 同样,对事务日志进行备份也只会截断不活动事务的那部分事务日志,所以打开的事务会导致日志变多(甚至达到物理限制),直到事务被提交或回滚。要找到
- 我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1
- 本文实例讲述了PHP面向对象程序设计高级特性。分享给大家供大家参考,具体如下:静态属性<?phpclass StaticExample
- 1. watch 与 computed 的巧妙结合如上图,一个简单的列表页面。你可能会这么做: created(){ this.