• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談ASP技術(shù)在WEB開發(fā)中的應(yīng)用

      2009-12-31 07:24金 晶
      職業(yè)·中旬 2009年11期
      關(guān)鍵詞:服務(wù)器端實(shí)例名稱

      金 晶

      WWW是目前Internet上發(fā)展最快的領(lǐng)域,也是Inernet網(wǎng)上最重要的信息檢索手段。早期的WEB頁(yè)面主要是用來傳遞靜態(tài)的HTML文檔,后來由于CGI接口、VBScript和JavaScript語(yǔ)言的引入,特別是近幾年發(fā)展起來的ASP技術(shù),使得WEB頁(yè)面可以方便傳播動(dòng)態(tài)信息。借助ASP技術(shù),可以設(shè)計(jì)出具有聲音、動(dòng)畫、圖形、圖像和各種特殊效果的WEB頁(yè)面,以及方便的訪問數(shù)據(jù)庫(kù)。

      一、ASP技術(shù)

      1.ASP工作原理

      ASP,是Active Server Pages的縮寫,即“服務(wù)器端動(dòng)態(tài)網(wǎng)頁(yè)”。它是基于WEB的一種編程技術(shù),能夠把HTML文件、腳本命令以及COM組件組合在一起,形成一個(gè)能夠在服務(wù)器端運(yùn)行的動(dòng)態(tài)WEB應(yīng)用程序,并能夠按照用戶的要求制作出標(biāo)準(zhǔn)的HTML頁(yè)面?zhèn)鬟f給客戶端瀏覽器。

      有了ASP,就不必?fù)?dān)心用戶的瀏覽器是否能夠讀懂動(dòng)態(tài)網(wǎng)頁(yè)中所編寫的代碼,因?yàn)樗械某绦蚨荚诜?wù)器端執(zhí)行。當(dāng)程序執(zhí)行完畢后,服務(wù)器端執(zhí)行的結(jié)果返回給客戶端瀏覽器,這樣就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。

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

      目前,ASP可運(yùn)行在以下三種環(huán)境:Windows NT(2000 Server)+IIS4.0(Internet Information Server)以上;Windows NT workstation +Peer Web Server;Windows95/98+PWS(Personal Web Server)。

      3.ASP文件的建立

      ASP的程序代碼簡(jiǎn)單、通用,文件名由.asp結(jié)尾,通常由四個(gè)部分構(gòu)成:標(biāo)準(zhǔn)的HTML標(biāo)記;ASP語(yǔ)法命令:位于<%%>之間;服務(wù)器端的include語(yǔ)句;腳本語(yǔ)言。

      4.ASP的內(nèi)置對(duì)象

      在面向?qū)ο缶幊讨?對(duì)象是具有屬性(數(shù)據(jù))和方法(行為方式)的實(shí)體。ASP中提供了六個(gè)內(nèi)置對(duì)象供用戶直接調(diào)用,它們分別是:Application對(duì)象,控制服務(wù)器端應(yīng)用程序的啟動(dòng)和終止?fàn)顟B(tài),并保存整個(gè)應(yīng)用程序過程中的信息;Request對(duì)象,從用戶端獲取信息傳遞給服務(wù)器,它是ASP讀取用戶輸入的主要方法;Response對(duì)象,服務(wù)器將輸出的內(nèi)容發(fā)送到客戶端;Server對(duì)象,提供服務(wù)器的方法和屬性;Session對(duì)象,存儲(chǔ)特定的用戶會(huì)話所需的信息;Object Context對(duì)象,配合服務(wù)器進(jìn)行分布事務(wù)處理。

      二、ASP中的數(shù)據(jù)庫(kù)訪問

      在ASP中,利用ADO(ActiveX Data Objects)可以方便地訪問數(shù)據(jù)庫(kù),很好地對(duì)數(shù)據(jù)庫(kù)進(jìn)行處理。筆者通過一個(gè)實(shí)例,具體闡述ASP利用ADO訪問數(shù)據(jù)庫(kù)的過程。在該實(shí)例中,用戶希望通過網(wǎng)頁(yè)能夠訪問服務(wù)器中的teacher數(shù)據(jù)庫(kù)中的Information數(shù)據(jù)表,然后將該表中的所有數(shù)據(jù)顯示在返回表格中,具體步驟如下:

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

      在WEB服務(wù)器上,打開“控制面板”,選中“ODBC”,在“系統(tǒng)DSN”下選“添加”,選定數(shù)據(jù)庫(kù)種類、名稱、位置等。該實(shí)例數(shù)據(jù)庫(kù)種類是“SQL Server”,名稱是teacher。

      2.創(chuàng)建ADO的對(duì)象

      ASP技術(shù)中的ADO對(duì)象組件作為用戶快速訪問數(shù)據(jù)庫(kù)的最簡(jiǎn)便方式,只要使用ADO中的兩個(gè)最基本的對(duì)象Connection和Recordset對(duì)象,就能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問。具體來說,Connection對(duì)象的功能是建立和特定數(shù)據(jù)庫(kù)的連接,而Recordset對(duì)象的功能則是取得從該數(shù)據(jù)庫(kù)中返回的查詢數(shù)據(jù)。首先,應(yīng)為Connection和Recordset對(duì)象創(chuàng)建各自的對(duì)象實(shí)例:

      <%SetConn=Server.CreateObject(”ADODB.Connection”)%>

      <%SetRS=Server.CreateObject(”ADODB.Recordset”)%>

      其中,RS和Conn分別是對(duì)象實(shí)例名稱,用戶可以自行定義。這樣就成功地創(chuàng)建了兩個(gè)空的Connection和Recordset對(duì)象。

      3.建立與數(shù)據(jù)庫(kù)的連接

      使用Connection對(duì)象的Open方法建立與特定數(shù)據(jù)庫(kù)的連接,Connection對(duì)象的Open方法有3個(gè)參數(shù)選項(xiàng),分別為目標(biāo)數(shù)據(jù)庫(kù)的名稱、登錄用戶名和口令,語(yǔ)法為ConnOpenConnectionString,UserID,Password。其中,ConnectionString參數(shù)表示與數(shù)據(jù)源建立的相關(guān)信息,如果用戶已經(jīng)成功建立了該數(shù)據(jù)庫(kù)的DNS,就可以直接的使用該DNS。另外兩個(gè)參數(shù)登錄用戶名和口令為可選項(xiàng),如果用戶在建立數(shù)據(jù)連接的DNS時(shí)已經(jīng)設(shè)定了登錄用戶名和口令,就可以省略這兩個(gè)參數(shù)項(xiàng)。在此,用戶使用Connection對(duì)象的Open方法與teacher數(shù)據(jù)庫(kù)建立連接,具體形式為<% Conn.Open “teacher”%>。

      4.使用Recrodset對(duì)象獲取數(shù)據(jù)

      用戶希望取得teacher數(shù)據(jù)庫(kù)中Information數(shù)據(jù)表中的所有數(shù)據(jù),因此使用最簡(jiǎn)單的“Select * From Information”即可。為了使代碼更直觀,容易修改和維護(hù),建議用戶將上述的SQL語(yǔ)句用某個(gè)變量代替。具體為

      <% SQL=”Select * From Information”%>

      其中,SQL為變量名,用戶可以自行定義,然后使用Connection對(duì)象中的Execute方法執(zhí)行該SQL語(yǔ)句,并將結(jié)果輸入到Recordset對(duì)象中,具體為:

      <% SetRS=Conn.Execute(SQL)%>

      至此,ADO從數(shù)據(jù)庫(kù)中查詢到的所有數(shù)據(jù)被保存到Recordset對(duì)象中。

      5.檢驗(yàn)Recordset對(duì)象是否為空

      在對(duì)Recordset對(duì)象中的數(shù)據(jù)進(jìn)行進(jìn)一步處理之前,建議用戶最好驗(yàn)證一下是否確實(shí)將查詢結(jié)果數(shù)據(jù)保存到了Recordset對(duì)象中。用戶可以使用Recordset對(duì)象的BOF和EOF屬性實(shí)現(xiàn)驗(yàn)證功能。BOF如果為真則代表數(shù)據(jù)指正位于首行數(shù)據(jù)之前,如果EOF為真則代表為數(shù)據(jù)指正位于末行數(shù)據(jù)之后,如果兩者皆為真,則說明Recordset對(duì)象為空。具體代碼為:

      <% if (RS.EOF and RS.BOF) then

      response.write “NO records found”

      end if %>

      6.處理Recordset對(duì)象數(shù)據(jù)

      在驗(yàn)證Recordset對(duì)象中確實(shí)含有查詢返回?cái)?shù)據(jù)之后,用戶就可以按照自己的需要對(duì)數(shù)據(jù)進(jìn)行響應(yīng)的處理。通常較為常用的Recordset命令為:

      Recordset.Fields.Count:Recordset對(duì)象的列數(shù);

      Recordset(I).Name:第I列名稱,I由0到Recordset.Fields.Count-1;

      Recordset(I)第I列數(shù)據(jù),I由0到Recordset.Fields.Count-1;

      Recordset(“列名稱”):讀取指定列的數(shù)據(jù);

      Recordset.MoveNext:數(shù)據(jù)指針下移一行;

      Recordset.MovePrev:數(shù)據(jù)指針上移一行;

      Recordset.MoveFirst:數(shù)據(jù)指針移到第一行;

      Recrodset.MoveLast:數(shù)據(jù)指針移到最末一行。

      接下來的問題是如何將Recordset對(duì)象中的數(shù)據(jù)顯示出來。如果用戶希望以表格的形式顯示數(shù)據(jù),則首先需要ASP頁(yè)面中建立表格標(biāo)簽:

      ,然后用戶需要將表中第一行的各列數(shù)據(jù)名稱顯示出來。在此用戶通過Recordset(I).Name命令實(shí)現(xiàn):

      <% FOR I=0 to RS.Fields.Count-1 %>

      <% Next %>

      在設(shè)定了首行各列名稱之后,用戶就可以依次把相應(yīng)的數(shù)據(jù)填充到表格當(dāng)中。

      <% DoWhileNot RS.EOF %>

      <%FOR I=0 to RS.Fields.Count-1 %>

      <% RS.MoveNext %>

      <% Loop %>

      7.正確關(guān)閉對(duì)象

      在完成對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的查詢和輸出之后,用戶一定不要忘記關(guān)閉打開的對(duì)象。關(guān)閉已打開的對(duì)象,不僅能夠釋放更多的服務(wù)器資源,而且可以斷開與數(shù)據(jù)庫(kù)已建立的連接,從而有效地增強(qiáng)服務(wù)器和數(shù)據(jù)庫(kù)對(duì)多用戶的支持。用戶可以使用對(duì)象的Close方法關(guān)閉對(duì)象,將其從內(nèi)存中清除:

      <%RS.Close%>

      <%Conn.Close%>

      (作者單位:江蘇省淮安技師學(xué)院)

      <% =RS(I).Name %>

      <% =RS(I)%>

      猜你喜歡
      服務(wù)器端實(shí)例名稱
      Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      基于Qt的安全即時(shí)通訊軟件服務(wù)器端設(shè)計(jì)
      滬港通一周成交概況
      滬港通一周成交概況
      滬港通一周成交概況
      滬港通一周成交概況
      完形填空Ⅱ
      完形填空Ⅰ
      網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
      黄龙县| 海伦市| 静海县| 崇仁县| 亚东县| 苗栗市| 铜川市| 霍邱县| 麻城市| 芒康县| 奉贤区| 天津市| 阿巴嘎旗| 辽中县| 阿拉尔市| 鹤山市| 阳山县| 平顶山市| 五台县| 浠水县| 巴塘县| 武山县| 连南| 九江市| 上虞市| 隆安县| 昌宁县| 聂拉木县| 临洮县| 拉孜县| 时尚| 湘阴县| 临沧市| 瑞金市| 拜泉县| 扬中市| 安宁市| 航空| 苗栗市| 山丹县| 怀来县|