|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。编程|服务器|心得作者;小刀
利用ASP编程的一年夜长处是可使用浩瀚的服务器组件(ActiveXServerComponents)。这些组件供应诸如告白轮显
(AdRotator)、扫瞄器兼容(BrowserCapabilities)、数据库存取(DatabaseAccess)、文件超链接(Content
Linking)、文件存取(FileAccess)等等功效。利用服务器组件,能够经由过程十分复杂的体例高效力地完成各类庞大的工
作。
一样平常,ASP的各个组件一般利用Server.CreateObject办法来创立。比方,创立一个ADRotator组件可用:
<%
setad=Server.CreateObjet(“MSWC.AdRotator”)
%>
在ASP的各个组件中,ActiveXDataObject(ADO)组件有着极其主要的感化。它是一种能够供应Web页面计划开辟人
员疾速存取Internet的数据库,并在用户端完成网上及时更新显现的Web数据库手艺;ADO几近兼容于各类数据库体系,而
且超过多种分歧的程序言语开辟情况。
比方,我们在网上向本公司的客户群供应各类硬件的晋级程序,与此同时,我们但愿可以纪录下客户的相干材料。在
之前,这类Web上的交互操纵一样平常接纳CGI来完成,不但难以誊写和保护,并且对处置器的损耗很年夜。如今,我们利用ASP的
ADO组件,就能够在短短的两个小时悄悄松松的完成之前必要三天赋能完成的开辟事情,并且还不用消费太多的工夫和精神
放在保护上。
起首,我们必要写一个供用户填写材料的表格页面,大概我们还能够将这个页面与前面的ASP处置程序放在统一个文件
里,只必要我们在<form>代码中说明Action的工具是本程序(要末就甚么都不写)。
假定我们的程序名是download.html,上面是原代码:
<html>
<body>
`声明提交办法及传送信息的体例
<formMETHOD="POST"ACTION="download.asp">
<fontface=arial>
<tableborder="0"align=center>
<tr>
<td><fontcolor="black"size="2"><b>Name:</b></font></td>
<td><inputTYPE="text"SIZE="30"NAME="name"></td>
</tr>
<tr>
<td><fontcolor="black"size="2"><b>Telephone:</b></font></td>
<td><inputTYPE="text"SIZE="30"NAME="telephone"></td>
</tr>
<td><fontcolor="black"size="2"><b>E-mail:</b></font></td>
<td><inputTYPE="text"SIZE="30"NAME="email"></td>
</tr>
<tr>
<td><fontcolor="black"size="2"><b>Address:</b></font></td>
<td><inputTYPE="text"SIZE="30"NAME="address"></td>
</tr>
<tr>
</table>
<hr>
<tablealign=center><tr>
<td><inputTYPE="Submit"VALUE="Submit"></td>
<tdwidth=30></td>
<td><inputTYPE="Reset"VALUE="Reset"></td>
</tr></table>
</font>
</form>
</body>
</html>
然后,我们入手下手编写数据处置程序download.asp。
<scriptlanguage=vbscriptrunat=server>
`设置缓冲区属性
response.buffer=true
Dimname
判别有关字段是不是为空
ifLen(request.form("name"))=0then
name="NotEntered"
else
不为空时,使用Response工具让Server猎取表格中“name”字段内容
name=request.form("name")
endif
Dimtelephone
ifLen(request.form("telephone"))=0then
telephone="NotEntered"
else
telephone=request.form("telephone")
endif
Dimaddress
ifLen(request.form("address"))=0then
address="NotEntered"
else
address=request.form("address")
endif
因为我们将接纳Email发送的体例将该下载软件供应给用户,以是我们必需请求客户供应无效的Email地点。
Dimemail
email=request.form("email")
`判断客户填写的“Email”材料中是不是含有出格字符“@”
ifinstr(email,"@")=0then
`若为否,引诱客户至“back.htm”的提醒页面。
response.redirect("back.htm")
else
创建数据库毗连通道
SetobjConn=Server.CreateObject("ADODB.Connection")
翻开必要的数据库
objConn.Open("download")
创立工具接口
setobjRst=Server.CreateObject("ADODB.Recordset")
setobjRst.ActiveConnection=objConn
设定对数据库更新数据时的锁定机制为:数据在更新时并未锁定其他用户的举措。
objRst.LockType=3
数据库源
objRst.Source="client"
把持数据更新后过滤下载的数据范例
objRst.CursorType=adOpenKeyset
将从表格内猎取的材料传送到web服务器上的数据库
objRs</p>Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。 |
|