当前位置: 首页 > 图文教程 > 网络编程 > ASP > 数据库远程控制的ASP实现

ASP
将Recordset作为XML保存
在ASP中过滤用户输入 提高安全性
改进 ASP 应用程序中的字符串处理性能
在ASP中使用事务控制
在access中增加农历支持模块
用ADODB.Stream代替FSO读取文本文件
处理运行时间长的脚本以及内容大的主页
用ASP编程实现快速查找
Asp中代码与页面的分离
通过ASP自动解压RAR文件
如何正确处理数据库中的Null
采用XML数据来填充ASP表单
ASP整合的一个SQL语句类
在基于Mozilla的浏览器中使用XMLHttpRequest对象
巧用in关键字实现数据的批量删除
ASP中函数调用对参数的影响
加密处理使密码更安全[CFS编码加密]
ASP错误的几种常规处理方式
在ASP程序中执行SQL语句的安全性问题
ASP实用技巧28则

数据库远程控制的ASP实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 78 ::
收藏到网摘: n/a

  广州地铁运营事业总部计算机中心 周振喜 吕利

着计算机应用的发展,越来越多的数据被存储在中心机房的服务器上,由于一些管理人员的地理位置不在中心机房,于是带来了数据的远程管理问题。本文以广州地铁运营事业总部的图书资料管理系统为例,介绍利用ASP技术实现这种数据库远程控制的具体方法和步骤。
问题的提出
广州地铁运营事业总部已经实现计算机内部联网,因为个人计算机在人们下班后都处于关机状态,为使员工可以24小时通过联网本地计算机查知图书资料的实时状态信息,因此将图书资料管理数据库放在计算机中心的服务器上,而不是放在资料室的个人计算机中。这样就带来了数据库的远程管理问题。
因为只有在仍有复本可借的情况下,员工才有必要去资料室办理借阅手续,并且如果已无复本可借而本人正急需使用时,还可以查询借阅人信息,以便同借阅人共同参阅或请其尽快归还以便借阅。所以,公司资料室图书资料管理数据库必须能向查询员工提供复本总量、剩余复本量、借阅人等实时状态信息。
为此,在运营事业总部内部网主页上给图书资料管理员提供一个对图书资料借阅情况进行管理的入口。当图书资料管理员进入时,进行身份验证,凭用户名和密码进入图书资料借阅情况管理页面。对图书资料管理员来说,对数据库的操作就像在本地计算机上一样。
操作该网络数据库时用到的对象主要有Request对象和ADO组件的Connection、Response、CreateObject对象,用到的方法主要是SQL语言的一些命令如Select、Update等。Request对象用来从地址栏中取回参数值;Connection对象用来建立和管理应用程序和ODBC数据库之间的连接,该对象具有各种属性和方法,可以使用它们打开和关闭数据库的连接,并且可以发出查询请求更新信息; SQL命令主要实现数据记录的查询、更新等操作。
下面是各主要功能模块的关键代码和解释。
用户登录(login.asp)
<!--#include file=“adovbs.inc” -->
<%
// 获取操作计算机的IP地址
Dim ipaddr
Ipaddr = Request.ServerVariables(“REMOTE_ADDR”)
// 限制只有资料室的计算机(固定IP地址)才能进入图书资料数据库维护系统
if Ipaddr<>“172.16.1.56” and paddr<>“172.16.1.58” and Ipaddr<>“172.16.3.61” then
IpError=1
end if
// 要求输入用户名与密码,与上一条件构成双重保护,并将输入的用户名和密码与用户管理数据库中的用户名和密码对照,如果有此用户且密码正确,则继续执行
name=trim(request(“name”))
password=trim(request(“password”))
if name<>“” and password<>“” then
Set conn=Server.CreateObject(“ADODB.Connection”)
Set rs=Server.CreateObject(“adodb.recordset”)
sql=“select * from user where username=‘”&name&“’and passwd=‘”&password&“’”
Set rs=conn.execute(sql)
 ……
if not(rs.eof) then
Session(“pass”)=1
Session(“user”)=name
Response.Redirect (“bmanage.asp”)
   ……
end if
  ……
end if
%>
创建用户查询界面(bmanage.asp)
//保证只有通过登录的人才能进入
<%
if session(“pass”)<>1 then
response.redirect (“login.asp”)
end if
%>
// 创建表单,给出几个类别(分类号、借阅情况、题名、出版者、著编者),供自选查询条件
<form name=“form_choice” action=“inq_modi.asp”>
<input type=“radio” name=“choice” value=“type”>分类号  
<input type=“radio” name=“choice” value=“borrow” checked>借阅情况  
<input type=“radio” name=“choice” value=“title”>题名  
<input type=“radio” name=“choice” value=“press”>出版者  
<input type=“radio” name=“choice” value=“author”>著编者  
<b>包含: </b>
<input type=“text” name=“include” value=“<%=include%>” maxlength=“30”>
<input type=“submit” name=“Submit” value=“ 搜索 ”>
</form>
执行查询操作(inq_modi.asp)
<!--#include file=“RsToModi.asp” -->
<%
//利用Request传回的值到数据库中查询相应的记录
choice=Request(“choice”)
include=Request(“include”)
sql = “Select * From 图书目录”
Select Case choice
case “borrow”
sql = sql & “Where 借阅情况 like ‘%” & include & “%’”
titlestr=“借阅情况”
……
End Select
titlestr = titlestr & “ 包含 ” & include & “图书目录”
sql = sql & “Order by 分