ASP网页设计数据库远程把持的ASP完成
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天广州地铁运营奇迹总部盘算机中央周振喜吕利着盘算机使用的开展,愈来愈多的数据被存储在中央机房的服务器上,因为一些办理职员的地舆地位不在中央机房,因而带来了数据的远程办理成绩。本文以广州地铁运营奇迹总部的图书材料办理体系为例,先容使用ASP手艺完成这类数据库远程把持的详细办法和步骤。
成绩的提出
广州地铁运营奇迹总部已完成盘算机外部联网,由于团体盘算机在人们上班后都处于关机形态,为使员工能够24小时经由过程联网当地盘算机查知图书材料的及时形态信息,因而将图书材料办理数据库放在盘算机中央的服务器上,而不是放在材料室的团体盘算机中。如许就带来了数据库的远程办理成绩。
由于只要在仍有复本可借的情形下,员工才有需要往材料室打点借阅手续,而且假如已无复本可借而自己正急需利用时,还能够查询借阅人信息,以便同借阅人配合参阅或请其尽快偿还以便借阅。以是,公司材料室图书材料办理数据库必需能向查询员工供应复本总量、残剩复本量、借阅人等及时形态信息。
为此,在运营奇迹总部外部网主页上给图书材料办理员供应一个对图书材料借阅情形举行办理的出口。当图书材料办理员进进时,举行身份考证,凭用户名和暗码进进图书材料借阅情形办理页面。对图书材料办理员来讲,对数据库的操纵就像在当地盘算机上一样。
操纵该收集数据库时用到的工具次要有Request工具和ADO组件的Connection、Response、CreateObject工具,用到的办法次要是SQL言语的一些命令如Select、Update等。Request工具用来从地点栏中取回参数值;Connection工具用来创建和办理使用程序和ODBC数据库之间的毗连,该工具具有各类属性和办法,可使用它们翻开和封闭数据库的毗连,而且能够收回查询哀求更新信息;SQL命令次要完成数据纪录的查询、更新等操纵。
上面是各次要功效模块的关头代码息争释。
用户登录(login.asp)
<!--#includefile=“adovbs.inc”-->
<%
//猎取操纵盘算机的IP地点
Dimipaddr
Ipaddr=Request.ServerVariables(“REMOTE_ADDR”)
//限定只要材料室的盘算机(流动IP地点)才干进进图书材料数据库保护体系
ifIpaddr“172.16.1.56”andpaddr“172.16.1.58”andIpaddr“172.16.3.61”then
IpError=1
endif
//请求输出用户名与暗码,与上一前提组成两重回护,并将输出的用户名和暗码与用户办理数据库中的用户名和暗码对比,假如有此用户且暗码准确,则持续实行
name=trim(request(“name”))
password=trim(request(“password”))
ifname“”andpassword“”then
Setconn=Server.CreateObject(“ADODB.Connection”)
Setrs=Server.CreateObject(“adodb.recordset”)
sql=“select*fromuserwhereusername=‘”&name&“’andpasswd=‘”&password&“’”
Setrs=conn.execute(sql)
……
ifnot(rs.eof)then
Session(“pass”)=1
Session(“user”)=name
Response.Redirect(“bmanage.asp”)
……
endif
……
endif
%>
创立用户查询界面(bmanage.asp)
//包管只要经由过程登录的人才网能进进
<%
ifsession(“pass”)1then
response.redirect(“login.asp”)
endif
%>
//创立表单,给出几个种别(分类号、借阅情形、落款、出书者、著编者),供自选查询前提
<formname=“form_choice”action=“inq_modi.asp”>
<inputtype=“radio”name=“choice”value=“type”>分类号
<inputtype=“radio”name=“choice”value=“borrow”checked>借阅情形
<inputtype=“radio”name=“choice”value=“title”>落款
<inputtype=“radio”name=“choice”value=“press”>出书者
<inputtype=“radio”name=“choice”value=“author”>著编者
<b>包括:</b>
<inputtype=“text”name=“include”value=“<%=include%>”maxlength=“30”>
<inputtype=“submit”name=“Submit”value=“搜刮”>
</form>
实行查询操纵(inq_modi.asp)
<!--#includefile=“RsToModi.asp”-->
<%
//使用Request传回的值到数据库中查询响应的纪录
choice=Request(“choice”)
include=Request(“include”)
sql=“Select*From图书目次”
SelectCasechoice
case“borrow”
sql=sql&“Where借阅情形like‘%”&include&“%’”
titlestr=“借阅情形”
……
EndSelect
titlestr=titlestr&“包括”&include&“图书目次”
sql=sql&“Orderby分类号”
%>
//挪用RsToModi.asp显现查询了局
<%
Setconn=Server.CreateObject(“ADODB.Connection”)
conn.open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&Server.MapPath(“Books.mdb”)
Setrs=conn.Execute(sql)
RsToModiTablers
%>
显现查询了局(RsToModi.asp)
<%
SubRsToModiTable(rs)
’PartI获得图书序号和借阅情形字段值
Fori=0tors.Fields.Count-1
Response.WRITE“<TD>”&rs.Fields(i).Name&“</TD>”
ifrs.Fields(i).Name=“序号”then
bookidfield=i
endif
ifrs.Fields(i).Name=“借阅情形”then
linkfield=i
endif
Next
’PartⅡ创立借阅情形链接,挪用借阅情形修正页面
WhileNotrs.EOF
Fori=0tors.Fields.Count-1
ifilinkfieldthen
ifi=bookidfieldthen
bookidvalue=rs.Fields(i).Value
endif
iftrim(rs.Fields(i).Value)“”then
Response.WRITE“<TD>”&rs.Fields(i).Value&“</TD>”
else
Response.WRITE“<TD>”&“―”&“</TD>”
endif
else
linkstr=“<ahref=”&““””&“bookmodi.asp?bookid=”&bookidvalue&““””
linkstr=linkstr&“target=”&““””&“_blank”&““””&“>”
alignstr=“<palign=”&““””&“center”&““””&“>”
iftrim(rs.Fields(i).Value)“”then
Response.WRITE“<TD>”&alignstr&linkstr&rs.Fields(i).Value&“</a>”&“</TD>”
else
Response.WRITE“<TD>”&alignstr&linkstr&“无”&“</a>”&“</TD>”
endif
endif
Next
rs.MoveNext
Wend
EndSub
%>
借阅情形修正页面(BookModi.asp)
//将Request传送来的序号所对应的纪录显现在页面上,对册数、借阅情形、借阅日期字段举行修正
<%
BookID=Request(“BookID”)
DbPath=Server.MapPath(“Books.mdb”)
Setconn=Server.CreateObject(“ADODB.Connection”)
conn.open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DbPath
sql=“Select*From图书目次”
sql=sql&“Where序号=”&BookID
Setrs=conn.Execute(sql)
%>
//创立表单,对册数、借阅情形、借阅日期字段举行修正
<formAction=“BookUpdate.asp?BookID=<%=BookID%>”method=“POST”>
<tdheight=“35”width=“17”>序号</td>
……
<tdheight=“80”width=“17”><%=rs(“序号”)%></td>
……
<InputType=TextName=“BNumber”Value=<%=rs(“册数”)%>size=“3”>
<InputType=TextName=“BPerson”Value=<%=rs(“借阅情形”)%>></td>
<InputType=TextName=“BDate”Value=<%=rs(“借阅日期”)%>>
<p><inputtype=“submit”value=“修正”name=“MODIFY”>
<inputtype=“button”value=“加入”name=“EXIT”onclick=“window.close()”>
</p>
</form>
保留修正了局(BookUpdate.asp)
<!--#includefile=“adovbs.inc”-->
<%
BookID=Request(“BookID”)
DbPath=SERVER.MapPath(“Books.mdb”)
Setconn=Server.CreateObject(“ADODB.Connection”)
conn.open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DbPath
B_number=Request(“BNumber”)
B_person=Request(“BPerson”)
B_date=Request(“BDate”)
iflen(B_number)=0then
B_number=1
endif
iflen(B_person)=0then
B_person=“”
endif
iflen(B_date)=0then
B_date=“”
endif
Setrs=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
Setrs=conn.Execute(sql)
%>
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 那么,ASP.Net有哪些改进呢? 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
页:
[1]