最新改版

asp学习入门经验谈

上一篇 / 下一篇  2007-03-31 12:53:26 / 个人分类:网络学习

asp学习入门经验谈云南博客Id;aJ x"DG

]+z-f:n2[k#q0一.VBscrīpt语法简介
!r ["r|Q;Y0VBscrīpt语句是一种基于VB的一种脚本语言,主要用于WEB服务器端的程序开发,我们云南博客A\y]3FH
这里只介绍一些简单的语句,主要是操作数据库的几种常见的语句
(| hC k/LwSc0<1>.vbscrīpt的标识
y6Rq,K'F0<%
$G!ya2L ^ c/Oe0  语句
q ONcg0  ……云南博客Z+KRj7e%O7N)t
%>云南博客7_O ~6O;xs"^s Y.mcB {
<2>定义变量dim语句云南博客"Z^+[#^-Q*[{N+u L"@
<%
dq l,o&F)a0dim a,b
*sM6] xMc,o0a=10云南博客` Jy*o j_*@
b=”ok!”
'HTm*ij N*OD0%>云南博客*hY8Q1MB'p)m P4`4H
注意:注意:定义的变量可以是数值型,也可以是字符或者其他类型的云南博客!Et|R6eHc;n
<3>简单的控制流程语句云南博客&U,hVr/e-{x
1. If 条件1 then云南博客@4eWo${B6i k.m
  语句1云南博客ltw GT:m
elseif 条件2 then
w#R.iULWQ0  语句2
E{e3F(WlV3H^ ~0else云南博客I1VG^%V
  语句3云南博客&]$r)nT8B/f V5d3KP;x
endif云南博客){ ~Eh'`
2.while 条件
p#I4r1h$v g0  语句 云南博客&]p0lSPL
wend云南博客 PYV goY)b
3.for count=1 to n step m云南博客(Z x\\'d:]:K AY+I
语句1云南博客,fe!^6]%^ |
exit for
!}*qNs0qP0语句2
~PBg{dp,{(_0next
fyMr#B9v?6A0二.ASP数据库简单操作教程云南博客 j;y hC8wK
<1>.数据库连接(用来单独编制连接文件conn.asp)云南博客U c#t|^|
<%
`3}or4iu!UV0Set conn = Server.CreateObject("ADODB.Connection")云南博客Ln/d|(@
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\bbs\db1\user.mdb")
MHb8Qo5m |"D;p0%>云南博客-kVSnnH(^O$ai.Lo
(用来连接bbs\db1\目录下的user.mdb数据库)云南博客wY'e-S R1j
<2>显示数据库记录云南博客!kNc2eME p"|7S
原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录云南博客)Z-S0l3A7Y`
    如果是从头到尾:用循环并判断指针是否到末     使用: not rs.eof云南博客 gU[^;{q2H&J
    如果是从尾到头:用循环并判断指针是否到开始   使用:not rs.bof
MejYS:o0    云南博客M-a2W$Zsl
    <!--#include file=conn.asp-->   (包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库)云南博客cY(|4?F%S e
    <%云南博客1X1I Ky9i`i
      set rs=server.CreateObject("adodb.recordset") (建立recordset对象)云南博客8q k s8L:Yl4a.U9s
      sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)云南博客0{;Hk#z|-@
      rs.open sqlstr,conn,1,3       ---->(表示打开数据库的方式)
3o,_@e]+]/h0      rs.movefirst             ---->(将指针移到第一条记录)
Qzo!W{b0      while not rs.eof           ---->(判断指针是否到末尾)云南博客3t` _]-~(e
      response.write(rs("name"))     ---->(显示数据表message中的name字段)
6s(\X P6g:O0C#OE0      rs.movenext               ---->(将指针移动到下一条记录)
+j.|8q4U kh^(F#hS0      wend                   ---->(循环结束)
flv[1i2t&o^0------------------------------------------------------       云南博客 J0g'v O R5Y @'I
      rs.close云南博客U3b'\f!mb#@r
      conn.close             这几句是用来关闭数据库云南博客?"R;g4tX!J2~
      set rs=nothing
7u,W!CH C OD0      set conn=nothing
0L$y!x:H9G0-------------------------------------------------------
L1t&x~G'TYvi4b0    %>
nsVX O1_TS*R0    其中response对象是服务器向客户端浏览器发送的信息云南博客,x8osN,PJ ^5FD
<3>增加数据库记录云南博客|%NnBe
增加数据库记录用到rs.addnew,rs.update两个函数
%V[[(]+N;tMc0    <!--#include file=conn.asp-->   (包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库)云南博客Q{!i+dU!s*X U
    <%
zz,B7e.FX)Y%I0      set rs=server.CreateObject("adodb.recordset") (建立recordset对象)
v`+W s3|"c#Xx0      sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
%W0WYZ7n}0      rs.open sqlstr,conn,1,3       ---->(表示打开数据库的方式)
T5pLW1jR r0      rs.addnew               新增加一条记录云南博客-N[#r#N m
      rs("name")="xx"           将xx的值传给name字段云南博客9?7w;S1xt-Ba5X
      rs.update               刷新数据库 云南博客1b*L)A0a Sh)nV
------------------------------------------------------      
o$x5YP0zJo0      rs.close
` B n^6Msd]4_-jP0      conn.close             这几句是用来关闭数据库
O5{V} ?G0      set rs=nothing
b~Ke.a i*G!h/E0      set conn=nothing
7W:O edL5V%g;@0-------------------------------------------------------       云南博客(R B'uw#BQ A
            云南博客? f"`!z`D
    %>
(jA"E6G ~.D~0<4>删除一条记录
$] T|%i9bD2MX0删除数据库记录主要用到rs.delete,rs.update云南博客 uA2T|r@CU
  <!--#include file=conn.asp-->   (包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库)
uY?k3dP0    <%云南博客z I/?h'b*b/j
      dim name云南博客 y$g L+?+Hu n
      name="xx"云南博客]w ]2S9{
      set rs=server.CreateObject("adodb.recordset") (建立recordset对象)云南博客,q/s*p[&S5a8]-[Jk
      sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)云南博客N$a\Jv8C
      rs.open sqlstr,conn,1,3       ---->(表示打开数据库的方式)云南博客9S[ g H&E1i
-------------------------------------------------------     云南博客"q)[%]^ qh
      while not rs.eof
^st)t9\I(C0      if rs.("name")=name then
-Ul6V?} r tG0      rs.delete云南博客9zZ ["P0^
      rs.update         查询数据表中的name字段的值是否等于变量name的值"xx",如果符合就执行删除,
uB4Y+x3kcl0      else             否则继续查询,直到指针到末尾为止
k'K@!T4[:G3N#v {0      rs.movenext
E"M\0?j*q0      end if云南博客^v9xVXT
      wend
Ory0S@`'M1M:e0------------------------------------------------------
[ B\u]'v0------------------------------------------------------      
6QJ q B5`x:k0      rs.close云南博客*T F G {s/u
      conn.close             这几句是用来关闭数据库
k0`6R B??ym0      set rs=nothing云南博客'Go%p @~_@+`X
      set conn=nothing
/a2~M$Y2K3X:G{ u(~0-------------------------------------------------------
nC7u J$~MY0    %>
A%I7w9iNZNt0<5>关于数据库的查询
/Zd p4L Q{F3^4{x0(a) 查询字段为字符型
&E S*c_Yrv;LG0    <%
2SY X8smg&v l2^0    dim user,pass,qq,mail,message云南博客dL1vK,I&r%|
    user=request.Form("user")云南博客/PrY ~^I4Vz
    pass=request.Form("pass")
Oq5bI%|4nj0    request.Form("qq")
/T x/z4CWg1|0    mail=request.Form("mail")云南博客's }(}j0Ac,H s]
    message=request.Form("message")
)Kt_IGgL8A*M0    if trim(user)&"x"="x" or trim(pass)&"x"="x" then   (检测user值和pass值是否为空,可以检测到空格)
&K:p g4ec0gUp0    response.write("注册信息不能为空")云南博客2\9@$DCl8?
    else
ziN8A7PLcw%tx0    set rs=server.CreateObject("adodb.recordset")
Ck fx M5W4Q9B0    sqlstr="select * from user where user='"&user&"'"   (查询user数据表中的user字段其中user字段为字符型)
F*C7pkZZya#A;_0    rs.open sqlstr,conn,1,3
aKFj|2S0    if rs.eof then云南博客;O+u2J8~`n:oP
    rs.addnew
DH&?%e%a8]T0    rs("user")=user
p3LW w/T0    rs("pass")=pass
7cp^C^NUn0    rs("qq")=qq
})JZz5u EN0    rs("mail")=mail云南博客oI`!A:^0y#x2x
    rs("message")=message
5a]2YG aZ-|pyIL0    rs.update云南博客T+XuhT V
    rs.close云南博客#C FA"Bf0l0Fr6j
    conn.close云南博客9F5aR \-vq3Ot N
    set rs=nothing云南博客7z+f `!Lw]Hx
    set conn=nothing
?b*gV4Q%] _/g*}.]!X0    response.write("注册成功")
i5ya8K+fL U0    end if 云南博客"Z S ~p:p8i9Y.a U
    rs.close云南博客:o0k?pd-[r
    conn.close云南博客,Z"Ql`qt
    set rs=nothing
9oj0c(|H fD)u0    set conn=nothing云南博客'K.L,I&F,K J&tQ8x
    response.write("注册重名")
;YnZ5Z Z0eL0  %>云南博客w Yg#@y
(b)查询字段为数字型
l ]:P6d B0  <%云南博客 I%sZ([7|4H o4\E lw
    dim num
0kqB5r[BYD _0    num=request.Form("num")云南博客'[*Br0vg
    set rs=server.CreateObject("adodb.recordset")云南博客t'\A Ca0e:K t(oS
    sqlstr="select * from message where id="&num   (查询message数据表中id字段的值是否与num相等,其中id为数字型)云南博客 ZfV+Z;R\
    rs.open sqlstr,conn,1,3
a3lxn%X\P5j'Jvj0    if not rs.eof then
#S}Y/q/D6b)@^0    rs.delete云南博客2p~#q_Yf3A*z W
    rs.update
v/]psJr]s N P0    rs.close
SVy{/o|1u)}|0    conn.close
`ks3^0t[-H(m h w0    set rs=nothing云南博客&_!yI*I0~0U
    set conn=nothing
"Z"S%X'c@?0    response.write("删除成功")云南博客2yjw*o6{EM @
    end if
2WR)]!{;[KUp0    rs.close云南博客R[ M1i7|8d:Q0u
    conn.close
5Q3f}_)P:H~F.n0    set rs=nothing
G$A3jc-Z0M&o9b0    set conn=nothing
0S/RG#m\SqEJ\0    response.write("删除失败")
.s f3Cg;k)^0H0  %>云南博客c;fx*Es%icg,a
<6>几个简单的asp对象的讲解云南博客 N{]*g|8T%hR
  response对象:服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值
K1p1W{2rg;cR0  request对象:客户端向服务器提出的请求
8G)r~7@ tYl+JA0  session对象:作为一个全局变量,在整个站点都生效云南博客,ldq)K"p;h"s~
  server对象:提供对服务器上方法和属性的访问                              
`EG)[V(O `0(a) response对象的一般使用方法
Rg"Jx&l @0  比如:
0c gJ)p e0e0    <%云南博客0J2z1a(w(t
    response云南博客2M1y4PYt:~y,G
.write("hello, welcome to asp!")云南博客%G c6L%O T/{t`C h@"Q
    %>
s;tP)WCS0  在客户端浏览器就会看到 hello, welcome to asp! 这一段文字云南博客!K3As @?2{:}
    <%云南博客7]uw&y8{:A&Xh;H
response.Redirect("www.sohu.com")
edn4D']&q.l-tw0    %>
0K6x S ^0qH5E0  如果执行这一段,则浏览器就会自动连接到 “搜狐” 的网址
o nel;|2?GH0关于response对象的用法还有很多,大家可以研究研究
/G"Y X{5N9{3{4R*h0request对象的一般使用方法云南博客KP"f5ccae o'w]
比如客户端向服务器提出的请求就是通过request对象来传递的
Q G.H$vjp0列如 :你在申请邮箱的所填写的个人信息就是通过该对象来将云南博客Ze"F;\|YD2iV
    你所填写的信息传递给服务器的
8Z$AZJS'ko$d5Q0比如:这是一段表单的代码,这是提供给客户填写信息的,填写完了按
4VV&Wl/e"G`0  “提交”传递给request.asp文件处理后再存入服务器数据库云南博客)Baqa7OH(O}
  <form name="form1" method="post" action="request.asp">云南博客:qT/U$n.b*c[
    <p>云南博客$?q.KA!P d$P
    <input type="text" name="user">云南博客8SP:hIiI*N4W
    </p>云南博客+\y1o%O3w/Sl Iw
    <p>
Ij!P4NC[0    <input type="text" name="pass">
"r-h|.J-T(R7G0    </p>云南博客5Gu2VZ AUt"_M
    <p>
h6gc:L7{c:f q:^g0    <input type="submit" name="Submit" value="提交">云南博客hCn)t } td
    </p>
lm D3P }0</form>
7M$D}[ Vyz)D0那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到
j^)\ UA0request对象了,下面我们就来分析request.asp的写法云南博客4Zm-f8d'a*u K
<%
8U4z9hP b0~g ~q7Y0t.@0dim name,password   (定义user和password两个变量)
\!Z%TiqO;l*DQk0name=request.form(“user”) (将表单中的user信息传给变量name)
U b nW hk7idYQ0password=request.form(“pass”) (将表单中的pass信息传给变量password)云南博客#u;KU` eIhv+r0d!}
%>     
'g9}7j,@ `~ qa0通过以上的几句代码我们就将表单中的数据读进来了,接下来我们要做的就是将云南博客9Te y#I*TC7E'N4Hg.p
信息写入数据库了,写入数据库的方法上面都介绍了,这里就不一一复述了。云南博客 y\fH_*cH,F&j_
(通过上面的学习大家完全可以自己做一个留言版了)云南博客V)fd QbF

D5{l` Iq0S01 asp需要程序基础,但是因为asp相对比较单纯,很多东西都比较局限,所以没有程序基础的人学习asp也是可能的(当然能不能成为高手就很难讲了) 云南博客pW1V.gX j9wl~
云南博客#xONa Fep
2 学习需要毅力和爱好,没有这两点,也是不可能学好程序的
,OO@puXP0云南博客/v1x+] O ]mY%l~
3 学习asp能自己解决的东西,不要轻易去问别人,从网上去当其他的程序,他们是最好的老师,在学习过程中,我没有认识什么高手(主要是没有这个福分,高手都不理我这种菜鸟),问题都是自己解决。自己解决的问题,印象最深刻
7P5]4J(]UTN0
7b2^v%xJk6G1v04 不要总想着去问别人要程序来自己用,要是要程序的话,也是修改修改再修改,在修改中学习,一旦一个程序被你修改了50%以上(我是指内容,不是htm界面)这个程序的思路和里边的语法你一定会基本掌握了。 云南博客+m] [!bP5s

g.E#h{oQ;^qlXQ05 试着搞一点自己的原创的东西:比如说留言本,一开始可以用一个简单的留言本做框架,然后慢慢的增加自己想到的功能,慢慢升级,在升级中学习。 云南博客R"Sr7Az*u{'a*c#m
云南博客o?dKNMX
6 如果想学好程序,要有如下打算: 云南博客!_3Z9D W'om8q;~o0l
被女友或者老婆骂(当然,我是假设你是男朋友),要做好装聋作哑的准备
%T/S\ q2z!G+J0上班打盹 云南博客QBQ@?ap {0|
你的asp技术也会不断的提高...


TAG: 网络学习

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar