• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

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

        用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下運行成功) 

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲综合色成在线播放| 日韩免费高清一级毛片在线| 国产精品亚洲mnbav网站 | 中文字幕一精品亚洲无线一区| 黄色a三级三级三级免费看| 国产免费观看a大片的网站| 国产成人亚洲精品播放器下载| 国产大片91精品免费看3| 男男gay做爽爽的视频免费| 亚洲 自拍 另类小说综合图区| 高潮内射免费看片| 国产亚洲日韩在线三区| 热久久这里是精品6免费观看| 亚洲春色在线视频| 亚洲精品视频免费在线观看| 亚洲一级毛片免观看| 好爽…又高潮了毛片免费看 | 亚洲中文无码永久免费| 日本成人免费在线| 一区视频免费观看| 久久久久无码精品亚洲日韩 | 亚洲深深色噜噜狠狠爱网站| 男女午夜24式免费视频| 亚洲国产精品成人精品软件 | rh男男车车的车车免费网站| 狠狠色伊人亚洲综合成人| 亚洲视频免费在线播放| 中文字幕亚洲情99在线| 亚洲人成人无码网www国产| 久久免费观看国产精品88av| 亚洲粉嫩美白在线| 国产亚洲精品自在线观看| 99视频在线免费| 亚洲a∨无码精品色午夜| 国产亚洲3p无码一区二区| 中文字幕无码不卡免费视频| 少妇亚洲免费精品| 亚洲成a人片在线观看中文!!!| 日本一道高清不卡免费| 免费国产成人午夜在线观看| 亚洲国产AV无码一区二区三区|