1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現(xiàn)在位置:范文先生網(wǎng)>理工論文>計算機論文>ASP技術(shù)訪問WEB數(shù)據(jù)庫

    ASP技術(shù)訪問WEB數(shù)據(jù)庫

    時間:2022-08-06 11:01:15 計算機論文 我要投稿
    • 相關推薦

    ASP技術(shù)訪問WEB數(shù)據(jù)庫

    一. 訪問WEB數(shù)據(jù)庫的多種方案

      目前在WINDOWS環(huán)境下有多種訪問WEB數(shù)據(jù)庫的技術(shù),主要有:

      1.公共網(wǎng)關接口CGI(Common Gateway Interface)

      CGI是較早實現(xiàn)的技術(shù)。適用于多種服務器平臺,如UNIX、WINDOWS等,但CGI的開發(fā)成本高、維護困難、功能有限、不具備事務處理功能、占用服務器資源較多。

      2. INTERNET數(shù)據(jù)庫連接器IDC(Internet Database Connector)

      IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技術(shù),易擴充,但編程較CGI更為復雜,只適用于小型數(shù)據(jù)庫系統(tǒng)。

      3. 先進數(shù)據(jù)庫連接器ADC(Advance Database Connector)

      ADC提供了ActiveX Control來訪問數(shù)據(jù)庫,它的主要特點是數(shù)據(jù)查詢由用戶端瀏覽器執(zhí)行,因而需將服務器端數(shù)據(jù)庫中的部分記錄下載到用戶端,系統(tǒng)開銷較大、響應慢,只適用于特別頻繁的數(shù)據(jù)庫查詢操作。

      4. JAVA/JDBC語言編程

      JAVA語言是一種面向?qū)ο蟆⒁滓浦病⒍嗑程控制的語言,可通過JDBC去連接數(shù)據(jù)庫。用JAVA/JDBC編寫的軟件可移植性強,適用于多種操作系統(tǒng),但其執(zhí)行效率和執(zhí)行速度還不理想,目前無法建立高效、高速的應用。

      5. 動態(tài)服務器頁面ASP(Active Server Page)

      ASP是微軟公司最新推出的WEB應用開發(fā)技術(shù),著重于處理動態(tài)網(wǎng)頁和WEB數(shù)據(jù)庫的開發(fā),編程靈活、簡潔,具有較高的性能,是目前訪問WEB數(shù)據(jù)庫的最佳選擇。

      二. ASP簡介

      1.ASP訪問數(shù)據(jù)庫的原理

      ASP是服務器端的腳本執(zhí)行環(huán)境,可用來產(chǎn)生和執(zhí)行動態(tài)的高性能的WEB服務器程序。

      當用戶使用瀏覽器請求ASP主頁時,WEB服務器響應,調(diào)用ASP引擎來執(zhí)行ASP文件,并解釋其中的腳本語言(JScript 或VBScript),通過ODBC連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ADO(ActiveX Data Objects)完成數(shù)據(jù)庫操作,最后ASP生成包含有數(shù)據(jù)查詢結(jié)果的HTML主頁返回用戶端顯示。

      由于ASP在服務器端運行,運行結(jié)果以HTML主頁形式返回用戶瀏覽器,因而ASP源程序不會泄密,增加了系統(tǒng)的安全保密性。此外,ASP是面向?qū)ο蟮哪_本環(huán)境,用戶可自行增加ActiveX組件來擴充其功能,拓展應用范圍。

      2.ASP頁面的結(jié)構(gòu):

      ASP的程序代碼簡單、通用,文件名由.asp結(jié)尾,ASP文件通常由四部分構(gòu)成:

      1) 標準的HTML標記:所有的HTML標記均可使用。

      2) ASP語法命令:位于<% %> 標簽內(nèi)的ASP代碼。

      3) 服務器端的include語句:可用#include語句調(diào)入其它ASP代碼,增強了編程的靈活性。

      4) 腳本語言:ASP自帶JScript和VBScript兩種腳本語言,增加了ASP的編程功能,用戶也可安裝其它腳本語言,如Perl、Rexx等。

      3.ASP的運行環(huán)境

      目前ASP可運行在三種環(huán)境下。

      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的全面支持,是創(chuàng)建高速、穩(wěn)定的ASP主頁的最佳選擇。

      4.ASP的內(nèi)建對象

      ASP提供了六個內(nèi)建對象,供用戶直接調(diào)用:

      1) Application對象:負責管理所有會話信息,可用來在指定的應用程序的所有用戶之間共享信息。

      2) Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當用戶在不同WEB頁面跳轉(zhuǎn)時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。

      3) Request對象:從用戶端取得信息傳遞給服務器,是ASP讀取用戶輸入的主要方法。

      4) Response對象:服務器將輸出內(nèi)容發(fā)送到用戶端。

      5) Server對象:提供對服務器有關方法和屬性的訪問。

      6) Object Context對象:IIS 4.0新增的對象,用來進行事務處理。此項功能需得到MTS(Microsoft Transcation Server)管理的支持。

      5. ASP的主要內(nèi)置組件:

      1) Ad Rotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務。

      2) Browser Capabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數(shù)據(jù),包括類型、性能、版本等。

      3) Database Access組件:提供ADO (ActiveX Data Objects)來訪問支持ODBC的數(shù)據(jù)庫。

      4) File Access組件:提供對服務器端文件的讀寫功能。

      5) Content Linking組件:生成WEB頁內(nèi)容列表,并將各頁順序連接,用于制作導航條。

      此外,還可安裝Myinfo、Counters、Content Rotator、Page Count等組件,用戶也可自行編制Actiive組件,以提高系統(tǒng)的實用性。

      6. Database Access組件ADO

      WWW上很重要的應用是訪問WEB數(shù)據(jù)庫,用ASP訪問WEB數(shù)據(jù)庫時,必須使用ADO組件,ADO是ASP內(nèi)置的ActiveX服務器組件(ActiveX Server Component),通過在WEB服務器上設置ODBC和OLEDB可連接多種數(shù)據(jù)庫:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是對

    目前微軟所支持的數(shù)據(jù)庫進行操作的最有效和最簡單直接的方法。

      ADO組件主要提供了以下七個對象和四個集合來訪問數(shù)據(jù)庫。

      1) Connection對象:建立與后臺數(shù)據(jù)庫的連接。

      2) Command對象:執(zhí)行SQL指令,訪問數(shù)據(jù)庫。

      3) Parameters對象和Parameters集合:為Command對象提供數(shù)據(jù)和參數(shù)。

      4) RecordSet對象:存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息,是最經(jīng)常使用的對象。

      5) Field對象和Field集合:提供對RecordSet中當前記錄的各個字段進行訪問的功能。

      6) Property對象和Properties集合:提供有關信息,供Connection、Command、RecordSet、Field對象使用。

      7) Error對象和Errors集合:提供訪問數(shù)據(jù)庫時的錯誤信息。

      三. ASP訪問數(shù)據(jù)庫步驟

      在ASP中,使用ADO組件訪問后臺數(shù)據(jù)庫,可通過以下步驟進行:

      1. 定義數(shù)據(jù)源

      在WEB服務器上打開“控制面板”,選中“ODBC”,在“系統(tǒng)DSN”下選“添加”,選定你希望的數(shù)據(jù)庫種類、名稱、位置等。本文定義“SQL SERVER”,數(shù)據(jù)源為“HT”,數(shù)據(jù)庫名稱為“HTDATA”,腳本語言采用Jscript。

      2,使用ADO組件查詢WEB數(shù)據(jù)庫

      1) 調(diào)用Server.CreateObject方法取得“ADODB.Connection”的實例,再使用Open方法打開數(shù)據(jù)庫:

      conn = Server.CreateObject(“ADODB.Connection”)

      conn.Open(“HT”)

      2) 指定要執(zhí)行的SQL命令

      連接數(shù)據(jù)庫后,可對數(shù)據(jù)庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數(shù)據(jù)表signaltab中查詢代碼中含有“X”的記錄

      sqlStr = “select * from signaltab where code like ‘%X%’”

      rs = conn.Execute(sqlStr)

      3) 使用RecordSet屬性和方法,并顯示結(jié)果

      為了更精確地跟蹤數(shù)據(jù),要用RecordSet組件創(chuàng)建包含數(shù)據(jù)的游標,游標就是儲存在內(nèi)存中的數(shù)據(jù)。

      rs = Server.CreateObject(“ADODB.RecordSet”)
      rs.Open(sqlStr,conn,1,A)
      注:A=1讀取
      A=3 新增、修改、刪除
      在RecordSet組件中,常用的屬性和方法有:
      rs.Fields.Count: RecordSet對象的字段數(shù)。
      rs(i).Name: 第i個字段的名稱,i為0至rs.Fields.Count-1
      rs(i): 第i個字段的數(shù)據(jù),i為0至rs.Fields.Count-1
      rs("字段名"): 指定字段的數(shù)據(jù)。
      rs.Record.Count:游標中的數(shù)據(jù)記錄總數(shù)。
      rs.EOF: 是否最后一條記錄。
      rs.MoveFirst: 指向第一條記錄。
      rs.MoveLast: 指向最后一條記錄。
      rs.MovePrev: 指向上一條記錄。
      rs.MoveNext: 指向下一條記錄。
      rs.GetRows: 將數(shù)據(jù)放入數(shù)組中。
      rs.Properties.Count:ADO的ResultSet或Connection的屬性個數(shù)。
      rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。
      rs.Properties: ADO的ResultSet或Connection的值。
      rs.close(): 關閉連接。

      4) 關閉數(shù)據(jù)庫

      conn.close()

      四.查詢WEB數(shù)據(jù)庫舉例

      下面這段示例程序是訪問SQL SERVER數(shù)據(jù)庫的 signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數(shù)據(jù)源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>


      數(shù)據(jù)庫處理程序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>數(shù)據(jù)查詢結(jié)果</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>

    【ASP技術(shù)訪問WEB數(shù)據(jù)庫】相關文章:

    分布式對象技術(shù)及其在Web上的應用08-09

    基于數(shù)據(jù)庫技術(shù)的實驗室管理系統(tǒng)的研究08-18

    嵌入式數(shù)據(jù)庫典型技術(shù)―SQLite和Berkeley08-19

    訪問記作文06-03

    web前端自我介紹06-28

    畢業(yè)論文開題報告-ASP08-11

    asp網(wǎng)站設計參考文獻08-19

    《訪問環(huán)保專家方博士》08-16

    參觀訪問寫作技巧08-24

    web服務器性能優(yōu)化08-12

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      一区二区三区久久老熟女 | 在线天堂网最新资源视频 | 茄子国产成版人视频在线观看 | 日韩国产亚洲欧美一区二区 | 日韩一区二区中文字幕 | 在线观看AV网站永久免费观看 |