ASP网页编程之纪录的一些ASP进修笔记
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。笔记 用application和session做的复杂计数器<%
if isempty(session("conn")) then
application.lock
set counterfile=server.createobject("scripting.filesystemobject")
set temp=counterfile.opentextfile(server.mappath("count.txt"),1,true,false)
num=temp.readline
if num=empty then num=1
application("count")=num
application("count")=application("count")+1
temp.close
end if
%>
<center><h1>访主人数:<font color=red><%=application("count")%></font></h1>
<%
set counterfile=server.createobject("scripting.filesystemobject")
set temp=counterfile.createtextfile(server.mappath("count.txt"),true,false)
temp.writeline(application("count"))
temp.close
application.unlock
%>
###########################################################################
If Then 法式语句 End if 如
<%
score=request("score")
if not isnumeric(score) then
m="请输出数字"
elseif score="" then
m="请输出数据"
elseif score>=60 and score<=100 then
m="合格"
elseif score>100 or score<0 then
m="请输出0---100之间的数"
else
m="不合格"
end if
%>
cookies:
<%
response.buffer=true ' 因是没有在办事器下载数据前就停止了互换,所以用缓冲区来装下载的数据
var=request.cookies("var")
if var="" then var=empty '由于""不成与数值运算
response.write"入手下手var="&var&"<br>"
var=var+10
response.write"停止var="&var&"<br>"
response.cookies("var")=var
response.cookies("va").expires="2004/3/31/" '设定无效期
%>
###########################################################################
称动、复制、删除文件
<%
set fs=server.createobject("scripting.filesystemobject")
source=server.mappath("1/1.txt")
target=server.mappath("1.txt")
on error resume next
fs.movefile source,target 'movefile换在deletefile\copyfile
if err.number=53 then
response.write source&"文件不存在"
response.end
elseif err.number=70 then
response.write target&"文件为只读或锁"
response.end
elseif err.nuber<>0 then
response.write"other="&err.number
response.end
end if
%>
##########################################################
读取文本内容
<%
set fs=server.createobject("scripting.filesystemobject")
file=server.mappath("1/1.txt")
set txt=fs.opentextfile(file,1,true)
if not txt.atendofstream then
line=txt.readline'可换成readall
response.write line&"<br>"
end if
%>
############################################
SERVER & Request]
<%=server.htmlencode("<i>原码输入</i>")%>
<%=request.servervariables("local_addr")%>'当地IP
<%=request.servervariables("remote_addr")%>'Client 端IP
毗连access数据库的两种办法:
1、<% Set CN = Server.CreateObject("ADODB.Connection"
CN.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("message.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
%>
2、<%Set con = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("bbs.mdb")
con.Open "provider=microsoft.jet.oledb.4.0;data source="&DBPath
Set rs=Server.CreateObject("ADODB.Recordset")
%>
##########################################################################
数据表翻开的几种办法
1、SQL = "Select * From 数据表 Where 主编号=" & request("ID")
RS.Open SQL,con,1,3
2、RS.Open "数据表",con,1,3
3、RS.Open "Select * from student",con,1,3
读取数据库数据的方面
1、<%=RS(0).name%> '读取第一栏的表头称号
2、<%=RS(1).value%> '读取第二栏的里的内容
3、<%=Rs.Fields(1).Value%> '同上
4、Rs.recordcount '总纪录数
5、Rs.fields.Count '有几个栏位
###########################################################################
如读取表中的数据:
<%
Num=0
For Itemline=0 To Rs.recordcount-1 'recordcount-1 不会移出最初一笔纪录
Response.Write "<TR>"
For I=0 To Rs.fields.Count-1
Response.Write "<TD><input type=text name=" & Num & _
" value=" & Rs(I).Value & "></TR>"
Response.Write chr(10) '输入换行符
Num=Num+1
Next
Response.Write "</TR>"
Rs.MoveNext
If Rs.Eof Then Exit For '可省略
Next
%>
保留数据文件
###########################################################################
<%
Dim Item(100) '数组的几何很主要
For I=0 To 100
Item(I)=Request(I)
Next
Set conobject = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("exam.mdb")
conobject.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&DBPath
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open "Select * from first",conobject,1,3
Num=0
For Itemline=0 To Rs.recordcount-1
For Itemnum=1 To Rs.Fields.Count-1
Rs.Fields(Itemnum).Value=Item(Num)
Num=Num+1
rs.update
Next
Rs.MoveNext
If Rs.Eof Then Exit For
Next
Response.Redirect "editexam.asp"
%>
###########################################################################
判别表单是不是填写完全
1、If name = "" Or email = "" Or subject = "" Or _
textmemo = "" Then
Response.Write "<script>alert('松子说了,不填完就别想留言!');history.go(-1);</script>"
Response.End
End If
增添新数据办法
1、rs.open ""&s&"",con,1,3
rs.addnew
rs("name")=request("name")
rs("depa")=request("depa")
rs.update
%>
##############################################################
经常使用函数
1、字符类
1、Asc(string)'该数值为参数字符串第一个字母的ASCII值如Asc(a)=97
2、Chr(charcode)'将指定的字符码转为字符(string) 如chr(97)等于A
3、Len(string)'盘算参数中字符串的字符数量如 len(ab c)=4
4、Left(字符串,指定长度) 如left("123 4",3)=123
5、Right 同上
6、MId(字符串,入手下手字符,指定长度)如mid("123 4",3,1)=1
7、LTrim(字符串)'去除字串中的前置空白如Ltrim(" hello“)="hello"
8、RTrim(字符串)同上
9、Trim(字符串)'去除字符串前、后的空白
10、UCase(字符串)将字符串中一切字符转换为大写字符如Ucase("h")="H"
11、Lcase(字符串)同上
12、Space(空格数量) 如"hello"&space(1)&"jacky"=hello jacky
13、String(字符数,字符)用来发生一个反复字符构成的字符串如string(3,"ab")=aaa'两个以上字符时只反复第一个
14、Join(来历数组[,分隔字符])
15、Split (来历字符串,分隔字符串)
16、replace(源字符串,源字符串中的字符,要酿成的字符串)
如 a="long" response.write (replace(a,"l","s"))=song
2、数学类
1、Abs(数值)'前往参数值的相对值,前往值的类型与参数数值类型不异。
2、Sgn(数值)判别参数数值的正负号,参数为负数时前往1,正数前往-1,0前往0
3、Sqr(数值)求得数值的平方根,不成为负
4、Hex(数值) 转化为16进位
5、Oct (数值) 转化为8进位
3、种别转换
1、Int(数值) 前往数值的整数局部 如int(3,3)=3
2、Fix(数值)同上,只是int(-3.8)=4 而fix(-3.8)=3
3、Str(数值) 将数值转换为字符串。
4、Format(处置对象[,格局])
5、Year(date)/Month(date)/Day(date)获得年、月、日
6、Hour(time)/Minute(time)/Second(time)
7、WeekdayName(1-7)如weekdayname(1)=日曜日
8、MonthName(1-12)如monthname(1)=一月
4、对照运算符:= 、<>、<、>、<=、>=
5、Not逻辑运算符:And 、Or、Not
6、指定运算符号:=
7、运算符符号:+、*、/、\(整数除法)2\5=0、Mod(除法取余数)、^乘(次方)5^2=25
8、串拉运算符:& 如abc&efg=abcdefg
从表中删除一笔记录:
1、<a href=del.asp?ID=<%=RS("id")%> >删除</a>
2、<%
id=request("id")
Set CN = Server.CreateObject("ADODB.Connection")
CN.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("new.mdb")
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open "new",CN,1,3
SQL="delete * From new where id="&id
cn.execute sql
response.redirect("index.asp")
%>
###########################################################################
坚持文本框格局分歧的成绩:
<%
function th(str)
str=replace(str,"妈的","MD")
str=replace(str,"靠","KAO")
th=str
end function
function encode(str)
str = replace(str, ">", ">")
str = replace(str, "<", "<")
str = WordStr(str, CHR(32), " ")
str = WordStr(str, CHR(13), "")
str = WordStr(str, CHR(10) & CHR(10), "</P><P>")
str = WordStr(str, CHR(10), "<BR>")
encode=str
end function
%>
<%title=request.form("title")
content=request.form("content")%>
文章题目:<%=th(title)%><hr>
文章内容:<%=encode(th(content))%>
###########################################################################
技能:
1、response.write chr(10)'输入一个换行符号
2、本页的文件名<%=request.servervariables("path_info")%>
3、with response
<%
with response
.write "this"
.write "is"
.write "a"
.write "test"
end with
%>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 不能只是将它停留在纸上谈兵的程度上。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页:
[1]