国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>計(jì)算機(jī)論文>ASP技術(shù)訪問(wèn)WEB數(shù)據(jù)庫(kù) 2

ASP技術(shù)訪問(wèn)WEB數(shù)據(jù)庫(kù) 2

時(shí)間:2022-08-06 10:35:29 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

ASP技術(shù)訪問(wèn)WEB數(shù)據(jù)庫(kù) 2

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

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

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

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

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

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

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

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

4. JAVA/JDBC語(yǔ)言編程

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

5. 動(dòng)態(tài)服務(wù)器頁(yè)面ASP(Active Server Page)

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

二. ASP簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

1) WINDOWS NT server 4.0運(yùn)行IIS 3.0(Internet Information Server)以上。

2) WINDOWS NT workstation 4.0運(yùn)行Peer Web Server 3.0以上。

3) WINDOWS 95/98運(yùn)行PWS(Personal Web Server)。

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

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

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

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

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

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

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

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

6) Object Context對(duì)象:IIS 4.0新增的對(duì)象,用來(lái)進(jìn)行事務(wù)處理。此項(xiàng)功能需得到MTS(Microsoft Transcation Server)管理的支持。

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

1) Ad Rotator組件:用來(lái)按指定計(jì)劃在同一頁(yè)上自動(dòng)輪換顯示廣告,用于WWW上日益重要的廣告服務(wù)。

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

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

4) File Access組件:提供對(duì)服務(wù)器端文件的讀寫(xiě)功能。

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

此外,還可安裝Myinfo、Counters、Content Rotator、Page Count等組件,用戶也可自行編制Actii

ve組件,以提高系統(tǒng)的實(shí)用性。

6. Database Access組件ADO

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

ADO組件主要提供了以下七個(gè)對(duì)象和四個(gè)集合來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。

1) Connection對(duì)象:建立與后臺(tái)數(shù)據(jù)庫(kù)的連接。

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

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

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

5) Field對(duì)象和Field集合:提供對(duì)RecordSet中當(dāng)前記錄的各個(gè)字段進(jìn)行訪問(wèn)的功能。

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

7) Error對(duì)象和Errors集合:提供訪問(wèn)數(shù)據(jù)庫(kù)時(shí)的錯(cuò)誤信息。

三. ASP訪問(wèn)數(shù)據(jù)庫(kù)步驟

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

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

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

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

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

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

conn.Open(“HT”)

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

連接數(shù)據(jù)庫(kù)后,可對(duì)數(shù)據(jù)庫(kù)操作,如查詢,修改,刪除等,這些都是通過(guò)SQL指令來(lái)完成的,如要在數(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ù)的游標(biāo),游標(biāo)就是儲(chǔ)存在內(nèi)存中的數(shù)據(jù)。

rs = Server.CreateObject(“ADODB.RecordSet”)
rs.Open(sqlStr,conn,1,A)
注:A=1讀取
A=3 新增、修改、刪除
在RecordSet組件中,常用的屬性和方法有:
rs.Fields.Count: RecordSet對(duì)象的字段數(shù)。
rs(i).Name: 第i個(gè)字段的名稱,i為0至rs.Fields.Count-1
rs(i): 第i個(gè)字段的數(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的屬性個(gè)數(shù)。
rs.Properties(item).Name:ADO的ResultSet或Connection的名稱。
rs.Properties: ADO的ResultSet或Connection的值。
rs.close(): 關(guān)閉連接。

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

conn.close()

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

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

屏幕輸入頁(yè)面input.asp

<% @ language=javascript %>
<html>
<head>
<title>請(qǐng)輸入查詢條件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=“確認(rèn)” 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ù)庫(kù)處理程序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> 無(wú)符合條件記錄</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ù)訪問(wèn)WEB數(shù)據(jù)庫(kù) 2】相關(guān)文章:

ASP制作學(xué)生檔案管理系統(tǒng) 204-12

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

ASP.NET的網(wǎng)站新聞管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 204-12

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

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

訪問(wèn)記作文06-03

web前端自我介紹06-28

asp網(wǎng)站設(shè)計(jì)參考文獻(xiàn)08-19

畢業(yè)論文開(kāi)題報(bào)告-ASP08-11

技術(shù)述職報(bào)告2篇06-08