国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)據(jù)庫(kù)遠(yuǎn)程控制的ASP實(shí)現(xiàn)

2019-11-18 20:21:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
廣州地鐵運(yùn)營(yíng)事業(yè)總部計(jì)算機(jī)中心 周振喜 呂利

著計(jì)算機(jī)應(yīng)用的發(fā)展,越來(lái)越多的數(shù)據(jù)被存儲(chǔ)在中心機(jī)房的服務(wù)器上,由于一些管理人員的地理位置不在中心機(jī)房,于是帶來(lái)了數(shù)據(jù)的遠(yuǎn)程管理問題。本文以廣州地鐵運(yùn)營(yíng)事業(yè)總部的圖書資料管理系統(tǒng)為例,介紹利用asp技術(shù)實(shí)現(xiàn)這種數(shù)據(jù)庫(kù)遠(yuǎn)程控制的具體方法和步驟。
問題的提出
廣州地鐵運(yùn)營(yíng)事業(yè)總部已經(jīng)實(shí)現(xiàn)計(jì)算機(jī)內(nèi)部聯(lián)網(wǎng),因?yàn)閭€(gè)人計(jì)算機(jī)在人們下班后都處于關(guān)機(jī)狀態(tài),為使員工可以24小時(shí)通過(guò)聯(lián)網(wǎng)本地計(jì)算機(jī)查知圖書資料的實(shí)時(shí)狀態(tài)信息,因此將圖書資料管理數(shù)據(jù)庫(kù)放在計(jì)算機(jī)中心的服務(wù)器上,而不是放在資料室的個(gè)人計(jì)算機(jī)中。這樣就帶來(lái)了數(shù)據(jù)庫(kù)的遠(yuǎn)程管理問題。
因?yàn)橹挥性谌杂袕?fù)本可借的情況下,員工才有必要去資料室辦理借閱手續(xù),并且如果已無(wú)復(fù)本可借而本人正急需使用時(shí),還可以查詢借閱人信息,以便同借閱人共同參閱或請(qǐng)其盡快歸還以便借閱。所以,公司資料室圖書資料管理數(shù)據(jù)庫(kù)必須能向查詢員工提供復(fù)本總量、剩余復(fù)本量、借閱人等實(shí)時(shí)狀態(tài)信息。
為此,在運(yùn)營(yíng)事業(yè)總部?jī)?nèi)部網(wǎng)主頁(yè)上給圖書資料管理員提供一個(gè)對(duì)圖書資料借閱情況進(jìn)行管理的入口。當(dāng)圖書資料管理員進(jìn)入時(shí),進(jìn)行身份驗(yàn)證,憑用戶名和密碼進(jìn)入圖書資料借閱情況管理頁(yè)面。對(duì)圖書資料管理員來(lái)說(shuō),對(duì)數(shù)據(jù)庫(kù)的操作就像在本地計(jì)算機(jī)上一樣。
操作該網(wǎng)絡(luò)數(shù)據(jù)庫(kù)時(shí)用到的對(duì)象主要有Request對(duì)象和ADO組件的Connection、Response、CreateObject對(duì)象,用到的方法主要是SQL語(yǔ)言的一些命令如Select、Update等。Request對(duì)象用來(lái)從地址欄中取回參數(shù)值;Connection對(duì)象用來(lái)建立和管理應(yīng)用程序和ODBC數(shù)據(jù)庫(kù)之間的連接,該對(duì)象具有各種屬性和方法,可以使用它們打開和關(guān)閉數(shù)據(jù)庫(kù)的連接,并且可以發(fā)出查詢請(qǐng)求更新信息; SQL命令主要實(shí)現(xiàn)數(shù)據(jù)記錄的查詢、更新等操作。
下面是各主要功能模塊的關(guān)鍵代碼和解釋。
用戶登錄(login.asp)
<!--#include file=“adovbs.inc” -->
<%
// 獲取操作計(jì)算機(jī)的ip地址
Dim ipaddr
Ipaddr = Request.ServerVariables(“REMOTE_ADDR”)
// 限制只有資料室的計(jì)算機(jī)(固定IP地址)才能進(jìn)入圖書資料數(shù)據(jù)庫(kù)維護(hù)系統(tǒng)
if Ipaddr<>“172.16.1.56” and paddr<>“172.16.1.58” and Ipaddr<>“172.16.3.61” then
IpError=1
end if
// 要求輸入用戶名與密碼,與上一條件構(gòu)成雙重保護(hù),并將輸入的用戶名和密碼與用戶管理數(shù)據(jù)庫(kù)中的用戶名和密碼對(duì)照,如果有此用戶且密碼正確,則繼續(xù)執(zhí)行
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
%>
創(chuàng)建用戶查詢界面(bmanage.asp)
//保證只有通過(guò)登錄的人才能進(jìn)入
<%
if session(“pass”)<>1 then
response.redirect (“l(fā)ogin.asp”)
end if
%>
// 創(chuàng)建表單,給出幾個(gè)類別(分類號(hào)、借閱情況、題名、出版者、著編者),供自選查詢條件
<form name=“form_choice” action=“inq_modi.asp”>
<input type=“radio” name=“choice” value=“type”>分類號(hào)  
<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>
執(zhí)行查詢操作(inq_modi.asp)
<!--#include file=“RsToModi.asp” -->
<%
//利用Request傳回的值到數(shù)據(jù)庫(kù)中查詢相應(yīng)的記錄
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 分類號(hào)”
%>
// 調(diào)用RsToModi.asp顯示查詢結(jié)果
<%  
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  
%>
顯示查詢結(jié)果(RsToModi.asp)
<%
Sub RsToModiTable( rs )
’Part I 取得圖書序號(hào)和借閱情況字段值
For i=0 to rs.Fields.Count-1
Response.WRITE “<TD>” & rs.Fields(i).Name & “</TD>”
if rs.Fields(i).Name = “序號(hào)” then
bookidfield= i
end if
if rs.Fields(i).Name = “借閱情況” then
linkfield= i
end if
Next
’Part Ⅱ 創(chuàng)建借閱情況鏈接,調(diào)用借閱情況修改頁(yè)面
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 & “無(wú)” & “</a>” & “</TD>”
end if
end if
Next
rs.MoveNext
Wend
End Sub
%>
借閱情況修改頁(yè)面(BookModi.asp)
// 將Request傳遞來(lái)的序號(hào)所對(duì)應(yīng)的記錄顯示在頁(yè)面上,對(duì)冊(cè)數(shù)、借閱情況、借閱日期字段進(jìn)行修改
<%  
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 序號(hào) =” & BookID
Set rs = conn.Execute(sql)
%>
// 創(chuàng)建表單,對(duì)冊(cè)數(shù)、借閱情況、借閱日期字段進(jìn)行修改
<form Action=“BookUpdate. asp?BookID=<%=BookID%>” method=“POST”>
<td height=“35” width=“17”>序號(hào)</td>
 ……
<td height=“80” width=“17”><%=rs(“序號(hào)”)%></td>
 ……
<Input Type=Text Name=“BNumber” Value=<%=rs(“冊(cè)數(shù)”)%> 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>
保存修改結(jié)果(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 & “ , 冊(cè)數(shù) = ”& “‘” & B_number & “’”
sql = sql & “Where 序號(hào) = ” & BookID
Set rs = conn.Execute(sql)
%>


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 台东市| 瓦房店市| 辛集市| 堆龙德庆县| 南宁市| 罗甸县| 乐都县| 益阳市| 青龙| 阿合奇县| 柳河县| 阳新县| 翁牛特旗| 和龙市| 白玉县| 鹤庆县| 桐梓县| 淮滨县| 公安县| 麟游县| 三门县| 新晃| 自治县| 玛沁县| 鄂伦春自治旗| 汉川市| 丰都县| 三河市| 西峡县| 衡东县| 来凤县| 德安县| 九江市| 专栏| 渝中区| 淮南市| 吴川市| 台南市| 社旗县| 金昌市| 太原市|