第三章
1. 建立清單
1.無序清單:清單項目作為一個整體,與上下文各有一段空白
格式為:
ul和 li的屬性:type=disc,circle,square
ul 的屬性設定到</UL>,LI的屬性設定到</UL>
<ul type=符号類型>
<li type=符号類型1>表項1
<li type=符号類型2>表項2
…
</ul>
2.有序清單:帶序号的清單
格式為:<ol type=符号類型>
<li type=符号類型1>表項1
<li type=符号類型2>表項2
…
</ol>
type類型: 1, A, a, I, I
3. 定義清單标記: 具有互動凹進的特點
1. 表的嵌套:分為多個層次,給人很強的層次感
<ul>
<li>中國古典文學</li>
<ul type=circle>
<li>紅樓夢</li>
<li>三國演義</li>
<li>水浒傳</li>
<li>西遊記</li>
</ul>
<li>中國近現代文學</li>
<ol type=a>
<li>阿Q正傳</li>
<li>圍城</li>
</ol>
</ul>
效果:
第四章
1.VBScript的特點和簡單例子:
l 用戶端程式設計語言:在浏覽器上編譯執行的語言
l 伺服器端程式設計語言:在伺服器上編譯執行的語言
建立ASP網頁,将用VBSCript作為伺服器端語言
特點:
1. Vbscript代碼寫在标記<script></script>
2. 最好把腳本代碼放在head部分中
3. 可以把語句放在說明<!-- -->中執行
對象的行為:
2.VBScript的輸入和輸出
一、document.write()
二、VBScript資訊框和輸入框函數
Msgbox(資訊内容,對話框類型,對話框标題)
例:msg=msgbox(“請确認資料是否正确”,3+48+0,”資料檢查”)
Inputbox(資訊内容,對話框标題,預設内容)
對話框類型:指定對話框中出現的按紐和圖示,一般有三個參數:
表 1 參數1——出現按鈕
值 | 常量 | 說明 |
vbOKOnly | 确定按鈕 | |
1 | VbOKCancel | 确定和停止按鈕 |
2 | VbAbortRetryIgnore | 終止、重試和忽略按鈕 |
3 | vbYesNoCancel | 是、否和取消按鈕 |
4 | vbYesNo | 是和否按鈕 |
5 | vbRetryCancel | 重試和取消按鈕 |
表 2 參數2——圖表類型
值 | 常量 | 說明 |
16 | VbCritical | 停止圖示 |
32 | VbQuestion | 問号圖示 |
48 | VbExclaimation | 感歎号圖示 |
64 | VbInformation | 資訊圖示 |
表 3 參數3——預設按鈕
值 | 常量 | 說明 |
VbDefaultButton1 | 一 | |
256 | VbDefaultButton2 | 二 |
512 | VbDefaultButton3 | 三 |
Msgbox函數的傳回值
傳回值 | 常量 | 說明 |
1 | vbOK | 确認按鈕 |
2 | vbCancel | 取消按鈕 |
3 | vbAbort | 終止按鈕 |
4 | vbRetry | 重試按鈕 |
5 | vbIngore | 忽略按鈕 |
6 | vbYes | 是 |
7 | vbNo | 否 |
3.數組
dim a(10),共11個元素
dim Mytable(5,10),是二維數組
動态數組:dim Myarray() 括号内不包含數字
redim preserve Myarray(30)
随後使用redim确定數組的每一維的大小,preserve在調整大小的同時保留數組内容
4.常數
[public/private] const 變量=表達式
public:所有腳本中使用,private:隻是一個過程使用
日期和時間包含在倆個井号之間
const cutoffdate=#6-1-97#
運算符
| 乘方 | A^b | ||||||||||||||||||||||||||||
Mod | 求餘 | A mod b | ||||||||||||||||||||||||||||
\ | 整數除法 | A\b | ||||||||||||||||||||||||||||
/ | 浮點除法 | A/b | ||||||||||||||||||||||||||||
<> | 不等與 | A<>b | ||||||||||||||||||||||||||||
And | 與 | |||||||||||||||||||||||||||||
Or | 或 | |||||||||||||||||||||||||||||
Not | 非 | |||||||||||||||||||||||||||||
Xor | 異或 | A,b全為真或假時:false | ||||||||||||||||||||||||||||
Equ | 邏輯等價 | A,b同為真或假時:true | ||||||||||||||||||||||||||||
Imp | 邏輯隐含 |
5.函數
1. 數學運算函數
函數 | 說明 | 函數 | 說明 |
Sin | Log | Lg | |
Cos | Sgn | 數的符号 | |
Atn | Arctan | Sqr | 平方根 |
Tan | Tan (x) | Int | 不大于給定數的最大整數 |
Abs | 絕對值 | Fix | 傳回數的整數部分 |
Exp | E的指定次幂 |
2. 字元串函數
函數 | 說明 | 函數 | 說明 |
Ltrim | Instr | 傳回字元串在給定字元串中位置 | |
Rtrim | Space | 指定數目的空格的字元串 | |
Trim | 傳回删除空格後的字元串 | String | 一個字元重複指定次數的字元串 |
Left | 從左開始的指定數目的字元 | Lcase | 變成小寫 |
Right | 從左開始的指定數目的字元 | Ucase | 變成大寫 |
mid | 從指定位置開始的指定數目的字元 | Len | 長度 |
3. 日期和時間函數
函數 | 說明 | 函數 | 說明 |
Now | Hour | ||
Date | 目前日期 | Minute | |
Day | 1~31 | Second | |
Weekday | 傳回:1~7 | Timer | |
Month | Time | 目前時間 | |
Year | Weekdayname(int) | 傳回星期幾 |
4. 随機數函數
函數 | 說明 |
Randomize | 産生随機數種子 |
rnd | 産生0~1 的随機數 |
産生1~10的随機數: rnd*10+1
5. 資料類型轉換函數
函數 | 傳回子類型 | 函數 | 傳回子類型 |
Asc | Integer | Clng | |
Cbool | Bool | csng | Single |
Cbyte | 0~255 | Chr | String |
ccur | Currency(很大) | Hex | String |
Cdate | oct | String | |
Cdbl | Double | ||
Cint |
6. 測試函數
函數 | 說明 | 函數 | 說明 |
isarray | Boolean | Isdate | |
isempty | 變量是否已初始化 | nulll | 表達式是否不包含任何有效資料 |
Isnumeric | isobject | 表達式是否引用了有用對象 |
NULL表示變量不包含有效資料,empty表變量沒有初始化
6.語句
每個語句以回車作為結束
幾個語句放在一行:”:”
語句的續行:“-”
第五章
IF 語句的嵌套:
If then elseif then else end if
多分支選擇結構
select case <測試條件>
case 表達式,表達式,表達式
語句列
case else
語句列
end select
測試條件是必要參數,是數值或字元表達式
循環結構
l do while/until [條件]…exit do …. Loop
l do …. Loop while/until [條件] :至少執行一次
l for next I=1 to 5 by step 2 :知道執行次數
….
Exit for
….
Next
l For each <元素> in <名稱> ….. next
不知道集合隻能感的元素數目
byval 和bydef : 值傳遞和位址傳遞
function 有傳回值
可将變量放在括号内,就變為表達式,可進行值傳遞,如:(a)
第六章
1.事件過程的調用方法:
1. <script for=”對象名” event=”on事件名” language=”vbscript”>
2. 調用事件過程
<script language=”vbscript”>
sub mysub()
…………
end sub
</script>
<input type=”button” οnclick=mysub value=”确定”>
2. HTML對象模型
1. Window對象
屬性: event status(狀态欄資訊)
注意:event必須表明window對象:window.event. event 對象的常用屬性有 altkey, ctrlkey, shiftkey, keycode
方法: close , open(一個新的浏覽視窗) , settimeout
settimeout的方法: settimeout(“指令或過程”,毫秒數)
open的方法:
window.open "til.htm",null,"toolbar=no,status=no,channelmod=no" '不加括号
事件: load , unload, resize
例: <body οnlοad=leaving (函數名)> </body>
2. Document 對象
屬性: bgColor, fgColor (頁面文本的顔色), cookie, title (浏覽器的标題)
方法: clear open(一個新文檔) write writeIn
事件: click dblclick keydown keypress keyup mousedown mouseover
mouseout mouseup
例: <body οnclick= leaving (函數名)>
3. History 對象
屬性: length (通路過的URL的個數)
方法: back : history.back n ; forward , go : history.go n | url
4. Navigator對象
屬性: appName(浏覽器類型名稱), appVersion(版本号),cookieEnabled (是否支援cookie )
方法: javaEnabled :是否支援JAVA語言
5. Location 對象
屬性: href (動态切換) : location.href=www.sohu.com
search : 傳回URL中嵌入的參數,通過參數實作網頁間的資訊互動
例: www.some.com/userregeister.exe?user=”yangling” 查找使用者,由userregister.exe傳回結果
3. DHTML的内部控件
<input type=””, name=”” >
type屬性的取值
取值 | 說明 |
Button | |
Text | |
Password | |
Radio | |
Checkbox | |
Image | 圖象 |
File | 多行文本框 |
Submit | 與form一起使用 |
Reset | |
hidden |
通用的屬性
名稱 | 說明 |
Disabled | 是否響應使用者事件 |
Style | 内嵌樣式 |
Title | 滑鼠在控件上的提示資訊 |
Value |
通用的事件
focus ,blur, click dblclick mouseover mousemove mouseover mousedown
mouseup keypress keydown keyup
event 常用屬性
名稱 | 說明 |
AltKey | 傳回alt是否按下 |
CtrlKey | |
Shiftkey | |
keycode | 傳回事件發生時的按鍵 |
Button 控件
屬性
1. Readonly 可接受焦點,但不能使用
2. Outertext 将控件動态更新為字元串
Button.outertext=”歡迎進入聊天室”
3. Outerhtml 更新為控件或HTML标記
Button.outerhtml=”<input type=text value=”還原”>”
Text 控件
屬性
1. Maxlength
2. Size 文本框的寬度
事件
1. Change
2. Select 選擇文本内容時觸發
Password 控件(同text)
Radio 控件
屬性: checked 是否選中: radio(i).checked
checkbox 控件(同 radio)
image 控件:顯示圖形資訊:類似 img
file 控件
屬性: value 傳回找到的檔案及路徑名
submit,reset 控件
屬性: value 表單的内容
事件: afterupdate(送出後) beforeupdate errorupdate
select 控件
<select size=x name=”” multiple>
<option selected value=選項值1>選項文本</option>
<option value=選項值2>選項文本</option>
</select>
清單框的屬性
名稱 | 說明 |
Size | 滾動條清單中一次可見的清單項數 |
Name | 同 input |
Style | 同input |
Multiple | 可選項,是否支援多選 |
Length | 選項的個數 |
Selectedindex | 傳回或設定哪個選項被選中 |
Option對象的屬性
名稱 | 說明 |
Selected | 隻能有一個 |
Value | 指定選項的植 |
Text | 指定選項文本 |
Textarea 控件
<textarea name=名稱 rows=行數 cols=列數> … </textarea>
行數和列數指不用滾動符能看到的内容
<textarea>…</textarea>間為初始值
第七章
1.Asp程式
asp隻是一種程式設計環境,可以使用vbscript, javascript 語言編寫ASP
作為輸入語句:
l document.write()
l <%= %>
l 直接使用html輸出
l response.write()
asp 的包含檔案
<!-- #include virtual | file=”firename”-->
被包含檔案多以:.inc 作為擴充名
virtual: 表示虛拟目錄,file 表示相對路徑:
<!-- # include virtual =”/myapp/footer.inc ”-->
<!-- # include file =”headers/footer.inc ”-->
2.response 對象
方法:
輸出到浏覽器:
response.write ;可混合使用HTML标記,但不能輸出html标記
response.write "" "
重定向網址:
respose.redirect path
結束程式的運作:可結束ASP程式的運作
response.end
清空緩沖區HTML輸出,需要 response.buffer=true
response.clear response.flush
屬性:
buffer屬性:是否輸出緩沖頁
cachecontrol屬性:是否允許代理伺服器取回頁面
contenttype屬性:調用相應程式打開檔案
expire: 确定網頁過期時間,可設定:response.expire=0確定安全性
isclientconnected: 檢查浏覽器是否和伺服器仍然連接配接
pics: 指明網頁的内容級别,如暴力和色情的程度
status 設定狀态行
集合:
cookies
3. server對象
作用:
一些與伺服器的環境和處理活動相關的任務
屬性:
scripttimeout: 決定一個頁面腳本運作的最長時間,防止當機,必須在asp程式前設定
方法:
createobject: 建立伺服器元件的示例
mapmath: 将指定的虛拟路徑轉化為實際的實體路徑
realmath=server.mapmath(“unralmath”)
htmlencode: 将字元串進行HTML編碼,可輸出一些HTML的特殊标記,引号不能編碼輸出
response.write server.htmlencode("<p align=")
response.write "" "
response.write server.htmlencode(">欲輸出的文本</p>") %>
顯示結果:
<p align=" >欲輸出的文本</p>
urlencode: 進行url編碼,用在查詢字元串中
編碼輸出:
response.write server.urlencode("嘿,你好嗎?"&"<br>")
response.write "<br>"
response.write server.urlencode("http://www.baidu.com")
顯示結果:
嘿,你好嗎?
http://www.baidu.com
%BA%D9%A3%AC%C4%E3%BA%C3%C2%F0%A3%BF%3Cbr%3E
http%3A%2F%2Fwww%2Ebaidu%2Ecom
第八章
1.Request對象
Form 集合
l 讀取特定元素
request.form(element)
例: response.write("您的性别是:"&request.form("性别")&"<br>
l 讀取所有元素對象
for each in request.form next
<% for each ele in request.form
response.write(ele&":"&request.form(ele)&"<br>")
next
%>
for I=1 to request.form.count next
l 某元素對象的特定值 如:select checkbox控件
request.form(element)(index)
例:<% response.write("您的第二個愛好是:"&request.form("愛好")(2)) %>
l 某元素對象的全部參數值
for each in request.form(element)
querystring 集合
l 讀取表單元素: method=”get”
l 讀取http查詢字元串的參數
設定聯接值: asp83.asp?mz=趙一&tel=123212&add=北京
讀取: <% response.write("<h4>"&request.querystring("mz")&"的通信錄</h4>") %>
<br>
電話:<%= request.querystring("tel") %> 住址:<%= request.querystring("add") %>
cookies 集合
作用:
n 跟蹤特定通路者的次數、時間等
n 廣告點選次數
n 不需要鍵入密碼和使用者名
n 統計使用者資料以實作個性化服務
屬性:
使用:
1. 不帶key的cookie的建立和讀取
建立 <% response.cookies("mybox")="this is mybox"
response.cookies("mybox").expires=date()+7
%>
讀取 <%= request.cookies("mybox") %>
2. 帶key的cookie的建立和讀取
建立 response.cookies("mydesk")("length")=35
讀取 request.cookies("mydesk")("length")
3. Cookie的重建
Response.cookies(“name”)=value
form1.submit: 表單的送出函數
第九章
application對象
作用:
1. 統計網站的點選數
2. 統計廣告的點選數
3. 建立聊天室
4. 讀取資料庫中的資料
集合:
1. Contents 集合:用于存儲非對象變量,可與一般變量互相指派,當伺服器關機時,application 對象丢失,可采用序号讀取,如:application.contents(i)
變量的初始值為空,判斷時為:application.contents(“count”)=empty
2. Staticobjects集合:通過<object>标記在global.asa中建立,如下:
<object runat=server scope=application id=priconn progid=”adobd.conncetion” >
3. 存儲數組:先建立一副本,對其操作後,再将其存放到application對象
例:<% dim book()
redim book(3)
book(1)="英語書"
book(2)="數學書"
book(3)="國文書"
application.contents("book")=book
bk=application.contents("book")
response.write bk(1)&bk(2)&bk(3) %>
方法:(常用于可能多個使用者通路同一變量)
application.lock application.unlock
確定同一時刻隻有一個使用者可以修改和存儲application變量
事件:
onstart:伺服器開始運作
onend:伺服器關閉時
隻能在global.asa中建立
session對象
結束方法
1. 隐式:當超過 sesstion.timeout的時間限制時
2. 顯式:利用 session.abandon來中止
集合:
1. Contents集合
2. Staticobject集合
3. 存放數組
屬性:
1. Session.sessionid
2. 在使用者在設定的時間未進行任何操作,則自動撤消該使用者:session.timeout
3. 動态文本顯示時采用的格式:session.lcid=localid
4. ASP應用程式使用的字庫:session.codepage=codeid
方法:
session.abandon:完成目前的網頁後結束session對象
contents.remove(item):删除contents中的變量
contents.removeall:删除contents中所有變量
事件:
session_onstart:打開浏覽器時
session_onend:關閉浏覽器時
是以,application和session 變量的壽命也不一樣
與cookies的關系
存儲使用者的首選項
global檔案
作用:存放事件腳本和全局使用的對象。
Global.asa存放在應用程式的根目錄中,且是唯一的
第十章: ASP的内置元件
使用ASP元件必須先
1. Server.createobject : 建立元件的一個執行個體
2. 在global.asa檔案中使用<object>建立該元件的一個執行個體,然後把它作為一個ASP内置對象
廣告輪顯元件
作用:在網頁上輪換顯示廣告
1. 建立執行個體對象
set 名稱=server.createobject(“MSWC.AdRotator”)
2. adrotator 的屬性和方法
3.使用廣告輪顯元件
1) 建立一adrotator輪換計劃檔案,結構:
2) 建立一adrotator重定向檔案
讀取URL: url=request(“url”),再調用網頁 response.redirect url
3) 建立ASP網頁來顯示和輪換廣告
建立一adrotator對象:
set obj=server.createobject(“mswc.adrotator”)
在哪個架構中打開:
obj.targetframe=”TARGET=new”
如101.asp
内容輪顯元件
作用:随機變換的是頁面内容,可用與每日新聞,廣告顯示,随機聯接
步驟:
1. 建立執行個體對象
set 對象名=server.createobject("mswc.content rotator”)
2. 内容安排檔案(檔案名不限)
格式:
%%[#n][//注釋]
顯示内容
3. 屬性和方法
沒有屬性,方法:讀取一個條目choosecontent(<内容安排檔案>), 讀取所有條目getallcontents(<内容安排檔案>),顯示的是相對或虛拟路徑
4. 使用内容輪顯元件:例102.asp
檔案通路元件
作用:在伺服器端對檔案和檔案夾進行存取通路
1. 建立執行個體:
set 對象名=server.createobject("scripting.filesystemobject”)
2.檔案系統對象模型:包括若幹對象
1)filesystemobject的方法
2) folder對象的屬性和方法
filesystemobject.createfolder():建立一個新folder對象
filesystemobject.getfolder:傳回一個已存在的folder對象
folder對象的方法
3)file對象的屬性和方法
filesystemobject的getfile傳回一已存在的file對象
file對象的屬性
file對象的方法
4)textstream對象的屬性和方法
filesystemobject.createtextfile :建立并傳回一新的代表檔案的textstream對象,operntextfile打開一個檔案
textstream對象的屬性
textstream對象的方法
3.管理檔案夾
建立、移動或重命名、删除和複制
4.管理檔案
5.讀寫檔案
建立一textstream對象相當于打開一文本檔案,使用textstream的方法進行讀、寫
網頁計數器元件
作用:統計每個網頁被通路的次數,該元件定期把統計的資料寫入一個文本檔案
1. 建立對象: mswc.PageCounter
2. 方法
3. 使用PageCounter元件,先建立執行個體,然後調用方法
第十一章: ASP與資料庫
ado的特點
1. 支援批處理Batch updating
2. 支援存儲過程Stored procedures
ado的概念
ado對象模型包括7個對象和3個集合,如圖:
ado對象
ado集合
最重要的三個對象:connection command recordset,關系:
connection 對象:
作用:在應用程式和資料庫中建立一條資料傳輸連線
常用屬性
常用方法
1)open方法:打開如資料庫的連接配接
格式:connobject.open connectionstring , user , password
2)close方法:關閉與資料源的連接配接,但并沒有删除資源,還可以用open打開
格式: connobject.close
要釋放資源: set connobject=nothing
3)execute方法:執行SQL指令或存儲過程
有傳回記錄:
set rs=connobject.execute (commandtext , recordsaffected , options)
無傳回記錄:
connobject.execute ( commandtext , recordsaffected , options)
commandtext:包括一個表名,或将被執行的SQL語句
recordsaffected:傳回影響的記錄數
options:表示ADO如何解釋commandtext
options參數的取值和意義
command對象
作用:定義資料庫的查詢動作
常用屬性
屬性:commandtype類似于 options
方法:execute
有傳回格式:
set rs=comm..execute (recordsaffected , parameters , options)
無傳回格式:
comm..execute (recordsaffected , parameters , options)
parameters :表示SQL語句的參數集合
recordset對象
作用:對應command對象的查詢結果,并通過簡單的方法通路每一個記錄内每一字段的資料
常用屬性
cursortype::共有4中光标類型
0:前滾光标:光标隻能向前移動,預設值
1:鍵盤光标:同步反映其他使用者所做的修改和删除、但不能反映增加的記錄
2:動态光标:同步反映其他使用者的任何操作
3:靜态光标:無法同步反映
locktype:四種取值
0:隻讀鎖定,記錄隻讀
1:悲觀鎖定,編輯記錄開始立刻鎖定,直到送出給資料提供者
2:樂觀鎖定,一次鎖定一條記錄,隻有調用UPDATE才鎖定記錄
3:允許同時更新多條記錄
filter:2種使用方式
1:關系表達式
rs.filter=”bh”>30
2:使用準則常量
0-清除以前的filter,看到所有記錄
1-隻允許檢視已修改還未送出的記錄
2-允許檢視最後修改的記錄
3-允許檢視資料庫最後讀取結果的資料
例:rs.filter=1
4) bookmark:需要建立一個允許bookmark屬性的recordset對象
5)status:檢視更新記錄的失敗原因
recordset的方法
open:打開一個recordset對象
rs.open [source ][, activeconnection][,cursortype][,]locktype][,option ]
close ,釋放資源:set rs=nothing
3)move n [, start ]
n 可去正負值,start 表示移動的起點
4)movfirst movelast moveprevious movenext
5)GetRows 用來讀取大量的資料,如:myarray=rs.GetRows (rows , start , fields)
通路資料庫
1 連接配接到資料源
1)建立連接配接字元串
2)連接配接到資料源
建立connection對象
set conn=server.createobject (“adodb.connection”)
使用ODBC打開連接配接
conn.open “driver={Microsoft access driver(*.mdb)};dbq=c:\market\rsg1.mdb”
建立connection對象
set conn=server.createobject (“adodb.connection”)
建立ODBC連接配接字元串
cs=” driver={Microsoft access driver(*.mdb)};dbq=c:\market\rsg1.mdb”
conn.conncetionstring=cs
打開連接配接
conn.open
3. 使用RecordSet對象處理結果
建立recordset對象
set rs=server.createobject (“adodb.recordset”)
打開recordset對象
rs.open “職工工資” , conn , 2, 3, 2
第十二章:SQL簡介
sql 指令動詞
SQL語句的執行
1. 在記錄集中使用SQL
建立connection對象并打開連接配接
建立recordset 對象
定義SQL語句
sSQL=”SELECT * FROM 職工工資”
打開 recordset對象
rs.open sSQL , connobj , 1 ,1 ,1
2. 在連接配接對象的Execute使用SQL
建立connection對象并打開連接配接
定義SQL語句
sSQL=”SELECT * FROM 職工工資”
傳回并打開recordset對象
set rs=conn.execute (sSQL)
3. 在指令對象的Execute使用SQL
建立connection對象并打開連接配接
建立command 對象,并使用activeconnection附加連接配接
set cmm=server.createobject (“adodb.command”)
set cmm.activeconnection=conn
定義SQL語句
sSQL=”SELECT * FROM 職工工資”
設定command對象的查詢字元串
cmm.commandtext=sSQL
傳回并打開recordset對象
set rs=cmm.execute ( , , 1)