Posted: 2004/5月/29 3:36下午 | IP記錄
|
|
|
一.VBScript語法簡介 VBScript語句是一種基於VB的一種指令碼語言,主要用於WEB服務器端的程式開發,我們 這裡只介紹一些簡單的語句,主要是操作資料庫的幾種常見的語句 <1>.vbscript的標識 <% 語句 …… %> <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("\bbs\db1\user.mdb") %> (用來連接bbs\db1\目錄下的user.mdb資料庫) <2>顯示資料庫記錄 原理:將資料庫中的記錄一一顯示到客戶端瀏覽器,依次讀出資料庫中的每一條記錄 如果是從頭到尾:用循環並判斷指針是否到末 使用: not rs.eof 如果是從尾到頭:用循環並判斷指針是否到開始 使用:not rs.bof <!--#include file=conn.asp--> (包含conn.asp用來打開bbs\db1\目錄下的user.mdb資料庫) <% set rs=server.CreateObject("adodb.recordset") (建立recordset對像) sqlstr="select * from message" ---->(message為資料庫中的一個資料表,即你要顯示的資料所存放的資料表) rs.open sqlstr,conn,1,3 &nb sp; ---->(表示打開資料庫的方式) rs.movefirst ---->(將指針移到第一條記錄) while not rs.eof ---->(判斷指針是否到末尾) response.write(rs("name")) ---->(顯示資料表message中的name字段) rs.movenext & nbsp; & nbsp; ---->(將指針移動到下一條記錄) wend &n bsp; &n bsp; ---->(循環結束) ------------------------------------------------------ rs.close conn.close &n bsp; &n bsp; 這幾句是用來關閉資料庫 set rs=nothing set conn=nothing ------------------------------------------------------- %> 其中response對象是服務器向客戶端瀏覽器發送的訊息 <3>增加資料庫記錄像 增加資料庫記錄用到rs.addnew,rs.update兩個函數 <!--#include file=conn.asp--> (包含conn.asp用來打開bbs\db1\目錄下的user.mdb資料庫) <% set rs=server.CreateObject("adodb.recordset") (建立recordset對像) sqlstr="select * from message" ---->(message為資料庫中的一個資料表,即你要顯示的資料所存放的資料表) rs.open sqlstr,conn,1,3 &nb sp; ---->(表示打開資料庫的方式) rs.addnew &nb sp; &nb sp; 新增加一條記錄 rs("name")="xx" &nb sp; 將xx的值傳給name字段 rs.update &nb sp; &nb sp; 重整資料庫 ------------------------------------------------------ rs.close conn.close &n bsp; &n bsp; 這幾句是用來關閉資料庫 set rs=nothing set conn=nothing - ------------------------------------------------------ %> <4>刪除一條記錄 刪除資料庫記錄主要用到rs.delete,rs.update <!--#include file=conn.asp--> (包含conn.asp用來打開bbs\db1\目錄下的user.mdb資料庫) <% dim name name="xx" set rs=server.CreateObject("adodb.recordset") (建立recordset對像) sqlstr="select * from message" ---->(message為資料庫中的一個資料表,即你要顯示的資料所存放的資料表) rs.open sqlstr,conn,1,3 &nb sp; ---->(表示打開資料庫的方式) -------------------------------------------------------  ; while not rs.eof if rs.("name")=name then rs.delete rs.update &nb sp; 查詢資料表中的name字段的值是否等於變量name的值"xx",如果符合就執行刪除, else &n bsp; 否則繼續查詢,直到指針到末尾為止 rs.movenext emd if wend ------------------------------------------------------ ------------------------------------------------------ rs.close conn.close &n bsp; &n bsp; 這幾句是用來關閉資料庫 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) %> 通過以上的幾句程式碼我們就將表單中的資料讀進來了,接下來我們要做的就是將 訊息寫入資料庫了,寫入資料庫的方法上面都介紹了,這裡就不一一複述了。 (通過上面的學習大家完全可以自己做一個留言版了)
|