一小时asp入门

来源:互联网 发布:网易云课堂软件 编辑:程序博客网 时间:2024/05/01 10:18

 

 

入门或许不合适,不过感觉,起码你看了这篇文章后,再去看asp文件的代码,就不会有看天书的感觉了

1<%
语句
……
%>

2定义变量dim语句
<%
  dim a,b
  a=10
b="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)
<%
Set conn = Server.CreateObject(ADODB.Connection)
conn.Open DRIVER={Microsoft Access Driver (.mdb)}; DBQ= & Server.MapPath(bbsdb1user.mdb)
%>
(用来连接bbsdb1目录下的user.mdb数据库)

2显示数据库记录
原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录
如果是从头到尾:用循环并判断指针是否到末 使用 not rs.eof
如果是从尾到头:用循环并判断指针是否到开始 使用:not rs.bof

<!--#include file=conn.asp-->(包含conn.asp用来打开bbsdb1目录下的user.mdb数据库)
<%
    set rs=server.CreateObject(adodb.recordset) (建立recordset对象)
    sqlstr=select  from message ----(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
    rs.open sqlstr,conn,1,3 ----(表示打开数据库的方式)
    rs.movefirst ----(将指针移到第一条记录)
    while not rs.eof ----(判断指针是否到末尾)
    response.write(rs(name)) ----(显示数据表message中的name字段)
    rs.movenext ----(将指针移动到下一条记录)
    wend ----(循环结束)
------------------------------------------------------
    rs.close
    conn.close 这几句是用来关闭数据库
    set rs=nothing
    set conn=nothing
-------------------------------------------------------
%>
其中response对象是服务器向客户端浏览器发送的信息

3增加数据库记录
增加数据库记录用到rs.addnew,rs.update两个函数
<!--#include file=conn.asp-->(包含conn.asp用来打开bbsdb1目录下的user.mdb数据库)
<%
    set rs=server.CreateObject(adodb.recordset) (建立recordset对象)
    sqlstr=select  from message ----(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
    rs.open sqlstr,conn,1,3 ----(表示打开数据库的方式)
    rs.addnew 新增加一条记录
    rs(name)=xx 将xx的值传给name字段
    rs.update 刷新数据库
------------------------------------------------------
    rs.close
    conn.close 这几句是用来关闭数据库
    set rs=nothing
    set conn=nothing
-------------------------------------------------------
%>

4删除一条记录
删除数据库记录主要用到rs.delete,rs.update
<!--#include file=conn.asp--> (包含conn.asp用来打开bbsdb1目录下的user.mdb数据库)
<%
    dim name
    name=xx
    set rs=server.CreateObject(adodb.recordset) (建立recordset对象)
    sqlstr=select  from message ----(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
    rs.open sqlstr,conn,1,3 ----(表示打开数据库的方式)
-------------------------------------------------------
    while not rs.eof
        if rs.(name)=name then
            rs.delete
            rs.update 查询数据表中的name字段的值是否等于变量name的值xx,如果符合就执行删除,
        else 否则继续查询,直到指针到末尾为止
            rs.movenext
        emd if
    wend
------------------------------------------------------
------------------------------------------------------
    rs.close
    conn.close 这几句是用来关闭数据库
    set rs=nothing
    set conn=nothing
-------------------------------------------------------
%>

5关于数据库的查询
(a) 查询字段为字符型
<%
    dim user,pass,qq,mail,message
    user=request.Form(user)
    pass=request.Form(pass)
    qq=request.Form(qq)
    mail=request.Form(mail)
    message=request.Form(message)
    if trim(user)&x=x or trim(pass)&x=x then (检测user值和pass值是否为空,可以检测到空格)
        response.write(注册信息不能为空)
    else
        set rs=server.CreateObject(adodb.recordset)
            sqlstr=select  from user where user='&user&' (查询user数据表中的user字段其中user字段为字符型)
            rs.open sqlstr,conn,1,3
        if rs.eof then
            rs.addnew
            rs(user)=user
            rs(pass)=pass
            rs(qq)=qq
            rs(mail)=mail
            rs(message)=message
            rs.update
            rs.close
            conn.close
            set rs=nothing
            set conn=nothing
            response.write(注册成功)
        end if
        rs.close
        conn.close
        set rs=nothing
        set conn=nothing
    response.write(注册重名)
%>
(b)查询字段为数字型
<%
    dim num
    num=request.Form(num)
    set rs=server.CreateObject(adodb.recordset)
    sqlstr=select  from message where id=&num (查询message数据表中id字段的值是否与num相等,其中id为数字型)
    rs.open sqlstr,conn,1,3
    if not rs.eof then
        rs.delete
        rs.update
        rs.close
        conn.close
        set rs=nothing
        set conn=nothing
        response.write(删除成功)
    end if
    rs.close
    conn.close
    set rs=nothing
    set conn=nothing
    response.write(删除失败)
%>

6.几个简单的asp对象的讲解
response对象: 服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值
request对象: 客户端向服务器提出的请求
session对象: 作为一个全局变量,在整个站点都生效
server对象: 提供对服务器上方法和属性的访问
(a) response对象的一般使用方法
比如:
<%
    resposne.write(hello, welcome to asp!)
%>
在客户端浏览器就会看到 hello, welcome to asp! 这一段文字
<%
    response.Redirect(www.sohu.com)
%>
如果执行这一段,则浏览器就会自动连接到 “搜狐” 的网址
关于response对象的用法还有很多,大家可以研究研究

request对象的一般使用方法
比如客户端向服务器提出的请求就是通过request对象来传递的
列如 :你在申请邮箱的所填写的个人信息就是通过该对象来将
你所填写的信息传递给服务器的
比如:这是一段表单的代码,这是提供给客户填写信息的,填写完了按
“提交”传递给request.asp文件处理后再存入服务器数据库
<form name=form1 method=post action=request.asp>
<p>
<input type=text name=user>
</p>
<p>
<input type=text name=pass>
</p>
<p>
<input type=submit name=Submit value=提交>
</p>
</form>
那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到
request对象了,下面我们就来分析request.asp的写法
<%
    dim name,password (定义user和password两个变量)
    name=request.form(“user”) (将表单中的user信息传给变量name)
    password=request.form(“pass”) (将表单中的pass信息传给变量password)
%>
通过以上的几句代码我们就将表单中的数据读进来了,接下来我们要做的就是将信息写入数据库了,写入数据库的方法上面都介绍了,这里就不一一复述了。
(通过上面的学习大家完全可以自己做一个留言版了)