• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP技術訪問WEB數據庫

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 46次 | 進入軟件測試論壇討論

    領測軟件測試網 一. 訪問WEB數據庫的多種方案 
       目前在WINDOWS環境下有多種訪問WEB數據庫的技術,主要有: 
       1.公共網關接口CGI(Common Gateway Interface) 
       CGI是較早實現的技術。適用于多種服務器平臺,如UNIX、WINDOWS等,但CGI的開發成本高、維護困難、功能有限、不具備事務處理功能、占用服務器資源較多。 
       2. INTERNET數據庫連接器IDC(Internet Database Connector) 
       IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技術,易擴充,但編程較CGI更為復雜,只適用于小型數據庫系統。 
       3. 先進數據庫連接器ADC(Advance Database Connector) 
       ADC提供了ActiveX Control來訪問數據庫,它的主要特點是數據查詢由用戶端瀏覽器執行,因而需將服務器端數據庫中的部分記錄下載到用戶端,系統開銷較大、響應慢,只適用于特別頻繁的數據庫查詢操作。 
       4. JAVA/JDBC語言編程 
       JAVA語言是一種面向對象、易移植、多線程控制的語言,可通過JDBC去連接數據庫。用JAVA/JDBC編寫的軟件可移植性強,適用于多種操作系統,但其執行效率和執行速度還不理想,目前無法建立高效、高速的應用。 
       5. 動態服務器頁面ASP(Active Server Page) 
       ASP是微軟公司最新推出的WEB應用開發技術,著重于處理動態網頁和WEB數據庫的開發,編程靈活、簡潔,具有較高的性能,是目前訪問WEB數據庫的最佳選擇。 
       二. ASP簡介 
       1.ASP訪問數據庫的原理 
       ASP是服務器端的腳本執行環境,可用來產生和執行動態的高性能的WEB服務器程序。 
       當用戶使用瀏覽器請求ASP主頁時,WEB服務器響應,調用ASP引擎來執行ASP文件,并解釋其中的腳本語言(JScript 或VBScript),通過ODBC連接數據庫,由數據庫訪問組件ADO(ActiveX Data Objects)完成數據庫操作,最后ASP生成包含有數據查詢結果的HTML主頁返回用戶端顯示。 
       由于ASP在服務器端運行,運行結果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統的安全保密性。此外,ASP是面向對象的腳本環境,用戶可自行增加ActiveX組件來擴充其功能,拓展應用范圍。 
       2.ASP頁面的結構: 
       ASP的程序代碼簡單、通用,文件名由.asp結尾,ASP文件通常由四部分構成: 
       1) 標準的HTML標記:所有的HTML標記均可使用。 
       2) ASP語法命令:位于<% %> 標簽內的ASP代碼。 
       3) 服務器端的include語句:可用#include語句調入其它ASP代碼,增強了編程的靈活性。 
       4) 腳本語言:ASP自帶JScript和VBScript兩種腳本語言,增加了ASP的編程功能,用戶也可安裝其它腳本語言,如Perl、Rexx等。 
       3.ASP的運行環境 
       目前ASP可運行在三種環境下。 
       1) WINDOWS NT server 4.0運行IIS 3.0(Internet Information Server)以上。 
       2) WINDOWS NT workstation 4.0運行Peer Web Server 3.0以上。 
       3) WINDOWS 95/98運行PWS(Personal Web Server)。 
       其中以NT server上的IIS功能最強,提供了對ASP的全面支持,是創建高速、穩定的ASP主頁的最佳選擇。 
       4.ASP的內建對象 
       ASP提供了六個內建對象,供用戶直接調用: 
       1) Application對象:負責管理所有會話信息,可用來在指定的應用程序的所有用戶之間共享信息。 
       2) Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當用戶在不同WEB頁面跳轉時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。 
       3) Request對象:從用戶端取得信息傳遞給服務器,是ASP讀取用戶輸入的主要方法。 
       4) Response對象:服務器將輸出內容發送到用戶端。 
       5) Server對象:提供對服務器有關方法和屬性的訪問。 
       6) Object Context對象:IIS 4.0新增的對象,用來進行事務處理。此項功能需得到MTS(Microsoft Transcation Server)管理的支持。 
       5. ASP的主要內置組件: 
       1) Ad Rotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務。 
       2) Browser Capabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數據,包括類型、性能、版本等。 
       3) Database Access組件:提供ADO (ActiveX Data Objects)來訪問支持ODBC的數據庫。 
       4) File Access組件:提供對服務器端文件的讀寫功能。 
       5) Content Linking組件:生成WEB頁內容列表,并將各頁順序連接,用于制作導航條。 
       此外,還可安裝Myinfo、Counters、Content Rotator、Page Count等組件,用戶也可自行編制Actiive組件,以提高系統的實用性。 
       6. Database Access組件ADO 
       WWW上很重要的應用是訪問WEB數據庫,用ASP訪問WEB數據庫時,必須使用ADO組件,ADO是ASP內置的ActiveX服務器組件(ActiveX Server Component),通過在WEB服務器上設置ODBC和OLEDB可連接多種數據庫:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是對目前微軟所支持的數據庫進行操作的最有效和最簡單直接的方法。 
       ADO組件主要提供了以下七個對象和四個集合來訪問數據庫。 
       1) Connection對象:建立與后臺數據庫的連接。 
       2) Command對象:執行SQL指令,訪問數據庫。 
       3) Parameters對象和Parameters集合:為Command對象提供數據和參數。 
       4) RecordSet對象:存放訪問數據庫后的數據信息,是最經常使用的對象。 
       5) Field對象和Field集合:提供對RecordSet中當前記錄的各個字段進行訪問的功能。 
       6) Property對象和Properties集合:提供有關信息,供Connection、Command、RecordSet、Field對象使用。 
       7) Error對象和Errors集合:提供訪問數據庫時的錯誤信息。 
       三. ASP訪問數據庫步驟 
       在ASP中,使用ADO組件訪問后臺數據庫,可通過以下步驟進行: 
       1. 定義數據源 
       在WEB服務器上打開"控制面板",選中"ODBC",在"系統DSN"下選"添加",選定你希望的數據庫種類、名稱、位置等。本文定義"SQL SERVER",數據源為"HT",數據庫名稱為"HTDATA",腳本語言采用Jscript。 
       2,使用ADO組件查詢WEB數據庫 
       1) 調用Server.CreateObject方法取得"ADODB.Connection"的實例,再使用Open方法打開數據庫: 
       conn = Server.CreateObject("ADODB.Connection") 
       conn.Open("HT") 
       2) 指定要執行的SQL命令 
       連接數據庫后,可對數據庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數據表signaltab中查詢代碼中含有"X"的記錄 
       sqlStr = "select * from signaltab where code like ’%X%’" 
       rs = conn.Execute(sqlStr) 
       3) 使用RecordSet屬性和方法,并顯示結果 
       為了更精確地跟蹤數據,要用RecordSet組件創建包含數據的游標,游標就是儲存在內存中的數據。 
       rs = Server.CreateObject("ADODB.RecordSet")
       rs.Open(sqlStr,conn,1,A)
       注:A=1讀取
       A=3 新增、修改、刪除
       在RecordSet組件中,常用的屬性和方法有:
       rs.Fields.Count: RecordSet對象的字段數。
       rs(i).Name: 第i個字段的名稱,i為0至rs.Fields.Count-1
       rs(i): 第i個字段的數據,i為0至rs.Fields.Count-1
       rs("字段名"): 指定字段的數據。
       rs.Record.Count:游標中的數據記錄總數。
       rs.EOF: 是否最后一條記錄。
       rs.MoveFirst: 指向第一條記錄。
       rs.MoveLast: 指向最后一條記錄。
       rs.MovePrev: 指向上一條記錄。
       rs.MoveNext: 指向下一條記錄。
       rs.GetRows: 將數據放入數組中。
       rs.Properties.Count:ADO的ResultSet或Connection的屬性個數。
       rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。
       rs.Properties: ADO的ResultSet或Connection的值。
       rs.close(): 關閉連接。 
       4) 關閉數據庫 
       conn.close() 
       四.查詢WEB數據庫舉例 
       下面這段示例程序是訪問SQL SERVER數據庫的 signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數據源DSN:HT、用戶名:client、口令:passwd。 
       屏幕輸入頁面input.asp 
       <% @ language=javascript %>
       <html>
       <head>
       <title>請輸入查詢條件PLEASE INPUT CONDITION</title>
       </head>
       <form action=shotquery.asp METHOD="post" target="_self">
       <input TYPE="text" size=6 maxlength=3 NAME=signalCode VALUE="代碼"> </font></p>
       </center></div><p></p>
       <input LANGUAGE="JavaScript" TYPE="submit" VALUE="確認" NAME="B1"
       
       <input TYPE="reset" VALUE="清除"NAME="B2"> 
       
       <input LANGUAGE="JavaScript" TYPE="button" NAME="B3" VALUE="返回"
       ONCLICK="window.history.back()"> 
       </font></p>
       </center></div>
       </form>
       </body>
       </html>
       數據庫處理程序shotquery.asp 
       <!--#include virtual="/master/lib.inc"-->
       <script language=javascript runat=server>
       var signalCode=Request.Form("signalCode");
       dbConn = Server.CreateObject("ADODB.Connection");
       dbConn.open("DSN=HT;UID=client;PWD=passwd"); 
       rs = Server.CreateObject("ADODB.RecordSet");
       var sqlStr = "select * from signaltab order by code";
       rs.open(sqlStr,dbConn,1);
       if(rs.RecordCount < 1) {
       Response.write("<p> 無符合條件記錄</p>");
       Response.write("<p><form> <input type=’button’ value=’ 返回’ onclick=’window.history.back()’ name=’b1’></form></p>");
       }
       else {
       Response.write("<P><center><B>數據查詢結果</B></center></P>");
       Response.write("<tr><td><b>代碼</b></td><td><b>分類</b></td><td><b>備注</b></td>");
       for(var i = 1;i <= rs.Pagesize;i++) {
       if(!rs.Eof) {
       Response.write("<td><span style=’font-size:9t’>"+rs("code")+"</span></td>");
       Response.write("<td><span style=’font-size:9t’>"+rs("class")+"</span></td>");
       Response.write("<td><span style=’font-size:9t’>"+rs("memo")+"</span></td>");
       Response.write("</tr>");
       rs.MoveNext();
       }
       else break;
       }
       Response.write("</table></form>");
       rs.close();
       dbConn.close();
       }
       </script>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>