通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>asp专区>>正文 新版上线![旧版]
注:打开慢时请稍等

数据库远程控制的ASP实现

http://www.iyit.net  日期:2006-6-7 10:51:24  来源:不详  点击:
参加讨论】   广州地铁运营事业总部计算机中心 周振喜 吕利

着计算机应用的发展,越来越多的数据被存储在中心机房的服务器上,由于一些管理人员的地理位置不在中心机房,于是带来了数据的远程管理问题。本文以广州地铁运营事业总部的图书资料管理系统为例,介绍利用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 分类号”
%>
// 调用RsToModi.asp显示查询结果
<%  
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “driver={Microsoft Access Driver (*.mdb)}; dbq=”& Server.MapPath(“Books.mdb”)
Set rs = conn.Execute(sql)
RsToModiTable rs  
%>
显示查询结果(RsToModi.asp)
<%
Sub RsToModiTable( rs )
’Part I 取得图书序号和借阅情况字段值
For i=0 to rs.Fields.Count-1
Response.WRITE “<TD>” & rs.Fields(i).Name & “</TD>”
if rs.Fields(i).Name = “序号” then
bookidfield= i
end if
if rs.Fields(i).Name = “借阅情况” then
linkfield= i
end if
Next
’Part Ⅱ 创建借阅情况链接,调用借阅情况修改页面
While Not rs.EOF  
For i=0 to rs.Fields.Count-1
if i <> linkfield then
if i = bookidfield then
bookidvalue = rs.Fields(i).Value
end if
if trim(rs.Fields(i).Value) <> “” then
Response.WRITE “<TD>”& rs.Fields(i).Value & “</TD>”
else
Response.WRITE “<TD>” & “—” & “</TD>”
end if
else
linkstr = “<a href=” & ““”” & “bookmodi.asp?bookid=” & bookidvalue & ““””
linkstr = linkstr & “target=” & ““”” & “_blank” & ““”” & “>”
alignstr = “<p align=”& ““”” &“center” & ““”” & “>”
if trim(rs.Fields(i).Value) <> “” then
Response.WRITE “<TD>” & alignstr & linkstr & rs.Fields(i).Value & “</a>” & “</TD>”
else
Response.WRITE “<TD>” & alignstr & linkstr & “无” & “</a>” & “</TD>”
end if
end if
Next
rs.MoveNext
Wend
End Sub
%>
借阅情况修改页面(BookModi.asp)
// 将Request传递来的序号所对应的记录显示在页面上,对册数、借阅情况、借阅日期字段进行修改
<%  
BookID=Request(“BookID”)
DbPath = Server.MapPath(“Books.mdb”)
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “driver={Microsoft Access Driver (*.mdb)}; dbq=” & DbPath
sql = “Select * From 图书目录”
sql = sql & “ Where 序号 =” & BookID
Set rs = conn.Execute(sql)
%>
// 创建表单,对册数、借阅情况、借阅日期字段进行修改
<form Action=“BookUpdate. asp?BookID=<%=BookID%>” method=“POST”>
<td height=“35” width=“17”>序号</td>
 ……
<td height=“80” width=“17”><%=rs(“序号”)%></td>
 ……
<Input Type=Text Name=“BNumber” Value=<%=rs(“册数”)%> size=“3”>
<Input Type=Text Name=“BPerson”Value=<%=rs(“借阅情况”)%> ></td>
<Input Type=Text Name=“BDate” Value=<%=rs(“借阅日期”)%>>
<p><input type=“submit” value=“ 修改 ” name=“MODIFY”>
<input type=“button” value=“ 退出 ” name=“EXIT” onclick=“window.close()”>
</p>
</form>
保存修改结果(BookUpdate.asp)
<!--#include file=“adovbs.inc” -->
<%
BookID=Request(“BookID”)
DbPath = SERVER.MapPath(“Books.mdb”)
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.open “driver={Microsoft Access Driver (*.mdb)}; dbq=” & DbPath
B_number = Request(“BNumber”)
B_person = Request(“BPerson”)
B_date = Request(“BDate”)
if len(B_number) = 0 then
B_number = 1
end if
if len(B_person) = 0 then
B_person = “ ”
end if
if len(B_date) = 0 then
B_date = “ ”
end if
Set rs=SERVER.CreateObject(“ADODB.Recordset”)
rs.Open “图书目录”, conn , adOpenDynamic, adLockPessimistic
sql = “Update 图书目录”
sql = sql & “ Set 借阅情况 = ” & “‘” & B_person & “’”
sql = sql & “ , 借阅日期 = ” & “‘” & B_date & “’”
sql = sql & “ , 册数 = ”& “‘” & B_number & “’”
sql = sql & “Where 序号 = ” & BookID
Set rs = conn.Execute(sql)
%>

 

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:词语搭配游戏的制作(ASP)一
下一篇:使用asp实现支持附件的邮件系统(一)
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
PHP VS ASP PHP比ASP优秀的七个理由 php的header和asp中的redirect比较
php和asp对象的等价关系 发挥语言的威力--融合PHP与ASP 利用PHP实现与ASP Banner组件相似的类
php和asp对象的等价关系 PHP的ASP防火墙 ASP初学者常犯的几个错误
[ASP]利用 xmlhttp 分块上传文件 asp,php 和 jsp 比较 之我见 刷一次变一次图的ASP代码
ASP基础 一段在asp中加密与解密对应的函数 ASP自动解压RAR文件
在ASP与ASP.NET之间共享对话状态(2) 在ASP与ASP.NET之间共享对话状态(1) 利用ASP+JMAIL进行邮件群发的新思路
ASP操作Excel技术总结 用ASP实现对ORACLE数据库的操作 IIS6.0下ASP的新增功能
浅谈如何建立三层体系结构的ASP应用程序 asp中利用数组实现数据库记录的批量录入 vbs(asp)的栈类
最新更新 热点排行 推荐新闻
ASP初学者常犯的几个错误
rs.open sql,conn,1,1全接触
处理较长文章,添加 …… 效果
[ASP]利用 xmlhttp 分块上传文件
asp,php 和 jsp 比较 之我见
ncsc
重庆大学生引资百万建网站半年倒闭
PHP安装攻略:安装并配置PHP
PHP应用分页显示制作详细讲解
MySQL数据库基础教程
Php利用java解析xml
使用PHP实现动态网页
使用PHP和XSL stylesheets转换XML文档
在php中输出html代码
关于session的问题集锦解决方案
用ASP+XMLHTTP编写天气预报程序
ASP如何获取真实IP地址
VS .net 2003调试javascript中两个杂症
datagrid编辑、修改、删除、翻页例子
rs.open sql,conn,1,1全接触
QQ密码本地破解
msn8.0下载
珊蝴虫QQ探测隐身的招式用法
Visual Basic 概述
exeplorer.exe错误的问题的总结、解决
解决Windows中的explorer.exe出错
Authorware7.0基础与实例教程连载 第5
PPLive最新内部版本揭密
Windows常见文件修复技巧
一个好汉N个帮 Word实用插件集锦
ASP 五大高效提速技巧
ASP中使用SQL语句教程
测试一下喽!
Windows下的虚拟主机设置全功略
危险无处不在 Html标签带来的安全隐患
网络游戏是06年互联网最具发展潜力业务
巧用ACDSee 8.0截取QQ表情每一帧
解除瑞星 诺顿遗留下的杀毒兼容问题
第一款开源AJAX安全扫描工具Sprajax
WinRAR人性化功能揭密
在ASP.NET中防止注入攻击
用ASP.NET开发Web服务的五则技巧
Linux操作系统12则经典应用技巧
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息