仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1602|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP编程适用20例

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:33:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。   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 If

3.若何盘算天天的均匀重复会见人数
  答:处理办法

< % 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,1998


4.若何显示随机图像

< % 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="http://edu.cnzz.cn/NewsInfo/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"
   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,2


18. 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,Options

  Source
  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,分述以下:
常数 常数值申明adOpenForwardOnly0缺省值,启动一个只能向前挪动的游标(Forward Only)adOpenKeyset1启动一个Keyset类型的游标adOpenDynamic2启动一个Dynamic类型的游标adOpenStatic3启动一个Static类型的游标
  以上几个游标类型将直接影响到Recordset对象一切的属性和办法,以以下表申明他们之间的区分。

  Recordset属性
  个中NextRecordset办法其实不合用于Microsoft Access数据库。

  LockType
  Recordset对象Open办法的LockType参数暗示要采取的Lock类型,假如疏忽这个参数,那末体系会以Recordset对象的LockType属性为预设值。LockType参数包括adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述以下:
常数常数值申明adLockReadOnly1缺省值,Recordset对象以只读体例启动,没法运转AddNew、Update及Delete等办法adLockPrssimistic2当数据源正在更新时,体系会临时锁住其他用户的举措,以坚持数据分歧性adLockOptimistic3当数据源正在更新时,体系其实不会锁住其他用户的举措,其他用户可以对数据停止增、删、改的操作adLockBatchOptimistic4当数据源正在更新时,其他用户必需将CursorLocation属性改成adUdeClientBatch才干对数据停止增、 删、改的操作


对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-2-4 02:08:05 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
再现理想 该用户已被删除
板凳
发表于 2015-2-4 13:28:53 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
简单生活 该用户已被删除
地板
发表于 2015-2-4 22:59:23 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-7 12:05:25 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
不帅 该用户已被删除
6#
发表于 2015-2-10 10:28:29 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
深爱那片海 该用户已被删除
7#
发表于 2015-2-17 07:53:37 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
透明 该用户已被删除
8#
发表于 2015-2-22 15:58:25 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
蒙在股里 该用户已被删除
9#
发表于 2015-3-7 00:44:17 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
若相依 该用户已被删除
10#
发表于 2015-3-14 16:39:24 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
老尸 该用户已被删除
11#
发表于 2015-3-17 03:10:33 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
admin 该用户已被删除
12#
发表于 2015-3-20 02:40:15 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
只想知道 该用户已被删除
13#
发表于 2015-3-22 04:15:40 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
爱飞 该用户已被删除
14#
发表于 2015-4-9 13:06:43 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
冷月葬花魂 该用户已被删除
15#
发表于 2015-4-10 20:24:50 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
分手快乐 该用户已被删除
16#
 楼主| 发表于 2015-4-11 00:10:23 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
若天明 该用户已被删除
17#
发表于 2015-4-12 23:57:46 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
金色的骷髅 该用户已被删除
18#
发表于 2015-4-16 06:12:52 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
小女巫 该用户已被删除
19#
发表于 2015-4-22 04:40:09 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
飘飘悠悠 该用户已被删除
20#
发表于 2015-4-29 04:34:43 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 12:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表