此頁沒有內(nèi)容條目
內(nèi)容

地址簿命令按鈕

地址簿應(yīng)用程序包括下列命令按鈕:

?“查找”按鈕,用于向數(shù)據(jù)庫提交查詢。

 

?“清除”按鈕,用于開始進(jìn)行新搜索前清除文本框

 

?“更新配置文件”按鈕,用于保存對(duì)雇員記錄的更改。

 

?“取消更改”按鈕,用于放棄更改。

“查找”按鈕

下列 HTML 語句定義“查找”按鈕。該 HTML 語句出現(xiàn)在程序的 VBScript 節(jié)之前。請(qǐng)將該控件復(fù)制并粘貼在 HTML 命令按鈕的注釋后面。

<INPUT TYPE=BUTTON NAME="Find"    VALUE="Find">

Find_OnClick 子過程

單擊“查找”按鈕可激活 VBScript Find_OnClick 子過程,該過程建立并發(fā)送 SQL 查詢。在工程完成之后,請(qǐng)單擊該按鈕填充數(shù)據(jù)網(wǎng)格。

建立 SQL 查詢

Find_OnClick 子過程的第一部分建立 SQL 查詢(一次一個(gè)短語),方法是向全局 SQL SELECT 語句追加文本字符串。該字符串以設(shè)置變量 myQuery 為 SQL SELECT 語句開始,SQL SELECT 從數(shù)據(jù)源表中請(qǐng)求所有數(shù)據(jù)行。請(qǐng)將此代碼復(fù)制并粘貼到打開 SCRIPT 標(biāo)記的后面。

Sub Find_OnClick

myQuery = "Select FirstName, LastName, Title, Type, Email, " _

   & "ManagerEmail, Building, Room, Phone from Employee"

然后,子過程掃描地址簿的四個(gè)輸入框。請(qǐng)復(fù)制并粘貼該代碼到“查找”子程序中。

   If (SFirst.Value <> "") Then

      myQuery = myQuery + " where FirstName like '" + SFirst.Value + "%'"

   End If

   IF (SLast.Value <> "") Then

      myQuery = myQuery + " where LastName like '" + SLast.Value + "%'"

   End If

   If (STitle.Value <> "") Then

      myQuery = myQuery + " where Title like '" + STitle.Value + "%'"

   End If

   If (SEmail.Value <> "") Then

      myQuery = myQuery + " where Email like '" + SEmail.Value + "%'"

   End If

每個(gè)“If”語句檢查相應(yīng)的文本框中的內(nèi)容。如果文本框包含文本,則執(zhí)行“Then”語句,將引號(hào)內(nèi)的文本追加到包含在變量 myQuery 中的全局 SELECT 語句。由于程序在建立 SQL 語句時(shí)使用單詞“l(fā)ike”,查詢將采用子字符串搜索,而不是完全匹配。

例如,如果“姓”框包含條目“Berge”并且“標(biāo)題”框包含條目“程序管理員”,則 SQL 語句(myQuery 的值)將讀?。?/span>

Select FirstName, LastName, Title, Email, Building, Room, Phone from Employee where lastname like 'Berge%' and title like 'Program Manager%'

如查詢成功,則所有姓中包含“Berge”的人(如 Berge 和 Berger),以及職務(wù)包含“程序管理員”的人(例如,“程序管理員”,“高級(jí)技術(shù)”)都被顯示在數(shù)據(jù)網(wǎng)格中。

準(zhǔn)備和發(fā)送查詢

子過程 Find_OnClick 的最后部分包含兩個(gè)語句。第一個(gè)語句將 SQL 對(duì)象的 RDS.DataControl 查詢屬性賦給動(dòng)態(tài)建立的 SQL 查詢。第二個(gè)語句使 RDS.DataControl 對(duì)象 (SControl) 查詢數(shù)據(jù)庫,然后顯示網(wǎng)格中查詢的新結(jié)果。請(qǐng)復(fù)制并粘貼該代碼到查找子程序中。

   SControl.SQL = myQuery

   SControl.Refresh

End Sub

“清除”按鈕

下列 HTML 語句定義“清除”按鈕。該 HTML 語句出現(xiàn)在程序的 VBScript 節(jié)之前。請(qǐng)復(fù)制并粘貼該代碼到 Find HTML 按鈕之后。

<INPUT TYPE=BUTTON NAME="Clear"    VALUE="Clear">

標(biāo)記 INPUT 定義如按鈕,選項(xiàng)按鈕,復(fù)選框,或文本之類的元素。使用 TYPE 參數(shù)可指定元素,在這里即是按鈕。參數(shù) NAME 定義按鈕在代碼中被調(diào)用的內(nèi)容。參數(shù) VALUE 指定與顯示在網(wǎng)頁中的按鈕 (Clear) 相關(guān)聯(lián)的標(biāo)簽。

Clear_OnClick 子過程

單擊 Clear 按鈕可激活 VBScript Clear_OnClick 子過程。請(qǐng)復(fù)制并粘貼該代碼到標(biāo)記 SCRIPT 和 /SCRIPT 之間。

Sub Clear_OnClick

   SFirst.Value=""

   SLast.Value=""

   STitle.Value=""

   SEmail.Value=""

End Sub

執(zhí)行子過程時(shí),通過 ID 標(biāo)記的參數(shù) NAME 標(biāo)識(shí)的四個(gè)輸入框, 都被初始化。屬性 .Value 指示顯示在 Web 頁中的文本框?qū)ο蟮淖址?。該過程用 0 長(zhǎng)度串 ("") 替換所有文本,為新的查找做準(zhǔn)備。

“更新配置文件”按鈕

下列代碼定義“更新配置文件”按鈕。該 HTML 語句出現(xiàn)在程序的 VBScript 節(jié)之前。請(qǐng)復(fù)制并粘貼該 HTML 控件在“清除”按鈕之后。

<INPUT TYPE=BUTTON NAME="Update"    VALUE="Update Profile">

標(biāo)記 INPUT 定義如按鈕,選項(xiàng)按鈕,復(fù)選框或文本之類的元素。參數(shù) NAME 定義代碼中按鈕被調(diào)用的內(nèi)容。參數(shù) TYPE 指定窗體元素的類型 — 在這里即是按鈕。參數(shù) VALUE 指定與按鈕(“更新配置文件”)關(guān)聯(lián)的標(biāo)簽。

Update_OnClick 子過程

單擊“更新配置文件”按鈕可激活 VBScript Update_OnClick 子過程,該子過程執(zhí)行 RDS.DataControl 對(duì)象 (SControl) 的 SubmitChangesRefresh 方法。請(qǐng)復(fù)制并粘貼該代碼到標(biāo)記 SCRIPT 和 /SCRIPT 之間。

Sub Update_OnClick

   SControl.SubmitChanges

   SControl.Refresh

End Sub

執(zhí)行 SControl.SubmitChanges 時(shí),程序?qū)⑺懈滦畔⒋虬?,通過 HTTP 發(fā)送到服務(wù)器。更新要么全部更新要么不更新。如果部分更新不成功,將不做任何變更,并返回狀態(tài)信息。在遠(yuǎn)程數(shù)據(jù)服務(wù)中,SControl.Refresh 不一定必需跟在 SubmitChanges 的后面,但這樣可確保數(shù)據(jù)得以刷新。

“取消更改”按鈕

下列代碼定義“取消更改”按鈕。該 HTML 語句出現(xiàn)在程序的 VBScript 節(jié)之前。請(qǐng)復(fù)制并粘貼該 HTML 控件到“更新”按鈕之后。

<INPUT TYPE=BUTTON NAME="Cancel"    VALUE="Cancel Changes">

Cancel_OnClick 子過程

單擊“取消更改”可激活 VBScript Cancel_OnClick 子過程,執(zhí)行 RDS.DataControl 對(duì)象 (SControl) 的 CancelUpdate 方法。請(qǐng)復(fù)制并粘貼該代碼到標(biāo)記 SCRIPT 和 /SCRIPT 之間。

Sub Cancel_OnClick

     SControl.CancelUpdate

End Sub

執(zhí)行 SControl.CancelUpdate 時(shí),它將放棄自從上一次查詢或更新以來用戶對(duì)數(shù)據(jù)網(wǎng)格上雇員記錄所作的任何編輯。由此恢復(fù)初始值。