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