日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用VB完成WEB交互式應用

用VB完成WEB交互式應用

更新時間:2022-05-02 文章作者:未知 信息來源:網絡 閱讀次數:

摘要 本文介紹了Internet應用程序及相關概念,并通過一個示例,介紹了使用VB創建IIS應用程序來構建交互式WEB應用的方法。
  關鍵字 Internet應用程序,IIS,HTML

  Microsoft Visual Basic 6.0增強了創建Internet應用程序的功能。Internet應用程序是一種編譯好的交互式應用程序,通過Internet或intranet能夠訪問這種應用程序。在VB中有兩種類型的Internet應用程序:基于服務器的IIS應用程序和基于客戶的DHTML應用程序。基于服務器的IIS應用程序駐留在WEB服務器上,應用程序使用HTTP Internet協議接受從客戶端(如WEB瀏覽器)來的請求,處理相關的代碼,然后向瀏覽器返回數據。IIS應用程序是一個VB應用程序,它在一個動態的、基于瀏覽器的應用程序中使用HTML和已編譯VB代碼的組合。對開發者來說,一個IIS應用程序是由一些被稱為WebClass的特殊類型對象組成,而WebClass包含一系列稱為Webitems的資源。WebClass是一個駐留在WEB服務器上并響應瀏覽器輸入的VB部件,它作為應用程序的中央功能單元,處理來自瀏覽器的數據并向用戶發送響應信息。
  本文通過示例一個WEB應用--電話號碼查詢,說明創建IIS應用程序的一般過程。運行此程序需要IIS3.0、IIS4.0 或 PWS。用戶在查詢界面輸入要查詢部門相應的漢語拼音縮寫或名稱縮寫,如為空,則提示輸入部門名稱;系統以表格形式返回模糊查詢結果。

一、創建工程及模板
電話查詢界面模板文件的代碼如下:
<html>
<body bgcolor="#F6FAFF">
<p align="center"><font size="6" face="幼圓"><strong>辦公電話號碼查詢</strong></font></p>
<p><font size="4" face="黑體">查詢說明:</font>
您可以直接輸入各部門的全名或主要名稱,也可輸入各部門漢語拼音首字符縮寫串;查詢結果將模糊匹配您所輸入的關鍵字.如輸入'網絡中心'或'wlzx'.</p>
<hr size="1" color="#008080">
<form method="POST">
<wc@error></wc@error>
<p align="center"><font size="4">請輸入要查詢的部門:</font></p>
<wc@FullName></wc@FullName>
<p align="center">
<font size="4">
<input type="submit" name="submit" value="發送" style="font-size: 15pt; font-family: 幼圓"> <input type="reset" name="reset" value="重設" style="font-family: 幼圓; font-size: 15pt"></font></p>
</form>
<hr size="1" color="#008080">
</body>
</html>
可以看到,界面文件除了基本的HTML元素外,沒有用于數據輸入的元素,但多了"wc@error"等標記。Wc@標記是模板中使用的替換指示符。替換指示符是標記要用特定內容替換的位置,以備在用戶請求時執行文本替換過程。這些標記具有標記前綴和標記名,標記前綴用于指示WebClass必須進行一個替換操作。通過設置每一個模板的TagPrefix屬性定義標記前綴。Wc@是VB的缺省標記前綴。標記名可以識別替換的區域。執行文本替換是在一個WebClass模板文件中掃描特殊的指示符標記,然后用自定義的內容替換指示符或它們的內容。當WebClass在一個事件過程中響應WriteTemplate方法時,它自動處理這些指示符。替換完成后,響應用戶一個替換過的HTML文件。

對含有標記前綴文件的處理順序是:VB處理用戶的代碼,并從應用程序的一個事件處理程序中調用WriteTemplate方法。WebClass根據ProcessTag事件的代碼處理并替換文件中所有前綴標記,然后將模板文件寫到Response對象,WriteTemplate方法再發送模板文件到瀏覽器。

啟動VB6,在新建工程中選擇IIS應用程序。首先看到WebClass設計器,包含"HTML模板WebItems"和"自定義WebItems"。右擊WebClass設計器的"HTML模板WebItems",選擇"添加HTML模板",導入上述界面模板文件,然后將其命名為Phone_Search。

二、實現代碼
雙擊WebClass設計器右邊窗格的Form1標記,為表單提交動作定義一個自定義事件。該事件主要任務是接收用戶輸入的要查詢數據,并把查詢數據提交到數據庫。具體代碼見清單。

IIS應用程序應該指定用戶首次訪問時顯示的內容,因此,在WebClass_Start事件中將WebClass的NextItem屬性設置為Phone_Search,然后在Phone_Search_Respond事件中用模板的WriteTemplate方法將頁面發送到客戶端瀏覽器。在將頁面發送到瀏覽器時,系統會遇到模板中的wc@標記,此時它會自動調用Phone_Search的ProcessTag事件,并把標記名字作為參數傳遞給事件處理過程Phone_Search_Respond,在這個過程中返回插入文檔內定制標記所在位置的HTML代碼。當在表單中輸入數據并提交表單時,則執行Phone_Search_Form1過程,它接收表單的數據,如沒有錯誤則調用自定義事件處理過程Searphone,該過程提交輸入數據到數據源,執行查詢并以表格形式返回結果集。

代碼清單:
Option Explicit
Option Compare Text
'聲明全局量
Dim FullName As String
Dim strError As String
'處理標記元素過程
Private Sub phone_search_ProcessTag(ByVal TagName As String, TagContents As String, SendTags As Boolean)
Select Case LCase(TagName)
'錯誤信息
Case "wc@error"
If strError <> "" Then
TagContents = "<hr><font color=""red"">"
TagContents = TagContents & "請輸入要查詢的部門!" & _
strError & "
<hr></font>
<hr>"
End If
'查詢的部門
Case "wc@FullName"
TagContents = "<center><input type=""text"" value=""" & FullName & """
name=""FullName""></center>"
End Select
End Sub
'響應用戶請求過程
Private Sub phone_search_Respond()
'響應用戶請求,輸出頁面
phone_search.WriteTemplate
End Sub

Private Sub phone_search_Form1()
strError = ""
'獲取表單值
FullName = Request("FullName")
'測試是否為空
If FullName = "" Then strError = strError & "<i>部門不能為空!</i>"
'如表單輸入值為空,則提示輸入數據,否則調用查詢過程
If strError <> "" Then
Set NextItem = phone_search
Else
SearPhone
End If
End Sub

Private Sub WebClass_Start()
Set NextItem = phone_search
End Sub

Public Sub SearPhone()
Dim Mysql As String
Dim Dbconn As New ADODB.Connection
Dim mrd As New ADODB.Recordset
'打開數據源
Dbconn.Open "telphone"
'構造查詢SQL語句
Mysql = "select * from phone where depart like '%" & FullName & "%'" & _
" or depart_p like '%" & FullName & "%'"
'執行SQL查詢
Set mrd = Dbconn.Execute(Mysql)
'輸出查詢結果
With Response
.Write "<html>"
.Write "<body>"
.Write "<title>Search Results</title>"
.Write "<h1><font face=""Arial"">查詢結果如下:</font></h1>"
If mrd.BOF And mrd.EOF Then '沒有符合條件的值
.Write "<center>對不起,沒有相應的部門!</center>"
Else '有符合條件的值,以表格形式輸出
.Write "<center>"
.Write "<table border=""5"" wide=""50%"">"
.Write "<tr><td>部 門</td><td>電 話</td>"
Do While Not mrd.EOF
.Write "<tr><td>"
.Write mrd("depart")
.Write "</td><td>"
.Write mrd("phone_no")
.Write "</td>
"
mrd.MoveNext
Loop
End If
.Write "</table>"
.Write "<h1><font face=""Arial"">謝謝使用</font></h1>"
.Write "</body>"
.Write "</html>"
End With
'釋放變量,關閉數據庫連接
Set mrd=Nothing
Dbconn.close
End Sub

本例程使用了ACCESS數據庫表Phone,DSN名為Telphone,表結構及部分示例數據如下。
Phone表結構:
字段名 類型 長度 說明
PhoneID 自動編號 長整形 主鍵
Depart 文本 20
Depart_p 文本 10
Phone_no 文本 7
示例數據:
1 網管中心 Wgzx 2419039
2 網管辦 Wgb 2419187
3 計算機系辦公室 Jsjxb 2419237
4 計算機系主任辦公室 Jsjxb 2419236
5 計算機系實驗室 Jsjxsys 2419234

如用戶輸入"網管"或"wg"后,程序響應其請求。

三、部署IIS應用程序
一個IIS應用程序必須作為一個進程內部件或一個DLL文件被創建。象編譯其它VB工程一樣,選擇生成DLL文件。IIS應用程序編譯時產生以下文件:一個VB用于運行工程的DLL文件;一個在瀏覽器中宿主應用程序并產生它的運行時部件的ASP文件;一個在編譯和連接工程時由連接器產生的EXP文件;一個包含工程的窗口布局信息的VBW文件。然后使用VB的打包和展開向導來部署IIS應用程序。必須部署的應用程序包括DLL文件,與工程相關的HTML頁面及被HTML頁面引用的文件。

四、小結
用VB構造服務器端的IIS應用程序比其它的WEB應用開發具有減少每個用戶部署費用,可重復使用部件,代碼和HTML分離,高效等優點;而且由于對VB環境的熟悉,可以充分利用傳統的編程方法。

參考資料:Microsoft MSDN 之Visual Basic文檔
(本示例程序在Windows 98+PWS下運行成功) 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 九九啪啪 | 精品久久中文字幕有码 | 免费国产成人手机在线观看 | 麻豆久久婷婷综合五月国产 | 成人精品综合免费视频 | 很污的视频网站 | 午夜影放免费观看 | 亚洲精品福利在线 | 中文字幕不卡在线播放 | 久久久综合香蕉尹人综合网 | 最近日本免费观看mv免费版 | 亚洲精品九色在线网站 | 中文字幕美日韩在线高清 | 久久精品视频一区二区三区 | 国产精品人人视频 | 日本高清不卡在线观看 | 成人私拍福利视频在线 | 国产精品女人在线观看 | 日韩中文字幕视频 | 中文字幕不卡视频 | 国产入口 | 狠狠色噜狠狠狠狠 | 韩国三级精品 | 在线日韩国产 | 高清2019av手机版 | 狠狠色综合网站久久久久久久 | 亚洲精品午夜级久久久久 | 久久三级毛片 | 2022中文字字幕久亚洲 | 亚洲视频一区二区三区四区 | 免费性生活网站 | 天天干天天插天天操 | 制服丝袜在线视频香蕉 | 国产成人+综合亚洲+天堂 | 成人区精品一区二区毛片不卡 | 91手机在线视频观看 | 国产国产成人人免费影院 | 亚洲综合精品 | 99热久久这里只有精品9 | 一区二区福利视频 | 黑人videodesexo极品-你懂的 |