9、問題:我有沒有必要在每一個(gè)ASP文件中使用“Option Explicit”?
答:在實(shí)際應(yīng)用中,VBScript變量的概念已經(jīng)模糊了,允許直接使用變量,而不用Dim聲明變量,但這并不是一個(gè)好習(xí)慣,容易造成程序錯(cuò)誤,因?yàn)榭赡苤貜?fù)定義一個(gè)變量。我們可以在程序中使用Option Explicit語句,這樣在使用一個(gè)變量的時(shí)候,必須先聲明它,如果使用了沒有經(jīng)過聲明的變量,運(yùn)行時(shí),程序就會(huì)出錯(cuò)。
實(shí)踐證明,ASP文件中使用“Option Explicit”可以使得程序出錯(cuò)機(jī)會(huì)降到更少,并且會(huì)大大提升整體性能。
10、問題:運(yùn)行ASP文件時(shí)有什么**措施?
答:ASP提供了很好的代碼保護(hù)機(jī)制,所有的ASP代碼都在服務(wù)器端執(zhí)行而只返回給客戶端代碼執(zhí)行結(jié)果。但仍不排除惡意人士對(duì)Web服務(wù)器的刻意破壞,所以在編寫ASP文件時(shí)更要注意**問題。
雖然在ASP中引入文件以inc作為擴(kuò)展名,在這里仍建議以ASP作為引文件的擴(kuò)展名。當(dāng)這些代碼在**機(jī)制不好的Web Server上運(yùn)行時(shí),只需在地址欄上輸入引入文件的地址(inc為擴(kuò)展名),就可以瀏覽該引入文件的內(nèi)容,這是由于在Web Server上,如果沒有定義好解析某類型(比如inc)的動(dòng)態(tài)連接庫時(shí),該文件以源碼方式顯示。
另外,不要把數(shù)據(jù)庫文件放在網(wǎng)站結(jié)構(gòu)內(nèi)部,這樣,當(dāng)惡意人士獲取數(shù)據(jù)庫路徑后,就可以輕易獲取該數(shù)據(jù)庫,進(jìn)而肆意更改數(shù)據(jù)庫內(nèi)容。比較好的做法是,為數(shù)據(jù)庫建立數(shù)據(jù)源名稱DSN(Date Source Name),在DSN中存儲(chǔ)了有關(guān)連接到指定數(shù)據(jù)提供者的信息,包括:“數(shù)據(jù)庫的物理位置,用于訪問數(shù)據(jù)庫的驅(qū)動(dòng)程序的類型,訪問數(shù)據(jù)庫的驅(qū)動(dòng)程序所需要的任何其他參數(shù)”,在進(jìn)行數(shù)據(jù)庫訪問時(shí)可以直接訪問該DSN。
11、問題:評(píng)介Web數(shù)據(jù)庫管理系統(tǒng)時(shí),應(yīng)該考慮哪些問題?
答:在評(píng)價(jià)一個(gè)Web數(shù)據(jù)庫管理系統(tǒng)時(shí),必須考慮到三方面的問題:多用戶問題;所建立的Web數(shù)據(jù)庫應(yīng)該是關(guān)系型的;數(shù)據(jù)庫的**性問題。
12、問題:ADO是什么,它是如何操作數(shù)據(jù)庫的?
答:ADO的全名是ActiveX Data Object(ActiveX數(shù)據(jù)對(duì)象),是一組優(yōu)化的訪問數(shù)據(jù)庫的專用對(duì)象集,它為ASP提供了完整的站點(diǎn)數(shù)據(jù)庫解決方案,它作用在服務(wù)器端,提供含有數(shù)據(jù)庫信息的主頁內(nèi)容,通過執(zhí)行SQL命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點(diǎn)數(shù)據(jù)庫的信息。
ADO主要包括Connection,Recordset和Command三個(gè)對(duì)象, 它們的主要功能如下:
·Connection對(duì)象:負(fù)責(zé)打開或連接數(shù)據(jù)庫文件;
·Recordset對(duì)象:存取數(shù)據(jù)庫的內(nèi)容;
·Command對(duì)象:對(duì)數(shù)據(jù)庫下達(dá)行動(dòng)查詢指令,以及執(zhí)行SQL Server的存儲(chǔ)過程。
13、問題:使用Recordset對(duì)象和Command對(duì)象來訪問數(shù)據(jù)庫的區(qū)別在哪里?
答:Recordset對(duì)象會(huì)要求數(shù)據(jù)庫傳送所有的數(shù)據(jù),那么數(shù)據(jù)量很大的時(shí)候就會(huì)造成網(wǎng)絡(luò)的阻塞和數(shù)據(jù)庫服務(wù)器的負(fù)荷過重,因此整體的執(zhí)行效率會(huì)降低。
利用Command對(duì)象直接調(diào)用SQL語句,所執(zhí)行的操作是在數(shù)據(jù)庫服務(wù)器中進(jìn)行的,顯然會(huì)有很高的執(zhí)行效率。特別是在服務(wù)器端執(zhí)行創(chuàng)建完成的存儲(chǔ)過程,可以降低網(wǎng)絡(luò)流量,另外,由于事先進(jìn)行了語法分析,可以提高整體的執(zhí)行效率。
14、問題:是否必須為每一個(gè)Recordset對(duì)象創(chuàng)建一個(gè)Connection對(duì)象?
答:可以同時(shí)對(duì)不同的Recordset對(duì)象使用相同的Connection對(duì)象,以節(jié)省資源。
15、問題:什么是數(shù)據(jù)庫管理系統(tǒng)(DBMS)?
答:數(shù)據(jù)庫為了保證存儲(chǔ)在其中的數(shù)據(jù)的**和一致,必須有一組軟件來完成相應(yīng)的管理任務(wù),這組軟件就是數(shù)據(jù)庫管理系統(tǒng),簡(jiǎn)稱DBMS,DBMS隨系統(tǒng)的不同而不同,但是一般來說,它應(yīng)該包括以下幾方面的內(nèi)容:
數(shù)據(jù)庫描述功能:定義數(shù)據(jù)庫的全局邏輯結(jié)構(gòu),局部邏輯結(jié)構(gòu)和其他各種數(shù)據(jù)庫對(duì)象;
數(shù)據(jù)庫管理功能:包括系統(tǒng)配置與管理,數(shù)據(jù)存取與更新管理,數(shù)據(jù)完整性管理和數(shù)據(jù)**性管理;
數(shù)據(jù)庫的查詢和操縱功能:該功能包括數(shù)據(jù)庫檢索和修改;
數(shù)據(jù)庫維護(hù)功能:包括數(shù)據(jù)引入引出管理,數(shù)據(jù)庫結(jié)構(gòu)維護(hù),數(shù)據(jù)恢復(fù)功能和性能監(jiān)測(cè)。
為了提高數(shù)據(jù)庫系統(tǒng)的開發(fā)效率,現(xiàn)代數(shù)據(jù)庫系統(tǒng)除了DBMS之外,還提供了各種支持應(yīng)用開發(fā)的工具。
16、問題:當(dāng)前流行的WEB數(shù)據(jù)庫管理系統(tǒng)有哪些?
答:當(dāng)前流行的Web數(shù)據(jù)庫管理系統(tǒng)有微軟的SQL Server、Oracle、DB2、Sybase,小規(guī)模的企業(yè)多使用Access。
ASP設(shè)計(jì)常見問題及解答精要-2,謝謝圍觀。