ASP编程实用20例

 时间:2010-09-10 01:32:15 贡献者:缠绵不醉

导读:山云资料库小编为大家带来关于ASP编程实用20例,asp web编程实例教程的内容希望大家喜欢。

asp web编程实例教程
asp web编程实例教程

1. 如何用 Asp 判断你的网站的虚拟物理路径 使用 Mappath 方法< p align="center" >< font size="4" face="Arial" >< b > The Physical path to this virtual website is: < /b >< /font > < font color="#FF0000" size="6" face="Arial" > < %= Server.MapPath("\")% > < /font >< /p >2.我如何知道使用者所用的浏览器 我如何知道使用者所用的浏览器 我如何知道使用者 使用 the Request object 方法strBrowser=Request.ServerVariables("HTTP_USER_AGENT") If Instr(strBrowser,"MSIE") < > 0 Then Response.redirect("ForMSIEOnly.htm") Else Response.redirect("ForAll.htm") End If3.如何计算每天的平均反复访问人数 如何计算每天的平均反复访问人数 答:解决方法< % startdate=DateDiff("d",Now,"01/01/1990") if strdate< 0 then startdate=startdate*-1 avgvpd=Int((usercnt)/startdate) % >显示结果< % response.write(avgvpd) % > that is it.this page have been viewed since November 10,19984.如何显示随机图象 如何显示随机图象< % dim p,ppic,dpic ppic=12 randomize p=Int((ppic*rnd)+1) dpic="graphix/randompics/"&p&".gif" %>显示< img src="< %=dpic% >" >

5.如何回到先前的页面 如何回到先前的页面 答:< a href="< %=request.serverVariables("Http_REFERER")% >" >preivous page< /a >或用图片如:< img src="arrowback.gif" alt="< %=request.serverVariables("HTTP_REFERER")% >" >6.如何确定对方的 IP 地址 如何确定对方的 答:< %=Request.serverVariables("REMOTE_ADDR)% >7.如何链结到一副图片上 如何链结到一副图片上 答:< % @Languages=vbs cript % > < % response.expires=0 strimagename="graphix/errors/erroriamge.gif" response.redirect(strimagename) %>8.强迫输入密码对话框 强迫输入密码对话框 答:把这句话放载页面的开头< % response.status="401 not Authorized" response.end %>9.如何传递变量从一页到另一页 如何传递变量从一页到另一页 答:用 HIDDEN 类型来传递变量< % form method="post" action="mynextpage.asp" > < % for each item in request.form % > < input namee="< %=item% >" type="HIDDEN" value="< %=server.HTMLEncode(Request.form(item)) % >" > < % next % > < /form >10.为何我在 asp 程序内使用 msgbox,程序出错说没有权限 为何我在 , 答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有 人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁

止这个函数,并告诉你没有权限。

但是 ASP 和客户端脚本结合倒可以显示一个对话框,如 下:< % yourVar="测试对话框"% > < % s cript language=''javas cript'' > alert("< %=yourvar% >") < /s cript >11.有没有办法保护自己的源代码,不给人看到 有没有办法保护自己的源代码, 有没有办法保护自己的源代码 答: 可以去下载一个微软的 Windows s cript Encoder, 它可以对 asp 的脚本和客户端 javas cript/vbs cript 脚本进行加密。

12.怎样才能将 query string 从一个 asp 文件传送到另一个 怎样才能将 答:前者文件加入下句:Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING"))13.global.asa 文件总是不起作用 答:只有 web 目录设置为 web application, global.asa 才有效,并且一个 web application 的根目录下 global.asa 才有效。

IIS 可以使用 Internet Service Manager 设置 application setting 怎样才能使得 htm 文件如同 asp 文件一样可以执行脚本代码? 14.怎样才能使得 htm 文件如同 asp 文件一样可以执行脚本代码 怎样才能使得 答:Internet Sevices Manager - > 选择 default web site - >右鼠键- >菜单属性-〉主目录- > 应用程序设置(Application Setting)- > 点击按钮 "配置"- > app mapping - >点击按钮"Add" - > executable browse 选择 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 输入 htm method exclusions 输入 PUT.DELETE 全部确定即可。

但是值得注意的是这样对 htm 也要由 asp.dll 处理,效率将降低。

15.如何注册组件 如何注册组件 答:有两种方法。

第一种方法:手工注册 DLL 这种方法 IIs 一直使用和其它的 Web Server。

它需要你在 命令行方式下来执行,进入到包含有 DLL 的目录,并输入:regsvr32 component_name.dll 例 如 c:\temp\regsvr32 AspEmail.dll 它会把 dll 的特定信息注册入服务器中的注册表中。

然后这 个组件就可以在服务器上使用了, 但是这个方法有一个缺陷。

当使用这种方法注册完毕组件 后,该组件必须要相应的设置 NT 的匿名帐号有权限执行这个 dll。

特别是一些组件需要读 取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有 MTS 的情况下,要取消 注册这个 dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll 第二种方法: 使用 MTS(Microsoft Transaction Server)MTS 允许你指定只有有特权的用户 才能够访问组件, 大大提高了网站服务器上的安全性设置。

MTS 上注册组件的步骤如下: 在 1) 打开 IIS 管理控制台。

2) 展开 transaction server,右键单击"pkgs installed"然后选择"new package"。

3) 单击"create an empty package"。

4) 给该包命名。

5) 指定 administrator 帐号或则使用"interactive" (如果服务器经常是使用 administrator

登陆的话) 。

6) 现在使用右键单击你刚建立的那个包下面展开后的"components"。

选择 "new then component"。

7) 选择 "install new component" [b]。

8) 找到你的.dll 文件然后选择 next 到完成。

要删除这个对象,只要选择它的图标,然后选择 delete。

附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次 都需要重新启动机器了。

16. ASP 与 Access 数据库连接: 数据库连接:<%@ language=VBs cript%> <% dim conn,mdbfile mdbfile=server.mappath("数据库名称.mdb") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile %>17. ASP 与 SQL 数据库连接: 数据库连接:<%@ language=VBs cript%> <% dim conn set conn=server.createobject("ADODB.connection") con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL 服务器名称或 IP 地址;UID=sa;PWD=数据库密 码;DATABASE=数据库名称 %>建立记录集对象:set rs=server.createobject("adodb.recordset") rs.open SQL 语句,conn,3,218. SQL 常用命令使用方法 常用命令使用方法 方法: (1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like ''%字段值%'' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in (''值 1'',''值 2'',''值 3'')" sql="select * from 数据表 where 字段名 between 值 1 and 值 2"

(2) 更新数据记录:sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段 1=值 1,字段 2=值 2 …… 字段 n=值 n where 条件表达式"(3) 删除数据记录:sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表 (字段 1,字段 2,字段 3 …) valuess (值 1,值 2,值 3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)(5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法:sql="select sum(字段名) as 别名 from 数据表 where 条件表达式" set rs=conn.excute(sql)用 rs("别名") 获取统的计值,其它函数运用同上。

数据表的建立和删除:CREATE TABLE 数据表名称(字段 1 类型 1(长度),字段 2 类型 2(长度) …… )例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称19. 记录集对象的方法 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行

rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第 N 行 rs.absolutepage=N 将记录指针移到第 N 页的第一行 rs.pagesize=N 设置每页为 N 条记录 rs.pagecount 根据 pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true 表示是,false 为否 rs.eof 返回记录指针是否超出数据表末端,true 表示是,false 为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 20 Recordset 对象方法 Open 方法recordset.Open Source,ActiveConnection,CursorType,LockType,OptionsSource Recordset 对象可以通过 Source 属性来连接 Command 对象。

Source 参数可以是一个 Command 对象名称、一段 SQL 命令、一个指定的数据表名称或是一个 Stored Procedure。

假 如省略这个参数,系统则采用 Recordset 对象的 Source 属性。

ActiveConnection

Recordset 对象可以通过 ActiveConnection 属性来连接 Connection 对象。

这里的 ActiveConnection 可以是一个 Connection 对象或是一串包含数据库连接信息 (ConnectionString)的字符串参数。

CursorType Recordset 对象 Open 方法的 CursorType 参数表示将以什么样的游标类型启动数据,包 括 adOpenForwardOnly、adOpenKeyset、adOpenDynamic 及 adOpenStatic,分述如下:常数 常数值 说明 缺省值,启动一个只能向前移动的游标(Forward Only) 启动一个 Keyset 类型的游标 启动一个 Dynamic 类型的游标 启动一个 Static 类型的游标adOpenForwardOnly 0 adOpenKeyset adOpenDynamic adOpenStatic 1 2 3以上几个游标类型将直接影响到 Recordset 对象所有的属性和方法,以下列表说明他们 之间的区别。

Recordset 属性 其中 NextRecordset 方法并不适用于 Microsoft Access 数据库。

LockType Recordset 对象 Open 方法的 LockType 参数表示要采用的 Lock 类型,如果忽略这个参 数,那么系统会以 Recordset 对象的 LockType 属性为预设值。

LockType 参数包含 adLockReadOnly、adLockPrssimistic、adLockOptimistic 及 adLockBatchOptimistic 等,分述如 下:常数 adLockReadOnly常数值 1说明 缺省值, Recordset 对象以只读方式启动, 无法运行 AddNew、 Update 及 Delete 等方法 当数据源正在更新时, 系统会暂时锁住其他用户的动作, 以adLockPrssimistic2保持数据一致性 当数据源正在更新时, 系统并不会锁住其他用户的动作, 其adLockOptimistic3他用户可以对数据进行增、删、改的操作 当数据源正在更新时, 其他用户必须将 CursorLocation 属性 改为 adUdeClientBatch 才能对数据进行增、 删、改的操作adLockBatchOptimistic 4

 
 

微信扫一扫 送福利