山云文库

ASP编程实例-ASP编程中20个非常有用的例子

2010-11-30 17:11:13

dnf asp收信问题 来个会编程的高手 高悬赏
dnf asp收信问题 来个会编程的高手 高悬赏ASP编程实例-ASP编程中20个非常有用的例子

ASP 教程ASP 编程实例 编程实例:ASP 编程中 20 个异常有用的例子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) % >第 1 页 共 6 页

ASP 教程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 和客户端脚本结合倒能够显示一个对话框,as follows:< % yourVar="测试对话框"% > < % s cript language='javas cript' > alert("< %=yourvar% >" < /s cript >11.有没有办法保卫自己的源代码,不给人看到 有没有办法保卫自己的源代码, 有没有办法保卫自己的源代码 答: 能够去下载一个微软的 Windows s cript Encoder, 它能够对 asp 的脚本和客户端 javas cript/vbs cript 脚本停止加密。

只是客户端加密后,只好 ie5 才干实行,效劳器端脚本加密后,只好效劳器上装置有 s cript engine 5(装一个 ie5 就有了)才干实行。

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

IIS4 能够运用 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 3.0 时常运用到 IIs 4.0 和其它的 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第 2 页 共 6 页

ASP 教程第二种办法:运用 MTS(Microsoft Transaction Server) MTS 是 IIS 4 新增特征,但是它提供了伟大的改 进。

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" 。

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 sql="select sql="select sql="select sql="select* from 数据表 where 字段名=字段值 order by 字段名 [desc]" * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" top 10 * from 数据表 where 字段名 order by 字段名 [desc]" * from 数据表 where 字段名 in ('值 1','值 2','值 3')" * from 数据表 where 字段名 between 值 1 and 值 2"(2) 更新数据记载:sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段 1=值 1,字段 2=值 2 …… 字段 n=值 n where 条件表达式 "(3) 删除数据记载:第 3 页 共 6 页

ASP 教程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("别名" 猎取统的计值,其它函数运用同上。

(5) 数据表的树立和删除: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,Options Source Recordset 对象能够经过 Source 属性来衔接 Command 对象。

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

假设省略那个参数,系统则采取 Recordset 对象的 Source 属性。

ActiveConnection Recordset 对象能够经过 ActiveConnection 属性来衔接 Connection 对象。

那个地点的 ActiveConnection 能够 是一个 Connection 对象或是一串包括数据库衔接信息(ConnectionString)的字符串参数。

第 4 页 共 6 页

ASP 教程CursorType Recordset 对象 Open 办法的 CursorType 参数显示将以啥样的游标类型启动数据,包括 adOpenForwardOnly、adOpenKeyset、adOpenDynamic 及 adOpenStatic,分述如下: -------------------------------------------------------------常数 常数值 阐明 ------------------------------------------------------------adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。

adOpenKeyset 1 启动一个 Keyset 类型的游标。

adOpenDynamic 2 启动一个 Dynamic 类型的游标。

adOpenStatic 3 启动一个 Static 类型的游标。

------------------------------------------------------------以上几个游标类型将直截了当妨碍到 Recordset 对象全部的属性和办法,以下列表阐明他们之间的差异。

------------------------------------------------------------Recordset 属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic ------------------------------------------------------------AbsolutePage 不支援 不支援 可读写 可读写 AbsolutePosition 不支援 不支援 可读写 可读写 ActiveConnection 可读写 可读写 可读写 可读写 BOF 只读 只读 只读 只读 Bookmark 不支援 不支援 可读写 可读写 CacheSize 可读写 可读写 可读写 可读写 CursorLocation 可读写 可读写 可读写 可读写 CursorType 可读写 可读写 可读写 可读写 EditMode 只读 只读 只读 只读 EOF 只读 只读 只读 只读 Filter 可读写 可读写 可读写 可读写 LockType 可读写 可读写 可读写 可读写 MarshalOptions 可读写 可读写 可读写 可读写 MaxRecords 可读写 可读写 可读写 可读写 PageCount 不支援 不支援 只读 只读 PageSize 可读写 可读写 可读写 可读写 RecordCount 不支援 不支援 只读 只读 Source 可读写 可读写 可读写 可读写 State 只读 只读 只读 只读 Status 只读 只读 只读 只读 AddNew 支援 支援 支援 支援 CancelBatch 支援 支援 支援 支援 CancelUpdate 支援 支援 支援 支援 Clone 不支援 不支援 Close 支援 支援 支援 支援 Delete 支援 支援 支援 支援 GetRows 支援 支援 支援 支援 Move 不支援 支援 支援 支援 MoveFirst 支援 支援 支援 支援 MoveLast 不支援 支援 支援 支援 MoveNext 支援 支援 支援 支援第 5 页 共 6 页

ASP 教程MovePrevious 不支援 支援 支援 支援 NextRecordset 支援 支援 支援 支援 Open 支援 支援 支援 支援 Requery 支援 支援 支援 支援 Resync 不支援 不支援 支援 支援 Supports 支援 支援 支援 支援 Update 支援 支援 支援 支援 UpdateBatch 支援 支援 支援 支援 -------------------------------------------------------------其中 NextRecordset 办法并不适用于 Microsoft Access 数据库。

LockType Recordset 对象 Open 办法的 LockType 参数显示要采取的 Lock 类型,假设疏忽那个参数,那样系统会 以 Recordset 对象的 LockType 属性为预设值。

LockType 参数包括 adLockReadOnly、adLockPrssimistic、 adLockOptimistic 及 adLockBatchOptimistic 等,分述如下: ------------------------------------------------------------常数 常数值 阐明 -------------------------------------------------------------adLockReadOnly 1 缺省值,Recordset 对象以只读方式启动,无法运转 AddNew、Update 及 Delete 等 办法 adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的举措,以坚持数据分歧性。

adLockOptimistic 3 当数据源正在更新时,系统并不或许锁住其他用户的举措,其他用户能够对数据进 行增、删、改的操作。

adLockBatchOptimistic 4 当数据源正在更新时,其他用户务必将 CursorLocation 属性改为 adUdeClientBatch 才干对数据停止增、删、改的操作。

第 6 页 共 6 页