asp学习入门经验谈

一.VBScript语法简介
VBScript语句是一种基于VB的一种脚本语言,主要用于WEB服务器端的程序开发,我们这里只介绍一些简单的语句,主要是操作数据库的几种常见的语句
<1>.vbscript的标识

1   
2语句   
3……   

<2>定义变量dim语句

1   
2dim a,b   
3a=10   
4b=”ok!”   

注意:定义的变量可以是数值型,也可以是字符或者其他类型的
<3>简单的控制流程语句
1. If 条件1 then
语句1
elseif 条件2 then
语句2
else
语句3
endif
2.while 条件
语句
wend
3.for count=1 to n step m
语句1
exit for
语句2
next
二.ASP数据库简单操作教程
<1>.数据库连接(用来单独编制连接文件conn.asp)

1   
2Set conn = Server.CreateObject(\"ADODB.Connection\")   
3conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"\\\bbs\\\db1\\\user.mdb\")   

(用来连接bbs\\db1\\目录下的user.mdb数据库)
<2>显示数据库记录
原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录
如果是从头到尾:用循环并判断指针是否到末 使用: not rs.eof
如果是从尾到头:用循环并判断指针是否到开始 使用:not rs.bof

(包含conn.asp用来打开bbs\\db1\\目录下的user.mdb数据库)

 1   
 2set rs=server.CreateObject(\"adodb.recordset\") (建立recordset对象)   
 3sqlstr=\"select * from message\" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)   
 4rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)   
 5rs.movefirst ---->(将指针移到第一条记录)   
 6while not rs.eof ---->(判断指针是否到末尾)   
 7response.write(rs(\"name\")) ---->(显示数据表message中的name字段)   
 8rs.movenext ---->(将指针移动到下一条记录)   
 9wend ---->(循环结束)   
10\------------------------------------------------------   
11rs.close   
12conn.close 这几句是用来关闭数据库   
13set rs=nothing   
14set conn=nothing   
15\-------------------------------------------------------   

其中response对象是服务器向客户端浏览器发送的信息
<3>增加数据库记录
增加数据库记录用到rs.addnew,rs.update两个函数

(包含conn.asp用来打开bbs\\db1\\目录下的user.mdb数据库)

 1   
 2set rs=server.CreateObject(\"adodb.recordset\") (建立recordset对象)   
 3sqlstr=\"select * from message\" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)   
 4rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)   
 5rs.addnew 新增加一条记录   
 6rs(\"name\")=\"xx\" 将xx的值传给name字段   
 7rs.update 刷新数据库   
 8\------------------------------------------------------   
 9rs.close   
10conn.close 这几句是用来关闭数据库   
11set rs=nothing   
12set conn=nothing   
13\-------------------------------------------------------   
14  

<4>删除一条记录
删除数据库记录主要用到rs.delete,rs.update

(包含conn.asp用来打开bbs\\db1\\目录下的user.mdb数据库)

 1   
 2dim name   
 3name=\"xx\"   
 4set rs=server.CreateObject(\"adodb.recordset\") (建立recordset对象)   
 5sqlstr=\"select * from message\" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)   
 6rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)   
 7\-------------------------------------------------------   
 8while not rs.eof   
 9if rs.(\"name\")=name then   
10rs.delete   
11rs.update 查询数据表中的name字段的值是否等于变量name的值\"xx\",如果符合就执行删除,   
12else 否则继续查询,直到指针到末尾为止   
13rs.movenext   
14emd if   
15wend   
16\------------------------------------------------------   
17\------------------------------------------------------   
18rs.close   
19conn.close 这几句是用来关闭数据库   
20set rs=nothing   
21set conn=nothing   
22\-------------------------------------------------------   

<5>关于数据库的查询
(a) 查询字段为字符型

 1   
 2dim user,pass,qq,mail,message   
 3user=request.Form(\"user\")   
 4pass=request.Form(\"pass\")   
 5qq=request.Form(\"qq\")   
 6mail=request.Form(\"mail\")   
 7message=request.Form(\"message\")   
 8if trim(user)&\"x\"=\"x\" or trim(pass)&\"x\"=\"x\" then (检测user值和pass值是否为空,可以检测到空格)   
 9response.write(\"注册信息不能为空\")   
10else   
11set rs=server.CreateObject(\"adodb.recordset\")   
12sqlstr=\"select * from user where user=\'\"&user&\"\'\" (查询user数据表中的user字段其中user字段为字符型)   
13rs.open sqlstr,conn,1,3   
14if rs.eof then   
15rs.addnew   
16rs(\"user\")=user   
17rs(\"pass\")=pass   
18rs(\"qq\")=qq   
19rs(\"mail\")=mail   
20rs(\"message\")=message   
21rs.update   
22rs.close   
23conn.close   
24set rs=nothing   
25set conn=nothing   
26response.write(\"注册成功\")   
27end if   
28rs.close   
29conn.close   
30set rs=nothing   
31set conn=nothing   
32response.write(\"注册重名\")   

(b)查询字段为数字型

 1   
 2dim num   
 3num=request.Form(\"num\")   
 4set rs=server.CreateObject(\"adodb.recordset\")   
 5sqlstr=\"select * from message where id=\"# (查询message数据表中id字段的值是否与num相等,其中id为数字型)   
 6rs.open sqlstr,conn,1,3   
 7if not rs.eof then   
 8rs.delete   
 9rs.update   
10rs.close   
11conn.close   
12set rs=nothing   
13set conn=nothing   
14response.write(\"删除成功\")   
15end if   
16rs.close   
17conn.close   
18set rs=nothing   
19set conn=nothing   
20response.write(\"删除失败\")   

<6>几个简单的asp对象的讲解
response对象:服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值
request对象:客户端向服务器提出的请求
session对象:作为一个全局变量,在整个站点都生效
server对象:提供对服务器上方法和属性的访问
(a) response对象的一般使用方法
比如:

1   
2resposne.write(\"hello, welcome to asp!\")   

在客户端浏览器就会看到 hello, welcome to asp! 这一段文字

1   
2response.Redirect(\" ![](\\"/dsdimg/200522613434454677801.gif\\") _www.net118.com_ \")   

如果执行这一段,则浏览器就会自动连接到 “搜狐” 的网址
关于response对象的用法还有很多,大家可以研究研究
request对象的一般使用方法
比如客户端向服务器提出的请求就是通过request对象来传递的
列如 :你在申请邮箱的所填写的个人信息就是通过该对象来将
你所填写的信息传递给服务器的
比如:这是一段表单的代码,这是提供给客户填写信息的,填写完了按
“提交”传递给request.asp文件处理后再存入服务器数据库

 1<form action='\"request.asp\"' method='\"post\"' name='\"form1\"'>
 2<p>
 3<input name='\"user\"' type='\"text\"'/>
 4</p>
 5<p>
 6<input name='\"pass\"' type='\"text\"'/>
 7</p>
 8<p>
 9<input _value_='\"提交\"' name='\"Submit\"' type='\"submit\"'/>
10</p>
11</form>

那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到
request对象了,下面我们就来分析request.asp的写法

1   
2dim name,password (定义user和password两个变量)   
3name=request.form(“user”) (将表单中的user信息传给变量name)   
4password=request.form(“pass”) (将表单中的pass信息传给变量password)   

通过以上的几句代码我们就将表单中的数据读进来了,接下来我们要做的就是将
信息写入数据库了,写入数据库的方法上面都介绍了,这里就不一一复述了。
(通过上面的学习大家完全可以自己做一个留言版了)

Published At
Categories with Web编程
Tagged with
comments powered by Disqus