?? asp14.htm
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft FrontPage 4.0">
<TITLE>ASP教程:常用的 ASP ActiveX組件</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
<link rel="stylesheet" href="../../cpcw.css"></HEAD>
<BODY LINK="#0000ff" VLINK="#800080" background="../bg.gif">
<table width="640" border="0" align="center">
<tr bgcolor="#FFFFFF">
<td>
<p align="CENTER"><font color="#FF3333" class="title"><b>ASP教程:常用的 ASP ActiveX
組件</b></font></p>
<p align="right"><b>作者:<font color="#FF3333"><a href="mailto:shusheng@pchome.net">書生</a></font></b></p>
<p align="JUSTIFY"></p>
<hr width="600">
當(dāng)你用 ASP 編寫服務(wù)器端應(yīng)用程序時,必須依靠 ActiveX 組件來強(qiáng)大 Web
應(yīng)用程序的功能,<br>
譬如:你需要連接數(shù)據(jù)庫,對數(shù)據(jù)庫進(jìn)行在線操作等等,繼上篇介紹了
AD Rotator 組件后,本<br>
篇將接著給大家介紹其它一些常用的 ASP ActiveX 組件的使用方法。<br>
<br>
最近仍有不少朋友來信問我, ASP 是否只能在 Microsoft IIS 上運行,是否可以在非 NT <br>
平臺上運作?本來這個問題我已經(jīng)回答過很多遍了
: 我只是聽說過有某種可以支持的軟件,卻<br>
從沒見過。但一些熱情的朋友仍然孜孜不倦地來信詢問,于是在朋友們的盛情之下,我訪遍了 <br>
ASP 相關(guān)站點,竟驚奇的發(fā)現(xiàn),原來
ASP 的確是可以運行在其它非 NT 平臺上的,因此在本篇的<br>
開頭,我就給來信的朋友們簡要介紹一下如何在非 NT 平臺上使用 ASP。<br>
<br>
要在非 NT 平臺上開發(fā)并運行 ASP 應(yīng)用程序我們可以依賴于一套名為 Instant ASP
的第三方<br>
軟件,它的廣告標(biāo)語非常吸引人“ASP
Anytime, Anywhere”,我想所有 ASP 的開發(fā)者們看到如此<br>
的標(biāo)語必然興奮不已。這套由 Halcyon 軟件公司開發(fā)的軟件使得你無需重復(fù)開發(fā)原有
ASP 應(yīng)用程序<br>
即可以將它運行在任何操作平臺上 ! 這樣非但節(jié)省了大量的開發(fā)時間,而且使得 ASP
真正成為了<br>
一種跨平臺的 Internet、
Intranet 或 Extranet 應(yīng)用程序。 Instant ASP 本身其實是一套基于<br>
Java 的應(yīng)用程序,因此通過它你可以將基于 WEB
的 ASP 應(yīng)用程序運行在任何平臺上,下表列出了<br>
Instant ASP 目前版本所支持的操作平臺。 <br>
<br>
<img src="images/aspws.gif" alt="aspws.gif (6431 bytes)" width="506" height="344">
<br>
<br>
更令人吃驚的是 Instant ASP 不僅提供了 ASP 的運作環(huán)境,而且它較目前市場上的 ASP
應(yīng)用<br>
還提供了更為強(qiáng)大和實用的功能,它將
ActiveX 組件和 Enterprise Java Beans 或者 CORBA-compliant<br>
objects 組合起來,從而使 ASP
有了更為廣泛的應(yīng)用。它同樣提供了通過 ADO
接口訪問連接各種<br>
數(shù)據(jù)庫,并生成動態(tài)頁面的強(qiáng)大功能。對于開發(fā)者而言可以使用自己擅長的編程語言或工具如
:<br>
Visual Basic, JScript, VBScript, C++, Java, HTML, Delphi , MS Visual InterDev
等等來<br>
進(jìn)行開發(fā)。關(guān)于 Instant ASP
具體安裝和操作我就不在這里展開了,有興趣的朋友可以到它的站點上<br>
去看看 halcyonsoft.com,你還可以免費下載一個試用版試試。
<p> 繼上一篇中作者給大家介紹了 AD Rotator
組件的使用方法后,今天我們接著來看看其它的<br>
一些 ASP 常用組件。 </p>
<p> 一、 Database Access 組件 </p>
我們在 WEB 服務(wù)器上運用 WEB
應(yīng)用程序進(jìn)行的最常見和最實用的任務(wù)就是訪問服務(wù)器端的<br>
數(shù)據(jù)庫。而 ASP 內(nèi)建的 Database Access
組件使得我們能夠輕而易舉地通過 ActiveX Data <br>
Objects (ADO) 訪問存儲在服務(wù)器端的數(shù)據(jù)庫或其他表格化數(shù)據(jù)結(jié)構(gòu)中的信息。
ADO 是對當(dāng)前微軟<br>
所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法,它是一種功能強(qiáng)大的數(shù)據(jù)訪問編程模式,<br>
從而使得大部分?jǐn)?shù)據(jù)源可編程的屬性得以直接擴(kuò)展到你的
Active Server 頁面上。可以使用 ADO 去<br>
編寫緊湊簡明的腳本以便連接到 Open Database Connectivity (ODBC)
兼容的數(shù)據(jù)庫和 OLE DB <br>
兼容的數(shù)據(jù)源,這樣 ASP 程序員就可以訪問任何與 ODBC 兼容的數(shù)據(jù)庫,包括 MS SQL SERVER、<br>
Access、
Oracle 等等。如果您是一個對數(shù)據(jù)庫連接有一定了解的腳本編寫人員,那么您將發(fā)現(xiàn)<br>
ADO
命令語句并不復(fù)雜而且容易掌握。同樣地,如果您是一個經(jīng)驗豐富的數(shù)據(jù)庫編程人員,您將<br>
會正確認(rèn)識
ADO 的先進(jìn)的與語言無關(guān)性和查詢處理功能。熟悉 VB 數(shù)據(jù)庫編程的朋友會發(fā)現(xiàn) ADO <br>
與 RDO (Remote Data Objects)
有某種類似的地方。但據(jù)說 ADO 的訪問的速度更快,內(nèi)存需要更小。
<p> 下面給大家簡要介紹一下利用 ASP 的 Database Access 組件通過 ADO 連接并操作 WEB 數(shù)據(jù)庫的步驟 </p>
<p> 第一步 : 指定想要連接的數(shù)據(jù)庫,有 DSN 和 DSN-less 兩種方法。 </p>
<p> DSN(Data Source Name 數(shù)據(jù)源名稱 ): 建立一個系統(tǒng)數(shù)據(jù)源名稱,方法如下 : </p>
<p> 1、單擊“開始”,選設(shè)置控制面板。 </p>
<p> 2、雙擊圖標(biāo)“32 位 ODBC” , 將彈出一個對話框,選標(biāo)簽“System DSN” </p>
<p> 3、單擊“Add”添加一個 DSN 入口 , 選擇如“Microsoft Access Drive”并確認(rèn)。 </p>
<p> 4、在“Data Source Name”欄里輸入你希望指定的 DSN, 然后單擊“Select”選擇數(shù)據(jù)庫<br>
存放位置,你可以按“Browse”來選取。
</p>
<p> 5、以上步驟完成后在 ASP 程序中指定 DSN,如下 : </p>
<p> < %connstr = "DSN"%> </p>
DSN-less: 是另一種通過在 ASP 文件里直接指定數(shù)據(jù)庫文件所在位置,而無需建立 DSN
的<br>
方法。由于許多公司沒有自己的 WEB
服務(wù)器,他們的網(wǎng)站往往是存放在遠(yuǎn)端的虛擬服務(wù)器上,因此<br>
要建立和修改
DSN 的設(shè)置比較麻煩。而使用 DSN-less
方法直接指定遠(yuǎn)端數(shù)據(jù)庫所在位置恰恰解決了<br>
這一問題,方法如下 :<br>
<br>
< %<br>
connstr = "DBQ="+server.mappath("database/source.mdb")+";DefaultDir=;DRIVER={Microsoft
Access Driver (*.mdb)};DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"<br>
%><br>
<br>
<p> 在指定了想要連接的數(shù)據(jù)庫后,就可以通過以下方法連接并打開數(shù)據(jù)庫 : </p>
<p>< %<br>
Set Conn = Server.CreateObject("ADODB.Connection")Conn.Open
constr<br>
%><br>
<br>
</p>
<p> 第二步 : 指定想要執(zhí)行的 SQL 指令,可以使用 RecordSet。 </p>
<p> 當(dāng)連接了數(shù)據(jù)庫后就可以對數(shù)據(jù)庫進(jìn)行操作,比如查詢、刪除、更新等等,這些操作都是通過<br>
SQL 指令來完成的,如下例在數(shù)據(jù)庫表 datebase
中查詢所有姓名中有“A”的記錄 : </p>
<p>< %<br>
sql="select * from datebase where name like 'A%%'"<br>
Set rs = Conn.Execute(sql)<br>
%><br>
<br>
</p>
盡管 Connection 對象簡化了連接數(shù)據(jù)庫和查詢?nèi)蝿?wù),但 Connection
對象仍有許多不足。<br>
確切地說,檢索和顯示數(shù)據(jù)庫信息的 Connection
對象不能用于創(chuàng)建腳本,您必須確切知道要對<br>
數(shù)據(jù)庫作出的更改,然后才能使用查詢實現(xiàn)更改。對于檢索數(shù)據(jù)、檢查結(jié)果、更改數(shù)據(jù)庫, ADO <br>
提供了 Recordset
對象。正如它的名稱所暗示的那樣, Recordset
對象有許多您可以使用的特性,<br>
根據(jù)您的查詢限制,檢索并且顯示一組數(shù)據(jù)庫行,即記錄。 Recordset
對象保持查詢返回的記錄的<br>
位置,允許您一次一項逐步掃描結(jié)果。根據(jù) Recordset
對象的指針類型屬性設(shè)置,您可以滾動和更新<br>
記錄。數(shù)據(jù)庫指針可以讓您在一組記錄中定位到特定的項。指針還用于檢索和檢查記錄,然后在這些<br>
記錄的基礎(chǔ)上執(zhí)行操作。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -