网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用ASPMail组件发送数字卡片.
.aspjpeg组件高级使用方法介绍.
.在HTML页面中实现点击数统计.
.用排序串字段实现树状结构(例程.
.将站点加入频道栏源代码.
.如何安裝 IIS 5.0 ?.
.页边距的设定技巧(HTML).
.拦截表单的另外一种写法.
.虚拟web目录容易泄露ASP源代码 (.
.测字符串长度函数.
.在config.web中保存数据库连接串.
.asp程序和php程序转换要注意的问.
.Display data From database int.
.用XML数据岛解决用户界面问题 - 1.
.提高ASP页面的执行效率(下).
.XMLHTTP Get HTML页面时的中文乱.
.动态网站首页的静态生成方法.
.一个BBS的源代码(一).
.Access2000数据库80万记录通用快.
.将ado方便的转化为XML文件.

ASP服务器组件编程心得

发表日期:2000-10-31


使用ASP编程的一大优点是可以使用众多的服务器组件(ActiveX Server Components)。这些组件提供诸如广告轮显
(Ad Rotator)、浏览器兼容(Browser Capabilities)、数据库存取(Database Access)、文件超链接(Content
Linking)、文件存取(File Access)等等功能。使用服务器组件,可以通过非常简单的方式高效率地完成各种复杂的工
作。

  一般,ASP的各个组件通常使用 Server.CreateObject 方法来创建。例如,创建一个AD Rotator 组件可用:

<%

set ad = Server.CreateObjet (“MSWC.AdRotator”)

%>

  在ASP的各个组件中,ActiveX Data Object(ADO)组件有着极为重要的作用。它是一种可以提供Web页面设计开发人
员快速存取Internet的数据库,并在用户端实现网上实时更新显示的Web数据库技术;ADO几乎兼容于各种数据库系统,而
且跨越多种不同的程序语言开发环境。

  例如,我们在网上向本公司的客户群提供各种硬件的升级程序,与此同时,我们希望能够记录下客户的相关资料。在
以前,这种Web上的交互操作一般采用CGI来完成,不仅难以书写和维护,而且对处理器的消耗很大。现在,我们使用ASP的
ADO组件,就可以在短短的两个小时轻轻松松的完成以前需要三天才能完成的开发工作,而且还不必花费太多的时间和精力
放在维护上。

  首先,我们需要写一个供用户填写资料的表格页面,或者我们还可以将这个页面与后面的ASP处理程序放在同一个文件
里,只需要我们在<form>代码中注明Action的对象是本程序(要么就什么都不写)。

  假定我们的程序名是download.html,下面是原代码:

<html>

<body>

`声明提交方法及传递信息的方式

<form METHOD="POST" ACTION="download.asp">

<font face=arial>

<table border="0" align=center>

<tr>

<td><font color="black" size="2"><b>Name:</b></font></td>

<td><input TYPE="text" SIZE="30" NAME="name"></td>

</tr>

<tr>

<td><font color="black" size="2"><b>Telephone:</b></font></td>

<td><input TYPE="text" SIZE="30" NAME="telephone"></td>

</tr>

<td><font color="black" size="2"><b>E-mail:</b></font></td>

<td><input TYPE="text" SIZE="30" NAME="email"></td>

</tr>

<tr>

<td><font color="black" size="2"><b>Address:</b></font></td>

<td><input TYPE="text" SIZE="30" NAME="address"></td>

</tr>

<tr>

</table>

<hr>

<table align=center><tr>

<td><input TYPE="Submit" VALUE="Submit"></td>

<td width=30></td>

<td><input TYPE="Reset" VALUE="Reset"></td>

</tr></table>

</font>

</form>

</body>

</html>

  然后,我们开始编写数据处理程序download.asp。

<script language=vbscript runat=server>

`设置缓冲区属性

response.buffer=true

Dim name

  判断有关字段是否为空

if Len(request.form("name"))=0 then

name="Not Entered"

else

  不为空时,利用Response对象让Server获取表格中“name”字段内容

name=request.form("name")

end if


Dim telephone

if Len(request.form("telephone"))=0 then

telephone="Not Entered"

else

telephone=request.form("telephone")

end if


Dim address

if Len(request.form("address"))=0 then

address="Not Entered"

else

address=request.form("address")

end if


  由于我们将采取Email发送的方式将该下载软件提供给用户,所以我们必须要求客户提供 有效的Email地址。

Dim email

email=request.form("email")

  `判定客户填写的“Email”资料中是否含有特别字符“@”

if instr(email,"@")=0 then

`若为否,引导客户至“back.htm”的提示页面。

response.redirect("back.htm")

else

  建立数据库连接通道

Set objConn = Server.CreateObject("ADODB.Connection")

  打开需要的数据库

objConn.Open("download")

  创建对象接口

set objRst = Server.CreateObject("ADODB.Recordset")

set objRst.ActiveConnection = objConn

  设定对数据库更新数据时的锁定机制为:数据在更新时并未锁定其他用户的动作。

objRst.LockType = 3

  数据库源

objRst.Source = "client"

  控制数据更新后过滤下载的数据类型

objRst.CursorType = adOpenKeyset

  将从表格内获取的资料传送到web服务器上的数据库

objRst.Open

objRst.AddNew

objRst("company") = company

objRst("name") = name

objRst("telephone") = telephone

objRst("fax") = fax

objRst("email") = email

objRst("address") = address

objRst.Update

objRst.close

  关闭连接

objConn.close


  下面是利用IIS4.0附带的Email组件CDONTS发送邮件

Dim objMail

  建立一个Email组件

set objMail=Server.CreateObject("CDONTS.NewMail")

  邮件发送者的Email地址

objMail.From="me@hotmail.com"

  邮件接收者的Email地址

objMail.To=email

  邮件的标题

objMail.Subject="Thank you!"

  邮件的正文

objMail.Body="This is the software of Virtual Drive 2000 Network."

  在邮件里附加文件,“绝对路径”,“文件名”。若为URL地址,则改为ObjMail.AttachUrl

objMail.AttachFile "d:/power/download/vdn2kdm.exe", "vdn2kdm.exe"

 发送邮件

objMail.Send

  将Email对象从内存中清除

Set objMail=nothing


response.write "<p><font face=arial size=3 color=blue><b>Thank you!<br>We have sent the file pass your
Email, please wait...</b></font></p>"


end if


</script>


  到这里,一个很不错的web数据库交互操作程序就大功告成,而且,它还带有向客户发送Email的功能,方便客户利用
Email下载较大的文件。
上一篇:开发连接远程SQL Server 的ASP程序应注意的问题 人气:11402
下一篇:配置IIS4实现应用程序隔离 人气:9827
浏览全部的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐