ASP编程必会代码.docx
《ASP编程必会代码.docx》由会员分享,可在线阅读,更多相关《ASP编程必会代码.docx(14页珍藏版)》请在冰豆网上搜索。
ASP编程必会代码
ASP编程必会的代码
ASP课堂上学到的程序设计,都是按照语法和对象来一点一点的学习的,到最后编程的时候,新手根本想不出来要怎么来组合才能完成一个模块,下面把这些语法按照程序员常用的模块方式组合起来,请大家按照模块来记忆,然后按照模块来应用,不一定要一个一个字母的背下来,关键是用到这些模块的时候能准确的,拿出来,安上去!
注意下面的标点符号,全部都为英文中的半角符号,如果写成了全角的就一定运行不起来了,切忌切忌……
1、常用写法
(1)ASP开始结束符语法:
<%%>文件后缀.asp
(2)Request.form("title")'获取表单中的一个输入框name叫title的值
(3)Request.querystring("title")'获取连接中的一个参数title=后面的值
(4)dimstr
str="我爱你"
response.write(str)'向屏幕输出
(5)response.write"ok程序运行到这里了!
"
(6)sql="select*fromnews"
response.writesql'调试和查看sql语句写法是否正确的语句常用到
(7)Response.Redirect("login.asp")'跳转到另外一个页面
(8)response.redirect("admin.asp")'转到后台
(9)Response.end'程序输出截至,不显示该条语句下面的内容了
(10)Response.Write("")'弹出提示窗口
2、判断语句
(1)判断表单传来的用户名和密码是否正确,并提示
Ifrequest("username")="admin"then
Response.write"恭喜,你已经登录成功"
Else
Response.write"对不起,您输入的用户名错误,请返回重输入"
Endif
(2)同时判定用户名和密码都正确就转入到后台,否则退回到从新输入页面
Ifrequest("name")="admin"andrequest("pass")="admin"then
Response.redirect"admin.asp"
Else
Response.redirect"login.asp"
Endif
(3)变量值和字符串值合起来用&
a="我"
b="爱"
c="你"
response.writea&b&c&"妈妈"
3、循环语句:
循环显示6条数据库中的记录
(1)写法1:
dowhilenotrs.eof
response.write"
"&rs("title")&"
"
rs.movenext
loop
(2)写法二:
forn=1to6
response.writers("title")&"
"
ifrs.eofthen
exitfor'跳出for循环
else
rs.movenext'记录集下移一条
endif
next
4、常用变量转换函数
Now()函数返回系统时间
Date()函数返回当前系统日期.
CStr(int)函数转化一个表达式为字符串
CInt(string)将一个表达式转化为数字类型
Trim(request("username"))函数去掉字符串左右的空格
Left(rs("title"),10)&"..."函数返回字符串左边第10个字符以前的字符(含第length个字符),一般在限制新闻标题的显示长度的时候用
Len(string)函数返回字符串的长度.中文字符长度也计为一
request.serverVariables("remote_host")'取得来访问的IP
mid(str,起始字符,[读取长度]):
截取字符串中间子字符串
right(str,nlen):
从右边起截取nlen长度子字符串
Lcase(str):
字符串转成小写
Ucase(str):
字符串转成大写
Ltrim(str):
去除字符串左侧空格
Rtrim(str):
去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):
替换字符串
注:
默认值:
起始字符1;替代次数不限;比较方法区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):
检测是否包含子字符串可选参数需同时选返回起始位置
5、Access数据库连接代码
(1)方法一:
db="mydata.mdb"'如果放在目录中,就要写明"database/mydata.mdb"
Setconn=Server.CreateObject("ADODB.Connection")
cServer.MapPath(db)
conn.Openconnstr
(2)方法二:
'如果你的服务器采用较老版本Access驱动,请用下面连接方法
db="mydata.mdb"'如果放在目录中,就要写明"database/mydata.mdb"
Setconn=Server.CreateObject("ADODB.Connection")
c&Server.MapPath(db)
conn.Openconnstr
6、标准的用Sql语句和asp操作数据的常用写法
包括取全部记录
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnews"
Rs.OpenSqlStr,conn,1,1'运行sql语句,把数据提出到rs对象中
选取几条数据
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="selecttop6*fromnews"
Rs.OpenSqlStr,conn,1,1'运行sql语句,把6条数据提出到rs对象中
选取一条指定表中id字段数值的数据
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnewswhereid="&request("id")
Rs.OpenSqlStr,conn,1,1'运行sql语句,把6条数据提出到rs对象中
获取一条表单传过来的数据,然后加入到一个表当中
dima,b,c,d
a=request.form("a")
b=request("b")
c=request("c")
d=request("d")
sqlstr100000="insertintohuiyuanbiao(yonghuming,mima,wenti,daan)values('"&a&"','"&b&"','"&c&"','"&d&"')"
conn.executesqlstr100000
response.write"恭喜,新数据加入成功!
"
修改一条指定表中id字段数值的数据,用表单传过来的数据替换
dima,d,e
a=request("id")
d=request.form("d")
e=request.form("e")
sqlstr="updatehuiyuanbiaosetyonghuming='"&d&"',mima='"&e&"'whereid="&a
response.writesqlstr
conn.executesqlstr
response.write"恭喜,数据修改成功!
"
删除一条指定表中id字段数值的数据
dima
a=request("delid")
sqlstr="deletefromhuiyuanbiaowhereid="&a
conn.executesqlstr
response.write"恭喜,删除成功!
"
7、用Recordset对象和asp操作数据库的常用写法
(1)用sql语句,取出news表中所有的数据放到rs中,按照数据库默认排序
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnews"
Rs.OpenSqlStr,conn,1,1
(2)取出news表中前6条数据放到rs中,按照数据库默认排序方式
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="selecttop6*fromnews"
Rs.OpenSqlStr,conn,1,1
(3)循环显示6条rs对象中存在的数据,列表显示
不带连接的写法
forn=1to6
response.writers("title")&"
"
ifrs.eofthen
exitfor
else
rs.movenext
endif
next
带连接的写法
forn=1to6
response.write"id=rs("id")>"&left(rs("title"),20)&"
"
ifrs.eofthen
exitfor
else
rs.movenext
endif
next
(4)向数据库添加一条数据代码
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnews"
Rs.OpenSqlStr,conn,1,3'注意这里的1,3代表可以写入的打开数据表
Rs.addnew
Rs("title")=trim(request.form("title"))
Rs("neirong")=request.form("neirong")
Rs("date")=now()
rs.update'真正写入数据库
(5)修改一条记录的代码,通过
(2)中的连接传递过来了id数值
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnewswhereid="&request("id")
Rs.OpenSqlStr,conn,1,3'注意这里的1,3代表可以写入的打开数据表
Rs("title")=trim(request("title"))
Rs("neirong")=request("neirong")
Rs("date")=now()
rs.update'真正写入数据库
(6)删除数据库中一条记录,通过连接传递过来了数据得id数值
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select*fromnewswhereid="&request("id")
Rs.OpenSqlStr,conn,1,3'注意这里的1,3代表可以写入的打开数据表
rs.delete'删除该条数据
8、当点击按钮时候表单带着的数据传送到哪个文件,在哪里指定?
9、表单提交来的数据接收并显示到屏幕上的代码
response.writerequest.form("a")
response.writenow()
response.writetrim(request.form("b"))
10、利用Application对象作计数器的语法
在网页的头部加入
Application.Lock
Application("counter")=Application("counter")+1
Application.UnLock
在需要显示计数内容的网页的地方,加入下面的语句
response.writeApplication("counter")
11、利用Session对象保护后台管理页面admin.asp,防止未登陆用户进入
第一步、在网站后台网页需要权限保护的所有网页的头部加入下面的代码,
ifsession("admin")<>"ok"then
response.redirect"login.asp"
response.end
endif
第二步、在网站后台登陆页的检测表单发来的用户名和密码验证部分标准写法
AdmName=Request.Form("Name")
AdmPass=Request.Form("Pass")
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="Select*fromAdminwherename='"&AdmName&"'andpass='"&AdmPass&"'"
Rs.OpenSqlStr,conn,1,3
ifRs.EOFANDRS.BOFthen
Response.Redirect("login.asp")
response.end
else
session("admin")="ok"
Response.Redirect("admin.asp")
response.end
endif
12、分页代码
sql="select……………………省略了你的从表中取出所有数据的sql语句写法
Setrs=Server.Createobject("ADODB.RECORDSET")
rs.Opensql,conn,1,1
ifnotrs.eofthen
pages=30'定义每页显示的记录数
rs.pageSize=pages'定义每页显示的记录数
allPages=rs.pageCount'计算一共能分多少页
page=Request.QueryString("page")'通过浏览器传递的页数
'if语句属于基本的排错处理
ifisEmpty(page)orCint(page)<1then
page=1
elseifCint(page)>allPagesthen
page=allPages
endif
rs.AbsolutePage=page
Dowhilenotrs.eofandpages>0
'这里输出你要的内容………………
pages=pages-1
rs.MoveNext
Loop
else
Response.Write("数据库暂无内容!
")
Endif
rs.Close
Setrs=Nothing
'分页页码连接和跳转页码程序
<%
IfPage<>1Then
Response.Write"Page=1>第一页”
Response.Write"Page="&(Page-1)&">上一页“
EndIf
IfPage<>allPagesThen
Response.Write"Page="&(Page+1)&">下一页"
Response.Write"Page="&allPages&">最后一页"
EndIf
%>
输入页数:
页数:
<%=Page%>/<%=allPages%>
13、分行列显示图片和产品名称的代码(4列x3行=12个)
<%
SetRs=Server.CreateObject("ADODB.RecordSet")
SqlStr="selecttop12*frommyproduct"
Rs.OpenSqlStr,conn,1,1
i=1
%>
<%
dowhilenotrs.eof
%>
"width="52"height="120">
<%=rs("productname")%>
<%ifimod4=0thenresponse.write"
|
"i=i+1
rs.movenext
loop
rs.close
%>
十四、ASP数据库连接之ACCESS-SQLSERVER
<%
IsSqlData=0‘定义数据库类别,0为Access数据库,1为SQL数据库
IfIsSqlData=0Then
Access数据库
datapath="data/"数据库目录的相对路径
datafile="data.mdb"数据库的文件名
c&Server.MapPath(""&datapath&""&datafile&"")
C&server.mappath(""&datapath&""&datafile&"")&";DRIVER={MicrosoftAccessDriver(*.mdb)};"
Else
SQL数据库
SqlLocalName="(local)"连接IP[本地用(local)外地用IP]
SqlUsername="sa"用户名
SqlPassword="1"用户密码
SqlDatabaseName="data"数据库名
C&SqlUsername&";Password="&SqlPassword&";InitialCatalog="&SqlDatabaseName&";DataSource="&SqlLocalName&";"
ENDIF
OnErrorResumeNext
Setconn=Server.CreateObject("ADODB.Connection")
conn.openConnStr
IfErrThen
err.Clear
SetConn=Nothing
Response.Write"数据库连接出错,请检查连接字串。
"
Response.End
EndIf
%>
--判断网址是否合格并处理-->
<%
url=trim(request.form("url"))
ifleft(url,7)<>"http:
//"then
url="http:
//"&url
endif
%>
--显示时间为几月几日并处理-->
<%
y=Month(date())
r=Day(date())
iflen(y)=1theny="0"&y
iflen(r)=1thenr="0"&r
Response.Writey&"月"&r&"日"
%>
--限制某些IP访问网站-->
<%
url_str=Request.ServerVariables("REMOTE_ADDR")
url=split(url_str,".")
ifurl(0)=127andurl
(1)=0andurl
(2)=0andurl(3)>0andurl(3)<256then
else
response.Write(url_str)
endif
%>
--设置文章显示格式-->
<%
functionHTMLEncode(fString)
ifnotisnull(fString)then
fString=replace(fString,">",">")
fString=replace(fString,"<","<")
fString=Replace(fString,CHR(32),"")
fString=Replace(fString,CHR(9),"")
fString=Replace(fString,CHR(34),""")
fString=Replace(fString,CHR(39),"'")
fString=Replace(fString,CHR(13),"")
fString=Replace(fString,CHR(10)&CHR(10),"
")
fString=Replace(fString,CHR(10),"
")
HTMLEncode=fString
endif
endfunction
%>
1.ASP与Access数据库连接:
<%
dimconn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
setconn=server.createobject("adodb.connection")
conn.open"driver={microsoftaccessdriver
(*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
%>
2.ASP与SQL数据库连接:
<%
dimconn
setconn=server.createobject("ADODB.connection")
con.open"PROVIDER=SQLOLEDB;DATA
SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
建立记录集对象:
setrs=server.createobject("adodb.recordset")
rs.openSQL语句,conn,3,2
3.SQL常用命令使用方法:
(1)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名ord