ASP基础教程.docx
- 文档编号:17307291
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:22
- 大小:27.21KB
ASP基础教程.docx
《ASP基础教程.docx》由会员分享,可在线阅读,更多相关《ASP基础教程.docx(22页珍藏版)》请在冰点文库上搜索。
ASP基础教程
一份ASP学习笔记
1.突出显示文字
要显示的文字
2.根据用户选择,做出相应的反应(在客户端实现)
SELECTCASEDocument.Form1.card.options(selectedIndex).Text
Case"value1"
Option1
Case"value2"
Option2
......
ENDSELECT
3.VBScript的 Sub函数不返回值
Function 函数将返回一个值
SubProcedure1()后必须带括号,前可带Public|Private来限制该函数的使用范围。
如果私有,则只有事先声明该过程的程序能调用。
一例:
FunctionProg(Value1)
Prog=Value1*22
endfunction
x=prog(22)
Response.write(x)
4.本机DSN信息存于注册表中,只有当前用户可以使用,
系统DSN可被本机所有用户使用
文件DSN存于一个.dsn文件中,若将此文件方于网络共享文件夹中,则可被局域网中任一用户访问。
5.Microsoft的数据访问分为:
用于本地的DAO,用于网络的ADO,用于远程访问的RDO。
6.SQL的两部分:
DDL,DML
7.SELECT字段若含有空格用[]括起来
8.SELECTID,XM,M,E,C,M+E+CASSUMFROMSCOREORDERBYM+E+CDESC默认为升序
SELECTTOP10*FORMSTUDENTWHERESCORE>=60
9.DELETEFROMstudentWHEREscore<60’若略WHERE子句则将删除全部记录。
10.UPDATETABLE1SETDD=DD+2WHEREDDLIKE‘02%’表示DD以02打头的记录;SET后多个更新记录之间不用’,’分隔。
11.INSERTINTOSCORE(ID,XM,SCORE)VALUES(33333,’LIU’,88)’字符型数据需要加单引号
12.SQL="UPDATEsystemSETmaxonlinetime=’"&now()&"’,maxonline="&Application("c_useronline"))’其中maxonlinetime为日期型数据,maxonline为数值型数据。
13.SELECTAASAA,BASBBINTOSS将建立SS数据表。
14.SELECT*INTOMYBOOKFROMBOOKWHEREWHOSE=MY
15.SETSESSION("Object1")=SERVER.CREATEOBJECT("YourObjectName")’将建立有会话作用域的对象,否则OBJECT只有页作用域。
16.SESSION适用于一个用户;APPLICATION适用于多个用户。
17.exec="insertintoguestbook(nickname,content,E_mail)values(’"&nickname&"’,’"&neirong&"’,’"&mail&"’)"’一般格式
18. window.history.back();">返回上一页’一般用在提交信息有误或其它需要返回的场合。 (呵呵这里缺19,原文如此) 20.connstr="DBQ="+server.mappath("lyb.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"’连接字符串 21. ’">’当页面载入时,状态栏显示结果 22. //从本级窗口,逐级查找其子窗口 if(window.frames! =null){ for(i=0;i window.alert("Childwindow"+i+"isnamed"+window.frames(i).name); } 23.去掉连接的下划线 -- a: link{text-decoration: none} --> 24.SQL中的字段,字段名切勿取如From,等可能为系统保留字的名字,否则会给你带来很大的麻烦。 25.window.location.href=""//在javascript,vbscript中可以使用。 利用客户端脚本转入别的页面 26.isnull()函数为真表明是无效数据,isempty()为真表明未被初始化,isnothing()只用于对象。 27.onMouseOut="MouseOut(this,’#ccccff’);"onMouseOver="MouseOver(this,’#C82890’);" onClick="MouseClick(this);"//事件触发的处理。 28. 29.图片按钮可以这样来实现: 如果您不想使用图片,也可以这样写 30.会员注册,加入记录时姓名的检查(需与28配合使用) -- functionform_username_onsubmit(){ returncheck(); } functioncheck() { varusername=document.form_username.username; if(username.value.length<=0||username.value.length>8) { window.alert("用户名不能为空且长度不能超过8个字符! "); username.focus(); returnfalse; } if(HasBug(username.value)) { window.alert("用户名不能含有不规范字符! "); username.focus(); returnfalse; } returntrue; } functionHasBug(strtest) { varstr=newString(strtest) strMatch=/["’]/; if(str.search(strMatch)! =-1) returntrue; else returnfalse; } //--> 31。 会员注册较完备的检查***************************************************************************************** -- functionform_reg_onsubmit(){ varform=document.form_reg; return(check(form)); } functioncheck(form) { if(form.password.value.length<1) { alert("密码不能为空! "); form.password.focus(); return(false); } if(form.re_password.value! =form.password.value) { alert("两次输入的密码不同? "); form.password.focus() return(false); } if(form.youbian.value.length>0)检查邮编 { if(! check_ecode(form.youbian)) { returnfalse; } returnture; } if(! check_mail(form.e_mail.value)&&form.e_mail.value.length>0) { alert("您输入的E_mail地址有误,请更正? ^_^"); form.e_mail.focus(); return(false); } if(form.zhuye.value.length>0) { if(! check_zhuye(form.zhuye.value)) { alert("请检查您的主页地址"); form.zhuye.focus(); returnfalse; } return(true); } } functioncheck_ecode(code) { if(code.value! ="") { if(check_int(code.value)) { if(code.value.length>6) { alert("邮政编码必须小于等于6位! "); code.focus(); return(false); } returntrue; } else { alert("邮政编码必须为数字! "); code.focus(); return(false); } } returnfalse; } functioncheck_zhuye(page) { varcheckOK="."; varvalid=false; varnum=0; if(page.charAt(page.length-1)==checkOK) returnfalse; for(i=0;i { ch=page.charAt(i); if(ch==checkOK)num++; } if(num>1)returntrue; returnfalse; } functioncheck_mail(myint) { varcheckOK="@"; varcheckStr=myint; varallValid=true; vardecPoints=0; varallNum=""; if(checkStr.charAt(0)==’@’)return(false); if(checkStr.charAt(checkStr.length-1)==’@’) return(false); if(checkStr.charAt(checkStr.length-1)==’.’) return(false); a_valid=0;a_count=0; d_valid=0; for(i=0;i { ch=checkStr.charAt(i); if(ch==’@’){a_valid=1;a_count++;} if(ch==’.’){d_valid=1;} } if(a_count>1)return(false); if(a_valid==1&&d_valid==1)return(true);elsereturn(false); } functioncheck_int(myint) { varcheckOK="0123456789-"; varcheckStr=myint; varallValid=true; vardecPoints=0; varallNum=""; for(i=0;i { ch=checkStr.charAt(i); for(j=0;j if(ch==checkOK.charAt(j)) break; if(j==checkOK.length) { allValid=false; break; } allNum+=ch; } if(! allValid) { return(false); } return(true); } //--> 32.sub函数的两种调用方式。 形如: callerrmsg(msg,"60%")或errmsgmsg,"60%"。 33.这里是要突出显示的字体突出显示 34. 35. 1px;line-height: 140%"> 36. fixed;word-break: break-all">如果表格单元内的文字超过超过单元长度将强制其换行。 37.action="showcontent<%=z%>.asp">可以这么写. 38.self.location=self.location可能导致IE的崩溃,有时被用做黑客程序。 39.referer=request.servervariables("http_referer")取得的路径将是完整的从HTTP: //开始的路径。 有时在改变界面风格时使用。 如9SeekGBook的改变风格就是这样实现的。 当点击某种风格后转到一个设置风格的页面,取得跳转到该页面的文件路径,写入标识当前风格的COOKIES或SESSION,再Response.redirect(referer)。 40.javascript中对脚本错误的屏蔽的一种方法: functionstoperror(){ returntrue } window.onerror=stoperror 41.mid(parentstr,n,3)如果n=0将会发生错误,所以使用此函数应该保证n的值是大于0的整数(很可能出现n在一个循环中改变为0或是当调用子程序时n已被修改为0的情况)。 42.背景音乐的设置: 43. 44.javascript中eval()将括号中的表达式的结果以NUM形式返回 45.动态生成客户端脚本,并且实现服务器端变量传递到客户端脚本中的一例: <% ifsd(i)>userlinethen Response.Write" endif %> 46.一段时间后自动关闭窗口。 (一般用在当用户越权访问或其它类似情况下,在某些浏览器中可能不能得到执行) vartid=null;tid=setTimeout(’this.window.close()’,100000); 47.日期文字和时间文字包含在两个井号(#)之间。 例如: <%ConstCutoffDate=#6-1-97#%> 48.如果Sub过程无任何参数,则Sub语句必须包含空括号() 49. 50.获得当前路径strPath=Server.MapPath(".")&"\New.xml" 51. b0d0ff;MARGIN: 0px"> 52.if(u==’0’){parent.viewsay.frmMain.rows="100%,*";parent.viewsay.frmMain.cols="*";}; elseif(u==’1’){parent.viewsay.frmMain.rows="50%,*";parent.viewsay.frmMain.cols="*";}; 通过脚本动态改变框架。 53.location.href=’? id=944’;一段黑客程序 54.一些关键字的应用实例: 55.VBS中的常量: vbCrLf换行,相当于chr(13)&chr(10) 56.我发现一个非常奇怪的问题: functionoluserexist(str,rid) str=str+"$" ifinstr(Application("c_roomuserlist"&cstr(rid)),substr)>0thenoluserexist=true endfunction 在子过程中改变了str,则调用该函数的主函数(比如说onluserexist(user,4),执行完后,user值也随着变化变成了user+"$" (缺57) 58.dimconnstr="select*fromtable"是错的。 DIM后不能赋值。 一份ASP学习笔记(连载二) 1.在脚本中设置背景颜色: document.bgcolor="red" 2.JavaScript脚本中窗口的定位和调整大小: functionWin(){ if(window.screen){ window.moveTo(0,0); window.resizeTo(800,600); } } 3.VBS中exitfor马上退出循环,后面的内容将得不到执行。 所以需要在此之前要注意完成善后的处理。 4.如果没有明确声明变量,则可能会不小心改变一个全局变量的值。 <% Y=1 CallSetLocalVariable Response.WriteY SubSetLocalVariable() Y=2 EndSub %> 由于变量没有显式声明,上述脚本命令将返回2。 过程调用将Y设置为2时,脚本引擎认为该过程是要修改全局变量: 最理想的变量使用情况如下例所示: <%DimY=1 CallSetLocalVariable Response.WriteY SubSetLocalVariable() DimY Y=2 EndSub%> 这段脚本命令最终输出Y值为 1,这是因为显式定义了两个名为Y的变量。 这种细微的差别一般可能无妨大碍,但是当系统大到一定程度以后是必须注意的,因为可能出现很多莫名其妙的问题! ! 5.学会定义并且使用常量。 6.在这里,DateSerial函数返回1998年11月10日之前二十年(1990-20)零两个月(11-2)又一天(10-1)的日期: 即1978年9月9日。 程序如下: Datep=DateSerial(1998-20,11-2,10-1) 7.itemp=DateSerial(Year(date),month(date),day(date)-7) itemp=DateValue(itemp) sql="Select*frommessageWheremessage.creatime Between#"&date&"# And#"&itemp&"#" 在这里我们又接触到了一组函数Year,month,day,它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 基础教程