ASP腳本變量、函數、過程和條件語句_第1頁
ASP腳本變量、函數、過程和條件語句_第2頁
ASP腳本變量、函數、過程和條件語句_第3頁
ASP腳本變量、函數、過程和條件語句_第4頁
ASP腳本變量、函數、過程和條件語句_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、ASP 腳本變量、函數、過程和條件語句在上一期中作者向諸位簡要介紹了 ASP 腳本語言之一 VBScript 的一些基本常識,本期將繼續(xù)給大家講解 VBScript 的腳本編寫方法,并通過展示 VBScript 在 ASP 程序編寫過程中的一系列實例使大家對 VBScript 有更進一層的理解。大家在學習了腳本語言 VBScript 的變量、常量和過程的基本概念后,本期將繼續(xù)向各位介紹 VBScript 的函數和語法。函數和過程一樣都是命名了的代碼塊,但它們卻有很大的區(qū)別,過程完成程序任務,函數則返回值。我們可以這樣理解,過程象一個完整的句子,而函數則象一個單詞。舉個例子,當你想獲取某個數的平

2、方根,你只要將該數傳給 VBScript 的 Sqr( 函數,此函數會立即返回該數的平方根。如: A=sqr(9則 A=3。熟練掌握腳本語言的函數將給你編寫 ASP 程序帶來極大的方便,就以上一期結尾處作者布置給大家的課后練習來說,如果你對腳本語言的函數掌握不夠全面,那么解決如此之小的一個問題將很有可能花費你相當大的精力?,F在讓我們來回顧一下這道課后練習?!白髡哒谟?ASP 制作一套基于 WEB 的 BBS 系統,希望能在其中添加一項特殊功能,即當任何用戶登陸該 BBS 后都能夠查閱近七天來所有新發(fā)布的信息。”如果你不熟悉 VBScrip,就不會知道 VBScrip 本身提供了一個用來取得日

3、期之間的差或和的函數 DateSerial,它的語法如下:DateSerial(year, month, day如果你要指定一個日期,例如:1998 年 11 月 10 日,那么 DateSerial 函數中每個參數的取值范圍都應該是可接受的,即日的取值應在 1 和 31 之間,月的取值應在 1 和 12 之間。但是,也可以使用表示某日之前或之后的年、月、日數目的數值表達式為每個參數指定相對日期。以下樣例中使用了數值表達式代替絕對日期。在這里,DateSerial 函數返回 1998 年 11 月 10 日之前二十年 (1990-20 零兩個月 (11-2 又一天 (10-1 的日期:即 19

4、78 年 9 月 9 日。程序如下:Datep=DateSerial(1998-20, 11-2,10-1對于 year 參數,若取值范圍是從 0 到 99,則被解釋為 1900 到 1999 年。對于此范圍之外的 year 參數,則使用四位數字表示年份(例如 1800 年)。當任何一個參數的取值超出可接受的范圍時,則會適當地進位到下一個較大的時間單位。例如,如果指定了 35 天,則這個天數將被解釋成一個月加上多出來的日數,多出來的日數取決于其年份和月份。但是如果參數值超出 -32,768 到 32,767 的范圍,或者由三個參數指定(無論是直接還是通過表達式指定)的日期超出了可以接受的日期范

5、圍,就會發(fā)生錯誤。當我們了解并掌握了函數 DateSerial 的使用方法后,再來看看作者布置的這道題目,一切就迎刃而解了。下面我將程序中的此部分代碼公布如下: itemp=DateSerial(Year(date, month(date, day(date-7itemp=DateValue(itempsql="Select * from message Where message.creatime Between #"&date&"# And #"&itemp&"# "在這里我們又接觸到了一組函數 Y

6、ear,month,day,它們是用來得到一個日期的年、月、日。date 是常數,表示今天日期,而函數 DateValue 則是將字符串變量轉化為日期格式的變量。在本段程序的第三行,我們第一次接觸到了標準的 SQL 查詢語句,這句語句是什么意思呢?“Select”是標準的 SQL 數據庫查詢命令,通過 SELECT 語句我們可以在數據庫中檢索數據,并將查詢結果提供給用戶,此處的“*”表示查詢該名為“message”的數據庫中的所有記錄,而“where”的作用是設定一個查詢條件,是為了將數據庫中符合條件的記錄取出來,“message.creatime”是一個儲存了數據庫中記錄創(chuàng)建日期的變量。將整

7、句語句連起來理解就是:查詢名為 message 的數據庫中的所有記錄,并將其中創(chuàng)建日期在今天和今天以前七日以內的所有記錄存儲在變量 sql 中??赡苡捎诖蠹业谝淮谓佑| SQL 語句,一時間無法完全理解它的作用,不過不用擔心在今后的章節(jié)中作者將專門用一期給大家介紹 SQL 的使用方法。通過上面的學習,大家應該已經能夠理解函數在程序中的作用,當然我們不必去死背函數,但要做到熟練運用只有一條捷徑 - 多實踐。接下來讓我們來看看 VBScript 的基本語法。了解編程語言的朋友一定知道在程序中控制程序流程的語句主要可以分為條件語句和循環(huán)語句,在 VBScript 中可使用以下條件語句:If.Then.

8、Else 語句Select Case 語句If.Then.Else 語句用于計算條件是否為 True 或 False,并且根據計算結果指定要運行的語句。通常,條件是使用比較運算符對值或變量進行比較的表達式,If.Then.Else 語句可以按照需要進行嵌套。讓我們來創(chuàng)建兩個范例文件:if1.asp 和 if2.asp將以下語句剪貼到記事簿中,并保存為 if1.asp( 注意:請將程序中“<”后的空格去掉 < html>< head>< TITLE>if1.asp< /TITLE>< /head>< body bgcolor

9、="#FFFFFF">< form action="if2.asp" method=get>Your First Name< INPUT NAME="FirstName" MaxLength=20>< p>Your Last Name< INPUT NAME="LastName" MaxLength=20>< p>< INPUT TYPE=submit>< INPUT TYPE=reset>< /form><

10、 /body>< /html>將以下語句剪貼到記事簿中,并保存為 if2.asp < html>< head>< TITLE>ifrespond.asp< /TITLE>< /head>< % fname=request.querystring("Firstname"lname=request.querystring("Lastname"If fname="George" and lname="Washington" then %&

11、gt;Hi.You must be the first president!< % else %>Hi!Nice to Meet You< %end if %>< /body> < /html>asp1.asp 產生一個文本輸入框,要求用戶輸入姓、名,如下圖:asp2.asp 則是用 IF 語句判斷用戶輸入的姓名是否為“GeorgeWashington”, 并做出相應的反饋。在此我們遇到了一個 ASP 的內建對象 request,通過使用 request 對象可以訪問任何用 HTTP 請求傳遞的信息,包括從 HTML 表格中用 POST 方法或

12、GET 方法傳遞的參數、cookie 和用戶認證。而 QueryString 集合檢索 HTTP 查詢字符串中變量的值,HTTP 查詢字符串由問號 (? 后的值指定。如:http:/localhost/if2.asp?Firstname=George&Lastname=Washington 生成值為 "Firstname=George&Lastname=Washington" 的變量名字符串。關于 ASP 對象作者將在今后的幾篇里重點講述。If.Then.Else 語句的一種變形允許您從多個條件中選擇,即添加 ElseIf 子句以擴充 If.Then.Els

13、e 語句的功能,使您可以控制基于多種可能的程序流程。我們將 asp2.asp 的程序部分擴充如下: < %fname=lcase(request.querystring("Firstname"lname=lcase(request.querystring("Lastname"If fname="george" and lname="washington" then %>Hi.You must be the first president!< p>< % elseIf fname=&qu

14、ot;ronald" and lname="reagan" then %>Hi.You must be the actor president!< p>< % elseIf fname="jimmy" and lname="carter" then %>Hi.You must be the peanut farmer president!< p>< % elseIf fname="naoko" or fname="charles" the

15、n %>Hi.Your name reminds me of someone,but I am not sure who!< p>< % else %>Hi!Nice to Meet You < % end if %>可以添加任意多個 ElseIf 子句以提供多種選擇。但使用多個 ElseIf 子句經常會使程序變得很累贅。在多個條件中進行選擇的更好方法是使用 Select Case 語句。Select Case 結構提供了 If.Then.ElseIf 結構的一個變通形式,可以從多個語句塊中選擇執(zhí)行其中的一個。Select Case 語句提供的功能與

16、If.Then.Else 語句類似,但是可以使代碼更加簡練易讀。Select Case 結構在其開始處使用一個只計算一次的簡單測試表達式。表達式的結果將與結構中每個 Case 的值比較。如果匹配,則執(zhí)行與該 Case 關聯的語句塊,我們同樣可以用 Select Case 語句來寫 asp2.asp 文件:< %fname=lcase(request.querystring("Firstname"lname=lcase(request.querystring("Lastname"name=fname+lnameSelect case namecase

17、 "georgewashington"response.write "Hi.You must be the first president!< p>" case "ronaldreagan"response.write "Hi.You must be the actor president!< p>" case "jimmycarter"response.write "Hi.You must be the peanut farmer president!<

18、 p>" case "naokocharles"response.write "Hi.Your name reminds me of someone,but I am not sure who!< p>"case elseresponse.write "Hi!Nice to Meet You"End Select %>請注意 Select Case 結構只計算開始處的一個表達式,并且只計算一次,而 If.Then.ElseIf 結構計算每個 ElseIf 語句的表達式,這些表達式可以各不相同。因此僅當每個 ElseIf 語句計算的表達式都相同時,才可以使用 Select Case 結構代替 If.Then.ElseIf 結構。Select Case 語句也是可以是嵌套的,每一層嵌套的 Select Case 語句必須有與之匹配的 End Select 語句。以上給大家介紹的腳本語言 VBScript 的函數和條件語句的使用方法,由于篇幅的緣故不能詳細展開,希望各位有志學習 ASP 的朋友,能在課后進行一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論