设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 291|回复: 4
打印 上一主题 下一主题

以ASP实现数据查询及输入

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-16 23:10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、      利用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>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 20:19 , Processed in 0.061045 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表