相關(guān)資訊
- 《戰(zhàn)國(guó)無(wú)雙4-2》怎么換服裝?戰(zhàn)國(guó)無(wú)
- 關(guān)于責(zé)任的名言警句大全
- 《戰(zhàn)國(guó)無(wú)雙4-2》PC版如何聯(lián)機(jī)? 戰(zhàn)
- 戰(zhàn)國(guó)無(wú)雙4-2技能覺(jué)醒牛逼嗎 全新
- 《戰(zhàn)國(guó)無(wú)雙4-2》手柄無(wú)效怎么解決
- 戰(zhàn)國(guó)無(wú)雙4-2如何設(shè)置語(yǔ)言 戰(zhàn)國(guó)無(wú)雙
- 戰(zhàn)國(guó)無(wú)雙4-2怎么樣跳過(guò)進(jìn)入開(kāi)場(chǎng)動(dòng)畫(huà)
- 什么是應(yīng)屆生畢業(yè)生
- 應(yīng)屆生簡(jiǎn)歷自我評(píng)價(jià)
- 應(yīng)屆生簡(jiǎn)歷怎么寫(xiě)
本類(lèi)常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶(hù)端下載下載量:584204
-
Windows優(yōu)化大師下載量:416896
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶(hù)端下載下載量:365699
-
快播手機(jī)版下載量:325855
在個(gè)人主頁(yè)中運(yùn)用ASP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)
本文將簡(jiǎn)單介紹到個(gè)人主頁(yè)的數(shù)據(jù)庫(kù)ASP解決方案,教你如何在個(gè)人主頁(yè)中運(yùn)用ASP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)。希望對(duì)大家有用。
如今,CGI日漸衰落,ASP大行其道,大有取而代之之勢(shì)。對(duì)個(gè)人主頁(yè)制作者而言,CGI也確實(shí)太復(fù)雜了,尤其是在數(shù)據(jù)庫(kù)的操作上,繁復(fù)無(wú)比讓人望而生畏。相較而言, ASP則簡(jiǎn)單得多。其面向?qū)ο蟮乃枷,將?fù)雜的底層操作掩蓋,只留下簡(jiǎn)單的調(diào)用接口。對(duì)數(shù)據(jù)庫(kù)的操作更是將它的優(yōu)點(diǎn)體現(xiàn)得淋漓盡致。
1.在ASP中查詢(xún)access 數(shù)據(jù)庫(kù)
ASP能讓我們用簡(jiǎn)單的方法在網(wǎng)頁(yè)中查詢(xún)、更新數(shù)據(jù)庫(kù)。下面將給出的例子用的是MS ACCESS DATABASE,但是其操作的原理卻可同樣地運(yùn)用在任何支持ODBC的數(shù)據(jù)庫(kù)上。(之所以選擇ACCESS,是因?yàn)樗菀撞僮鳎冶粡V泛使用,對(duì)大多數(shù)的中小型項(xiàng)目而言,ACCESS無(wú)疑是最好的選擇。)
先用ACCESS建立一個(gè)數(shù)據(jù)表如下:
用戶(hù)編號(hào) | 姓名 | 城市 | 電話(huà)號(hào)碼 |
1 | 張三 | 武漢 | 027-84713858 |
2 | 李四 | 北京 | 010-99581426 |
3 | 王五 | 上海 | 021-85541253 |
再請(qǐng)看下面的一段例子:
<%
SET DBCONNECTION=SERVER.CREATEOBJECT(“ADODB.CONNECTION”)
DBCONNECTION.OPEN “DSNNAME”
SQLQUERY=“SELECT * FROM CUSTOMERS”
SET RECUSTIONMERLIST=DBCONNECTION.EXECUTE(SQLQUERY)
%>
< CENTER>
< TABLE BORDER=1>
< % DO WHILE NOT RECUSTOMERLIST.EOF %>
< TR>
< TD><%=RECUSTOMERLIST(“客戶(hù)編號(hào)”)%>< /TD>
< TD><%=RECUSTOMERLIST(“姓名”)%>< /TD>
< TD><%=RECUSTOMERLIST(“城市”)%>< /TD>
< TD><%=RECUSTOMERLIST(“電話(huà)號(hào)碼”)%>< /TD>
< /TR>
< % RECUSTOMERLIST.MOVNEXT LOOP %>
< /TABLE>
< /CENTER>
可以看到,ASP的語(yǔ)法是VBSCRIPT,其面向?qū)ο蟮乃枷胍才cVB相類(lèi)似,所以,只要您初通VB或者VBSCRIPT,那ASP可以很容易地上手。
上面的一部分可以說(shuō)是ASP中ADO的精髓所在,下面我們討論一下代碼的內(nèi)容<%和%>是ASP代碼的開(kāi)始和結(jié)束標(biāo)志。服務(wù)器在返回用戶(hù)請(qǐng)求時(shí),先將<%和%>中的內(nèi)容解釋成為標(biāo)準(zhǔn)的html代碼,再將它發(fā)送到客戶(hù)瀏覽器。存取數(shù)據(jù)庫(kù)時(shí),首先要建立連接,也就是聲明一個(gè)CONNECTION類(lèi)的實(shí)例(對(duì)象),然后運(yùn)用CONNECTION類(lèi)的OPEN方法,將連接對(duì)象連接到一個(gè)ODBC數(shù)據(jù)源上,在上例中就是DSNNAME,這是一個(gè)DSN。至于什么是DSN,后面將有介紹,在此先按下不表。到此,數(shù)據(jù)庫(kù)的連接就已經(jīng)完成了,下面要進(jìn)行的是數(shù)據(jù)庫(kù)的操作。
操作也是很簡(jiǎn)單的,先定義一個(gè)SQL語(yǔ)句字串,然后調(diào)用CONNECTION的EXECUTE方法執(zhí)行,執(zhí)行的結(jié)果儲(chǔ)存在一個(gè)RECORDSET類(lèi)(可以看成是一個(gè)臨時(shí)存放數(shù)據(jù)的表)的對(duì)象中,在上例中是RECUSTOMERLIST。這樣,數(shù)據(jù)庫(kù)的查詢(xún)調(diào)用也就完成了,再只需將它輸出即可。
在DO WHILE ...LOOP的循環(huán)中輸出時(shí),調(diào)用ASP中RESPOND對(duì)象的WRITE方法,一般可以簡(jiǎn)寫(xiě)為“=”。而語(yǔ)句RECUSTOMERLIST(字段名)返回的是當(dāng)前紀(jì)錄對(duì)應(yīng)字段的值。最后調(diào)用的是RECORDSET類(lèi)的MOVENEXT方法,將紀(jì)錄指針移到下一個(gè)紀(jì)錄,反復(fù)執(zhí)行,直到RECUSTOMERLIST的EOF(文件尾)為真。這樣,就將返回的查詢(xún)結(jié)果輸出了。
上面所講的只是一點(diǎn)ASP數(shù)據(jù)存取的基本知識(shí),但我們已可略窺ASP強(qiáng)大的功能。
2.現(xiàn)在我們可以通過(guò)ASP來(lái)存取數(shù)據(jù)庫(kù),實(shí)現(xiàn)動(dòng)態(tài)效果。但還有一個(gè)問(wèn)題:現(xiàn)在提供ASP支持的個(gè)人免費(fèi)網(wǎng)頁(yè),大多數(shù)并不提供數(shù)據(jù)庫(kù)的支持。也就是說(shuō),你無(wú)法在它的數(shù)據(jù)庫(kù)系統(tǒng)中建立并擁有自己的數(shù)據(jù)庫(kù)。若用本地?cái)?shù)據(jù)庫(kù),你也無(wú)法配置服務(wù)器主機(jī)中的ODBC,無(wú)法得到你本地?cái)?shù)據(jù)庫(kù)的DSN,也就不能通過(guò)ASP來(lái)存取數(shù)據(jù)庫(kù)了。怎么解決這個(gè)問(wèn)題呢?下面的討論將給出一個(gè)簡(jiǎn)單的方法,那就是FILE DSN。
首先解釋幾個(gè)名詞
DSN:根據(jù)microsoft的官方文檔,DSN的意思是“應(yīng)用程序用以請(qǐng)求一個(gè)連到ODBC數(shù)據(jù)源的連接(CONNECTION)的名字”,換句話(huà)說(shuō),它是一個(gè)代表ODBC連接的符號(hào)。它隱藏了諸如數(shù)據(jù)庫(kù)文件名、所在目錄、數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序、用戶(hù)ID、密碼等細(xì)節(jié)。因此,當(dāng)建立一個(gè)連接時(shí),你不用去考慮數(shù)據(jù)庫(kù)文件名、它在哪兒等等,只要給出它在ODBC中的DSN即可。
FILE DSN: 當(dāng)我們討論這個(gè)問(wèn)題時(shí),先看看其他的DSN類(lèi)型
SYSTEM DSN:這種DSN可以被任何登錄到系統(tǒng)中的用戶(hù)使用。
USER DSN:這是為特定用戶(hù)建立的DSN。只有建立這個(gè)DSN的用戶(hù)才能看到并使用它。在上面的兩種情況中,DSN的細(xì)節(jié)都儲(chǔ)存在系統(tǒng)的注冊(cè)表中。
知道了上面的預(yù)備知識(shí)后,讓我們來(lái)看看什么是FILE DSN。FILE DSN 將DSN的細(xì)節(jié)內(nèi)容存貯在一個(gè)文件中,而不是存貯在系統(tǒng)注冊(cè)表中。這個(gè)文件是簡(jiǎn)單的文本文件,用.dsn作為擴(kuò)展名。
雖然這聽(tīng)起來(lái)挺簡(jiǎn)單,但你需要知道那些組成DSN文件的參數(shù)。下面給出一個(gè)簡(jiǎn)單的用來(lái)存取ACCESS的DSN文件,
---- file.dsn ----
[ODBC]
DRIVER=Microsoft ACCESS Driver (*.mdb)
ReadOnly=0
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=512
ImplicitCommitSync=Yes
FIL=MS ACCESS
DriverId=25
將它命名為file.dsn,當(dāng)然,你可根據(jù)你的愿意改名。
建立了這個(gè)文件后,工作已完成了一半。下面的工作是建立一個(gè)連接。當(dāng)用一個(gè)SYSTEM DSN時(shí),建立連接只要簡(jiǎn)單地引用SYSTEM DSN:
conn.open “mydsn”(conn是連接對(duì)象的名字)
當(dāng)應(yīng)用如上的FILS DSN 時(shí),你需要加入更多的參數(shù)來(lái)說(shuō)明。
Conn.open “filedsn=c:\webdir\file.dsn;DBQ=c:\DATABASE\mydb.mdb;UID=admin;PWD=admin;”
C:\webdir是.dsn文件所在的目錄,它需要用文件的物理路徑。你可以用SERVER.MAPPATH方法來(lái)得到。
如Server.MapPath(“/mysite/file.dsn”)。同樣,對(duì)于DBQ參數(shù)也需如此。UID和PWD參數(shù)是可選的。
簡(jiǎn)而概之,要建立一個(gè)可重用的FILE DSN
1)用DSN參數(shù)建立一個(gè)以dsn為擴(kuò)展名的文本文件。
2)用FILEDSN和DBQ參數(shù)建立連接,你可以用SERVER.MPAPATH來(lái)得到物理路徑。
3)只需更改DBQ、UID和PWD參數(shù),就可將這個(gè)FILE DSN用到任何ACCESS數(shù)據(jù)庫(kù)上。
需要注意的是,對(duì)其他非ACCESS類(lèi)型的數(shù)據(jù)庫(kù)需要應(yīng)用不同的參數(shù)值和一些附加的參數(shù)。