99精品久久这里只有精品,三上悠亚免费一区二区在线,91精品福利一区二区,爱a久久片,无国产精品白浆免费视,中文字幕欧美一区,爽妇网国产精品,国产一级做a爱免费观看,午夜一级在线,国产精品偷伦视频免费手机播放

    <del id="eyo20"><dfn id="eyo20"></dfn></del>
  • <small id="eyo20"><abbr id="eyo20"></abbr></small>
      <strike id="eyo20"><samp id="eyo20"></samp></strike>
    • 首頁 > 文章中心 > 正文

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

      前言:本站為你精心整理了ASP技術(shù)訪問WEB數(shù)據(jù)庫范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

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

      asp技術(shù)訪問web數(shù)據(jù)庫

      時間:2003-11-9作者:秩名

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

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

      1.公共網(wǎng)關(guān)接口CGI(CommonGatewayInterface)

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

      2.INTERNET數(shù)據(jù)庫連接器IDC(InternetDatabaseConnector)

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

      3.先進(jìn)數(shù)據(jù)庫連接器ADC(AdvanceDatabaseConnector)

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

      4.JAVA/JDBC語言編程

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

      5.動態(tài)服務(wù)器頁面ASP(ActiveServerPage)

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

      二.ASP簡介

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

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

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

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

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

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

      1)標(biāo)準(zhǔn)的HTML標(biāo)記:所有的HTML標(biāo)記均可使用。

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

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

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

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

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

      1)WINDOWSNTserver4.0運(yùn)行IIS3.0(InternetInformationServer)以上。

      2)WINDOWSNTworkstation4.0運(yùn)行PeerWebServer3.0以上。

      3)WINDOWS95/98運(yùn)行PWS(PersonalWebServer)。

      其中以NTserver上的IIS功能最強(qiáng),提供了對ASP的全面支持,是創(chuàng)建高速、穩(wěn)定的ASP主頁的最佳選擇。

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

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

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

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

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

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

      5)Server對象:提供對服務(wù)器有關(guān)方法和屬性的訪問。

      6)ObjectContext對象:IIS4.0新增的對象,用來進(jìn)行事務(wù)處理。此項(xiàng)功能需得到MTS(MicrosoftTranscationServer)管理的支持。

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

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

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

      3)DatabaseAccess組件:提供ADO(ActiveXDataObjects)來訪問支持ODBC的數(shù)據(jù)庫。

      4)FileAccess組件:提供對服務(wù)器端文件的讀寫功能。

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

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

      6.DatabaseAccess組件ADO

      WWW上很重要的應(yīng)用是訪問WEB數(shù)據(jù)庫,用ASP訪問WEB數(shù)據(jù)庫時,必須使用ADO組件,ADO是ASP內(nèi)置的ActiveX服務(wù)器組件(ActiveXServerComponent),通過在WEB服務(wù)器上設(shè)置ODBC和OLEDB可連接多種數(shù)據(jù)庫:如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是對目前微軟所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法。

      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中當(dāng)前記錄的各個字段進(jìn)行訪問的功能。

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

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

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

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

      1.定義數(shù)據(jù)源公務(wù)員之家版權(quán)所有

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

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

      1)調(diào)用Server.CreateObject方法取得“ADODB.Connection”的實(shí)例,再使用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*fromsignaltabwherecodelike‘%X%’”

      rs=conn.Execute(sqlStr)

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

      為了更精確地跟蹤數(shù)據(jù),要用RecordSet組件創(chuàng)建包含數(shù)據(jù)的游標(biāo),游標(biāo)就是儲存在內(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:游標(biāo)中的數(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():關(guān)閉連接。

      4)關(guān)閉數(shù)據(jù)庫

      conn.close()

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

      下面這段示例程序是訪問SQLSERVER數(shù)據(jù)庫的signaltab表,表中有三個字段:code(代碼字段,字符型,3位),class(分類字段,字符型,10位),memo(備注字段,字符型,20位)。程序中數(shù)據(jù)源DSN:HT、用戶名:client、口令:passwd。

      屏幕輸入頁面input.asp

      <%@language=javascript%>

      <html>

      <head>

      <title>請輸入查詢條件PLEASEINPUTCONDITION</title>

      </head>

      <formaction=shotquery.aspMETHOD="post"target="_self">

      <inputTYPE="text"size=6maxlength=3NAME=signalCodeVALUE="代碼"></font></p>

      </center></div><p></p>

      <inputLANGUAGE="javascript"TYPE="submit"VALUE=“確認(rèn)”NAME="B1"

      <inputTYPE="reset"VALUE=“清除”NAME="B2">

      <inputLANGUAGE="javascript"TYPE="button"NAME="B3"VALUE=“返回”

      ONCLICK="window.history.back()">

      </font></p>

      </center></div>

      </form>

      </body>

      </html>

      數(shù)據(jù)庫處理程序shotquery.asp

      <!--#includevirtual="/master/lib.inc"-->

      <scriptlanguage=javascriptrunat=server>

      varsignalCode=Request.Form("signalCode");

      dbConn=Server.CreateObject("ADODB.Connection");

      dbConn.open("DSN=HT;UID=client;PWD=passwd");

      rs=Server.CreateObject("ADODB.RecordSet");

      varsqlStr="select*fromsignaltaborderbycode";

      rs.open(sqlStr,dbConn,1);

      if(rs.RecordCount<1){

      Response.write("<p>無符合條件記錄</p>");

      Response.write("<p><form><inputtype=''''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(vari=1;i<=rs.Pagesize;i++){

      if(!rs.Eof){

      Response.write("<td><spanstyle=''''font-size:9t''''>"+rs("code")+"</span></td>");

      Response.write("<td><spanstyle=''''font-size:9t''''>"+rs("class")+"</span></td>");

      Response.write("<td><spanstyle=''''font-size:9t''''>"+rs("memo")+"</span></td>");

      Response.write("</tr>");

      rs.MoveNext();

      }

      elsebreak;

      }

      Response.write("</table></form>");

      rs.close();

      dbConn.close();

      }

      </script>

      文檔上傳者
      国产片在线一区二区三区| 国产成人久久精品区一区二区| 国产久视频| 国产av麻豆精品第一页| 天堂资源中文网| 国产综合无码一区二区色蜜蜜| 亚洲片一区二区三区| 人妻熟女妇av北条麻记三级| 亚洲成人福利在线视频| 欧美成人片在线观看| 手机看片福利日韩| 手机在线免费看av网站| 中文字幕一区二区中出后入| 国语对白嫖老妇胖老太| 四虎在线播放免费永久视频| 国产精品国产三级厂七| 日韩乱码中文字幕在线| 中文亚洲欧美日韩无线码| 加勒比无码专区中文字幕| 亚洲日本精品一区二区三区| 伊人中文字幕亚洲精品乱码| 中文无码一区二区不卡αv| 无码一区久久久久久久绯色AV| 亚洲av网站在线免费观看| 久久影院午夜理论片无码| 欧美人与动牲交a欧美精品| 久久熟女五十路| 国产麻豆一区二区三区在| 天天碰免费上传视频| 成年视频国产免费观看| 亚洲精品久久无码av片软件| 久久久久亚洲AV片无码乐播| 国产精品久久婷婷免费观看| 人妻少妇精品视频专区| 国产AV边打电话边出轨| 国产精品不卡免费版在线观看| 狠狠色噜噜狠狠狠狠97首创麻豆| 日本边添边摸边做边爱的网站| 国产av无码专区亚洲草草| 开心激情视频亚洲老熟女| 大肉大捧一进一出好爽视频|