Press "Enter" to skip to content

ASP编程基础知识(一)

ASP课堂上学到的程序设计,都是按照语法和对象来一点一点的学习的,到最后编程的时候,新手根本想不出来要怎么来组合才能完成一个模块,下面把这些语法按照程序员常用的模块方式组合起来,请大家按照模块来记忆,然后按照模块来应用,不一定要一个一个字母的背下来,关键是用到这些模块的时候能准确的,拿出来,安上去!

注意下面的标点符号,全部都为英文中的半角符号,如果写成了全角的就一定运行不起来了,切忌切忌……

1、常用写法
(1)ASP开始结束符语法:<% %> 文件后缀.asp
(2)Request.form("title") ‘获取表单中的一个输入框name叫title的值
(3)Request.querystring("title") ‘获取连接中的一个参数title=后面的值

(4)dim str
str="我爱你"
response.write(str)   ‘向屏幕输出
(5) response.write "ok 程序运行到这里了!"

(6) sql="select * from news"
response.write sql
‘调试和查看sql语句写法是否正确的语句常用到

(7)Response.Redirect("login.asp")   ‘跳转到另外一个页面
(8)response.redirect("admin.asp") ‘转到后台
(9)Response.end   ‘程序输出截至,不显示该条语句下面的内容了
(10)Response.Write("<script>alert(‘???!’)</script>")’弹出提示窗口

2、判断语句
(1)判断表单传来的用户名和密码是否正确,并提示
If   request("username")="admin" then
Response.write"恭喜,你已经登录成功"
Else
Response.write"对不起,您输入的用户名错误,请返回重输入"
End if

(2)同时判定用户名和密码都正确就转入到后台,否则退回到从新输入页面
If request("name")="admin" and request("pass")="admin" then
Response.redirect"admin.asp"
Else
Response.redirect"login.asp"
End if

(3)变量值和字符串值合起来用&
a="我"
b="爱"
c="你"
response.write a&b&c&"妈妈"

3、循环语句:循环显示6条数据库中的记录
(1)写法1:
do while not rs.eof
response.write   "<br><font color=#000000>"&rs("title")&"</font><br>"
rs.movenext
loop
(2)写法二:
for n=1 to 6
response.write   rs("title")&"<br>"
if   rs.eof then
       exit for ‘跳出for循环
else
       rs.movenext ‘记录集下移一条
end if
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"
Set conn = Server.CreateObject("ADODB.Connection")
cServer.MapPath(db)
conn.Open connstr

(2)方法二:
‘如果你的服务器采用较老版本Access驱动,请用下面连接方法
db="mydata.mdb" ‘如果放在目录中,就要写明"database/mydata.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
c & Server.MapPath(db)
conn.Open connstr

6、标准的用Sql语句和asp操作数据的常用写法
包括取全部记录
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把数据提出到rs对象中

选取几条数据
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select top 6 * from news"
Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把6条数据提出到rs对象中

选取一条指定表中id字段数值的数据
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把6条数据提出到rs对象中

获取一条表单传过来的数据,然后加入到一个表当中
dim a,b,c,d
a=request.form("a")
b=request("b")
c=request("c")
d=request("d")
sqlstr100000="insert into huiyuanbiao(yonghuming,mima,wenti,daan) values(‘"&a&"’,’"&b&"’,’"&c&"’,’"&d&"’)"
conn.execute sqlstr100000
response.write"恭喜,新数据加入成功!"

修改一条指定表中id字段数值的数据,用表单传过来的数据替换
dim a,d,e
a=request("id")
d=request.form("d")
e=request.form("e")
sqlstr="update huiyuanbiao set yonghuming=’"&d&"’,mima=’"&e&"’ where id="&a
response.write sqlstr
conn.execute sqlstr
response.write"恭喜,数据修改成功!"

删除一条指定表中id字段数值的数据
dim a
a=request("delid")
sqlstr="delete from huiyuanbiao where id="&a
conn.execute sqlstr
response.write"恭喜,删除成功!"

7、用Recordset对象和asp操作数据库的常用写法
(1)用sql语句,取出news表中所有的数据放到rs中,按照数据库默认排序
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,conn,1,1

(2)取出news表中前6条数据放到rs中,按照数据库默认排序方式
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select top 6 * from news"
Rs.Open SqlStr,conn,1,1

(3)循环显示6条rs对象中存在的数据,列表显示

不带连接的写法
for n=1 to 6
   response.write   rs("title")&"<br>"
   if   rs.eof then
      exit for
   else
      rs.movenext
   end if
next

带连接的写法
for n=1 to 6
       response.write "<a href=show.asp?id=rs("id")>"& left(rs("title"),20)&"</a><br>"
       if   rs.eof then
         exit for
       else
         rs.movenext
       end if
next

(4)向数据库添加一条数据代码
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news"
Rs.Open SqlStr,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数值
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,3 ‘注意这里的1,3代表可以写入的打开数据表
Rs("title")=trim(request("title"))
Rs("neirong")=request("neirong")
Rs("date")=now()
rs.update       ‘真正写入数据库

(6)删除数据库中一条记录,通过连接传递过来了数据得id数值
Set Rs=Server.CreateObject("ADODB.RecordSet")
SqlStr="select * from news where id="&request("id")
Rs.Open SqlStr,conn,1,3 ‘注意这里的1,3代表可以写入的打开数据表
rs.delete   ‘删除该条数据

8、当点击按钮时候表单带着的数据传送到哪个文件,在哪里指定?

<form   method="post" action="addsave.asp">
   <input type="text" name="a">
   <input type="text" name="b">
   <input type="submit" name="Submit" value="提交">
</form>

9、表单提交来的数据接收并显示到屏幕上的代码
response.write request.form("a")
response.write now()
response.write trim(request.form("b"))

13 Comments

  1. xlian 2009-10-17

    沙发。要是php的多好

    • admin 2009-10-18

      PHP的也很简单呢 :mrgreen: 多上网找找就有了 :-|

  2. SErHo 2009-10-17

    我想学PHP+Mysql,呵呵 8)

    • admin 2009-10-18

      PHP+Mysql的确是王道 如果你能学成 一定会有份很好的工作 :lol:

  3. 无疆 2009-10-17

    这个ASP还能懂一点,看WP的PHP很是费劲

    • admin 2009-10-18

      WP的话 底层的PHP不用更了吧 一般改改主题的话 还是蛮简单的

  4. 汤博客杂志站 2009-10-18

    哈哈,今天泡在网上看博客,网上搜到你的博文,得很不错吖。今天到访。望回访。:》

    • 微知博客 2009-10-18

      :twisted: 剪刀加浆糊,到哪个博客评论都是这样的话,我关注你很久了,一直就是复制粘贴要求回访!

      • admin 2009-10-18

        呵呵 我也关注你很久了 已经回访了 :)

          • admin 2009-10-18

            不错是不错 但代价也不小啊 :!: 就是这几个小图标都有100多K :-x 以我每天3000IP来算 每天这些小图标就要浪费300M流量 :evil: 因为加了这些小图标 一个月就要多付9G的流量 :(

          • admin 2009-10-18

            噢 说错了 现在不是每天3000IP 而是每天6000IP :!: 前几天更是上万的IP :) 唉 改天还是把这些小图标辙下去算了 :!:

  5. ifu25 2009-10-22

    帅哥为什么把我的链接拿掉了呀?

Leave a Reply

Your email address will not be published. Required fields are marked *