ASP编程:用ASP构建你的网站旧事公布(二)
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。(二)增加和办理天天的旧事内容当举行了旧事提交后,则交由一个名为addnew.asp的asp程序来对旧事内容举行处置,以便分类和保留,为了显现清析,我们每提交一条旧事,上面的谁人旧事内容库就从头读进,以即可以检察旧事是不是能乐成到场都数据库中,也能够放便地删除旧事内容。
如今看看addnew.asp是怎样完成程序处置的。
<%@language="vbscript"%>
<%
response.buffer=true
Response.Expires=0
保留数据
session("title")=request.form("title")
session("comment")=request.form("comment")
session("pic")=request.form("pic")
session("class_name")=request.form("class_name")
session("head")=request.form("head")
判别传过去的参数符不切合请求
ifrequest.form("title")=""then
response.redirect"delete.asp"
endif
ifrequest.form("comment")=""then
response.redirect"delete.asp"
endif
ifrequest.form("class_name")=""then
response.redirect"delete.asp"
endif
selectcaserequest.form("class_name")
case"市场风云"
class=1
case"IT旧事"
class=2
case"广州市场"
class=3
case"保 留"
class=4
case"保 留"
class=4
endselect
毗连数据库
%>
<!--#includeVirtual="/news/data/data.inc"-->
<%
Setrs=Server.CreateObject("ADODB.Recordset")
sql="select*fromdataorderbynews_idASC"
rs.opensql,conn,3,2
查找编号
ifrs.bofthen
reco=0
else
rs.movelast
reco=Clng(rs("news_id"))+1
endif
rs.addnew
rs("news_id")=reco
ifrequest.form("head")="YES"then
rs("news_head")=-1
endif
rs("news_class")=class
rs("news_class_name")=request.form("class_name")
ifrequest.form("pic")""then
rs("news_pic")=request.form("pic")
rs("news_title")=request.form("title")&"(图文)"
else
rs("news_title")=request.form("title")
endif
ifrequest.form("head")="YES"then
rs("news_head")=-1
endif
tmpmess=request.form("comment")
tmpmess=replace(tmpmess,chr(10),"<br>")
tmpmess=replace(tmpmess,"<","《")
tmpmess=replace(tmpmess,">","》")
tmpmess=replace(tmpmess,"《br》","<br>")
rs("news_comment")=tmpmess
rs("news_year")=year(Date)
rs("news_month")=month(Date)
rs("news_day")=day(Date)
ifInstr(Time,"下战书")>0then
tmp=left(right(Time,8),2)+12
rs("news_time")=tmp&right(Time,6)
else
rs("news_time")=tmp&right(Time,8)
endif
rs("news_delete")=0
rs.update
rs.close
response.redirect"delete.asp"
%>
程序中起首判别了提交的旧事是不是合符前提,好比旧事题目是不克不及为空的,而换行符也得转换为html语句的br,不然不克不及一般地显现出旧事的格局,而这里接纳了一个包括文件data.inc,它的用途次要是用于毗连分歧的数据库,以是asp程序都经由过程包括这个文件来指定命据源,那末当变动利用其余数据库时,只必要变动这个文件,就可以便利地完成来分歧数据库间的切换,是否是非常便利呢?
以下的data.inc文件的内容。
<%
Setconn=Server.CreateObject("ADODB.Connection")
DBPath=Server.MapPath("/")&"/news/data/data.mdb"
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
%>
另有必要注重一下的是NT和windows98的日期工夫函数所前往的值是分歧的,win98是以24小时来盘算的,而NTServer则利用12小时,别的加上“上午”和“下战书”来暗示,因而必要作出少量的更该处置。
程序处置终了后,从头导向delete.asp这个asp文件,用以革新旧事数据库内的显现,那末每提交一条旧事材料,我们即刻能够瞥见实行的了局是不是乐成了。
以下是delete.asp的文件内容。
<%@language="vbscript"%>
<%
response.buffer=true
Response.Expires=0
%>
<!--#includeVirtual="/news/data/data.inc"-->
<%
Setrs=Server.CreateObject("ADODB.Recordset")
sql="sele</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]