日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【工控老马】ASP问与答40篇

發(fā)布時間:2024/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【工控老马】ASP问与答40篇 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問:什么是ASP?
答:ASP是Active Server Page的縮寫,意為“活動服務器網(wǎng)頁”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。 ASP是一種服務器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應用程序。ASP網(wǎng)頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點:
(1)利用ASP可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實現(xiàn)動態(tài)網(wǎng)頁技術;
(2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試;
(3)服務器上的ASP解釋程序會在服務器端制定ASP程序,并將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁;
(4)ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理,然后向web瀏覽器發(fā)送信息;
(5)ASP可以使用服務器端ActiveX組件來執(zhí)行各種各樣的任務,例如存取數(shù)據(jù)庫、發(fā)現(xiàn)哦那個Email或訪問文件系統(tǒng)等;
(6)由于服務器是將ASP程序執(zhí)行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。

問:什么是靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁?
答:網(wǎng)頁按其表現(xiàn)形式有靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁之分。
靜態(tài)網(wǎng)頁:
所謂靜態(tài)網(wǎng)頁,就是該網(wǎng)頁文件里沒有程序代碼,只有HTML標記(網(wǎng)頁中的圖片、表格、文字等頁面內容是通過HTML代碼來描述,打開一個網(wǎng)頁,在頁面點擊鼠標右鍵,在快捷菜單中選擇[查看源文件],即可查閱此網(wǎng)頁的HTML代碼),這種網(wǎng)頁文件的后綴為.htm或.html。靜態(tài)網(wǎng)頁一經(jīng)制成,內容就不會再變化,不管何時何人訪問,顯示的都是一樣的內容,如果要修改有關內容,就必須修改網(wǎng)頁,然后重新上傳到服務器上。
靜態(tài)網(wǎng)頁的工作原理如下:
當你在瀏覽器里輸入網(wǎng)址回車后,就向服務器端提出了瀏覽網(wǎng)頁的請求。服務器端接到請求后,就會找到你要瀏覽的靜態(tài)網(wǎng)頁文件,服務器識別出是靜態(tài)網(wǎng)頁(查看后綴是.htm或.html),然后直接發(fā)送到你的瀏覽器上顯示出來。
注意:
1.靜態(tài)網(wǎng)頁內容由HTML代碼來描述,客戶端瀏覽器負責解析HTML代碼,顯示頁面內容。
2.靜態(tài)網(wǎng)頁響應速度快。
3.靜態(tài)網(wǎng)頁適合放置長久不變的信息,比如公司介紹。
動態(tài)網(wǎng)頁:
所謂動態(tài)網(wǎng)頁,就是該網(wǎng)頁文件不僅含有HTML標記,而且含有程序代碼,這種網(wǎng)頁的后綴一般根據(jù)Web程序設計技術來定,如利用ASP技術培訓開發(fā)的動態(tài)網(wǎng)頁文件的后綴為.asp,jsp技術為.jsp,php技術為.php,.net技術為.aspx。動態(tài)網(wǎng)頁能夠根據(jù)不同的情況而動態(tài)顯示相應的內容,還可以根據(jù)用戶的即時操作和即時請求,內容發(fā)生相應的變化。如新聞發(fā)布系統(tǒng)、BBS、留言板、聊天室等就是用動態(tài)網(wǎng)頁來實現(xiàn)的。
動態(tài)網(wǎng)頁的工作原理與靜態(tài)網(wǎng)頁有很大的不同。當你在瀏覽器里輸入動態(tài)網(wǎng)頁網(wǎng)址回車后,向服務器端提出了瀏覽動態(tài)網(wǎng)頁的請求,服務器端接到請求后,首先會找到你要瀏覽的動態(tài)網(wǎng)頁文件,然后就執(zhí)行網(wǎng)頁文件中的程序代碼,將程序代碼所代表的動態(tài)內容轉化為靜態(tài)的標準HTML內容,最后全部以靜態(tài)網(wǎng)頁HTML形式發(fā)送到你的瀏覽器。

問:什么是靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站?
答:靜態(tài)網(wǎng)站即網(wǎng)站內所有頁面均為靜態(tài)頁面;動態(tài)網(wǎng)站即網(wǎng)站內存在動態(tài)網(wǎng)頁,可以實現(xiàn)某些動態(tài)交互式功能。通常,一個動態(tài)網(wǎng)站,會把信息不經(jīng)常變換的內容做成靜態(tài)頁面形式,而需要經(jīng)常變換內容的頁面做成動態(tài)網(wǎng)頁形式。

問:為什么網(wǎng)站要做成動態(tài)網(wǎng)站?
答:互聯(lián)網(wǎng)發(fā)展十多年來,最早的網(wǎng)站為靜態(tài)網(wǎng)站,如果要更新網(wǎng)站內容,必須請網(wǎng)站制作者更新網(wǎng)頁后,再上傳至服務器將原網(wǎng)頁覆蓋后才能實現(xiàn),顯然這很不方便網(wǎng)站內容的及時更新。試想,一家貿易公司請一家網(wǎng)站設計工作室制作公司網(wǎng)站,如果是靜態(tài)網(wǎng)站,發(fā)條公司動態(tài)或公司通告,還需要通知網(wǎng)站的制作者更新網(wǎng)頁,再上傳至服務器,這很麻煩。如果是動態(tài)網(wǎng)站,公司自己就可以隨時通過瀏覽器進入管理系統(tǒng)發(fā)布或更新信息。

問:什么是Web程序設計技術?
答:就是用于實現(xiàn)動態(tài)交互式功能的網(wǎng)頁制作技術,即動態(tài)網(wǎng)頁制作技術,通過Web程序語言設計的動態(tài)網(wǎng)頁可以根據(jù)用戶的即時操作和即時請求,網(wǎng)頁內容發(fā)生相應的變化,從而可以實現(xiàn)功能強大的交互式操作。常用的Web程序設計技術有CGI、PHP、ASP、JSP、ASP.Net等。
問:為什么ASP技術很流行?
答:ASP是目前最熱門的Web技術。
1.易學。ASP功能強大又簡單易學,VBScript是它默認的腳本語言,而VBScript由源于VB,很多人熟悉VB,有一定有語言基礎。ASP程序相對容易開發(fā)和維護。
2.微軟產(chǎn)品,微軟強大的技術支持,并且與常用的Windows網(wǎng)絡操作系統(tǒng)和IE瀏覽器兼容性好。
3.資源豐富。技術發(fā)展相對成熟,并且有豐富的ASP資源。
4.軟硬件環(huán)境要求低。ASP運行環(huán)境低,連早期的WIN98都支持ASP;對服務器硬件配置要求低,個人PC設置為WEB服務器也能跑動ASP系統(tǒng)。
5.適合中小型動態(tài)網(wǎng)站建站。

問: ASP技術使用前景如何,會不會很快被淘汰?
答:任何一項技術均有一定的生命期。微軟的本意是,推出ASP.net以取代ASP,但從目前來看,ASP還是開發(fā)中小型動態(tài)網(wǎng)站最適合的技術。理由有:
1.開發(fā)門檻低,易掌握。學習ASP.net要有一定的基礎,需要經(jīng)過系統(tǒng)的軟件開發(fā)課程學習,需要系統(tǒng)的程序開發(fā)知識,只適合有一定軟件開發(fā)基礎的人學習掌握。除了大型網(wǎng)站,一般中小型網(wǎng)站的制作者通常是一個人,他需要掌握網(wǎng)站和網(wǎng)頁框架構建、FLASH制作、圖片處理,如果還要掌握利用.NET開發(fā)后臺,勢必對制作者來說,難度較大,但他可以選擇學習容易掌握的ASP技術來開發(fā)后臺。
2.對于中小型網(wǎng)站的交互功能來說,用ASP技術就容易實現(xiàn),沒有必要使用.NET技術。通常.NET技術用于通過團隊力量來開發(fā)大型交互式系統(tǒng),比如網(wǎng)上電子商務系統(tǒng)、電子政務系統(tǒng),我們學院引進的正方教務管理系統(tǒng),其B/S部分就是用.NET技術開發(fā)的。

問:有很多ASP資源可利用,似乎沒有必要去學習ASP?
答:網(wǎng)站建設者可以通過很多途徑獲得現(xiàn)成的ASP系統(tǒng),可以奉行“拿來主義”,這樣似乎沒有必要去學習ASP?但實際情況并不是這樣。
的確,ASP之所以這么紅火,其中一個很重要原因是資源豐富。掌握ASP技術的人很多,他們會把自主開發(fā)的系統(tǒng)放在網(wǎng)上供人下載,也有一些軟件公司也提供ASP資源。但,如何你要開發(fā)ASP技術動態(tài)網(wǎng)站,必須掌握ASP,原因有:
1.如果你對ASP不了解,尋找到現(xiàn)成的ASP系統(tǒng),你也不知道如何嵌入到你的網(wǎng)站中。
2.單純性質的留言板、BBS不需修改,可以直接放在你的網(wǎng)站中使用,但是其它系統(tǒng),很難完全適合你網(wǎng)站的需求,你需要利用你掌握的ASP技術進行修改完善,以期符合你網(wǎng)站的實際情況和實際需求。
3.一些針對性或個性化的系統(tǒng),無法獲得,需要你量體裁衣,自主開發(fā)。例如學院網(wǎng)站上就業(yè)調查系統(tǒng)、食堂工作調查系統(tǒng)相對項目多,比較復雜,需要自己編寫。

問:什么是腳本?
答:腳本(Script)是網(wǎng)頁制作中常見的制作技術。根據(jù)腳本語言所編寫的代碼可以直接插入到HTML中,利用腳本可以操縱網(wǎng)頁上的元素去實現(xiàn)網(wǎng)頁的交互功能,還可以制作特殊動態(tài)效果的網(wǎng)頁,例如,注冊時用戶輸入信息的有效性驗證、彈出的信息框、鼠標指針的文字跟隨、漸隱漸現(xiàn)的圖片等都是腳本的實際運用。
常用的腳本語言有JavaScript和VBScript,VBScript是ASP的語言基礎。
注意:
1.JavaScript和VBScript腳本語言基本相同。
2.JavaScript腳本一般瀏覽器均支持,而VBScript腳本只有部分瀏覽器支持。故,靜態(tài)網(wǎng)頁使用的腳本一般是JavaScript腳本。
3.VB→VBScript→ASP,VB是VBScript的語言基礎,VBScript是ASP的語言基礎。
4.VBScript腳本分客戶端運行和服務器端運行,如果是客戶端運行即為普通腳本,就是大家通常所看到的一些網(wǎng)頁特效;如果設定在服務器端運行,即為ASP程序。

問:采用什么工具進行ASP編程?
答:記事本、FrontPage 、Dreamweaver都可以開發(fā)ASP。
記事本是要采用手工輸入代碼方式,顯然不適合開發(fā)代碼相對復雜的ASP。
FrontPage 、Dreamweaver比較方便ASP的開發(fā),但本人不習慣使用,并且產(chǎn)生的代碼比較復雜,不精煉。
本人常用的方式是:手中儲備有上百條常用的ASP代碼模塊,在Dreamweaver中做完網(wǎng)頁的靜態(tài)部分,再把所需要的ASP代碼模塊拷入HTML代碼之中,在代碼視圖下,修改完善ASP代碼。

問:我使用Dreamweaver開發(fā)ASP,是不是不需要學習ASP?
答:有人有這樣的經(jīng)歷,在沒有學習HTML語言的情況下,在Dreamweaver編輯狀態(tài)下,就可以制作靜態(tài)頁面。(其實,如果要設計精美、復雜、專業(yè)性的靜態(tài)網(wǎng)頁,必須掌握HTML)。是不是動態(tài)網(wǎng)頁也是這樣呢?
在Dreamweaver編輯狀態(tài)下制作ASP動態(tài)網(wǎng)頁,必須掌握ASP語言。Dreamweaver編輯狀態(tài),只能減輕你手工輸入ASP代碼的麻煩,但在Dreamweaver編輯狀態(tài)下開發(fā)ASP,如果你不懂ASP,將無從下手,在制作過程中,將不斷彈出的設置對話框,你就不知道如何進行填寫。

問:什么是Web服務器?
答:一種具有高性能的計算機。網(wǎng)站所包含的文件就是存儲在里面。通過服務器上安裝的Web服務器軟件,例IIS,有效地管理網(wǎng)站,并接受用戶在客戶端通過瀏覽器發(fā)出的瀏覽請求,然后發(fā)送請求瀏覽的網(wǎng)頁到用戶瀏覽器。
中小型企業(yè)要建立自己的Web服務器一般選擇的是易上手易管理的Windows 2000 Server,也可以選擇Windows 2003 Server。我們可以通過這些操作系統(tǒng)里的Web服務器軟件IIS(Internet Information Server,因特網(wǎng)信息服務)組件來建立Web服務器。
注意:如果你的機子安裝的是Windows 2000 Server操作系統(tǒng),IIS默認已安裝;如果是Windows 2000 個人版或XP或Windows 2003 Server,則需要自定義安裝IIS。

問:我的服務器安裝的是Windows 2003 Server,但似乎不支持ASP?
答:在Windows 2000 Server中,默認支持ASP,但在Windows 2003 Server中,ASP功能默認關閉,需要在IIS→WEB擴展設置中設置啟動ASP。通常還需要在IIS→網(wǎng)站屬性設置中,設置啟用父路徑。數(shù)據(jù)庫文件屬性安全設置中,設置USERS用戶可寫入,這樣你的ASP系統(tǒng)才可以正常運行。

問:如果我的服務器安裝的不是微軟操作系統(tǒng),如何支持ASP?
答:有的網(wǎng)絡操作系統(tǒng)不支持ASP或是支持效果不好,所以ASP程序最好放在Windows操作環(huán)境的Web服務器上運行。如果要運行在非Windows平臺,例如Unix、Linux等,則要安裝相應的ASP腳本解釋引擎軟件。

問:ASP頁面與HTML頁面相比,誰的打開速度快?
答:ASP頁面運行速度比普通的HTML頁面要慢,畢竟ASP程序放在服務器端,要由服務器解釋并轉化成標準的HTML頁面,還要讀取后臺數(shù)據(jù)庫,因此造成速度相應比較慢。為了減輕服務器的負擔,同時提升網(wǎng)站頁面打開速度,一些信息長久不變的頁面,最好做成靜態(tài)頁面。

問:學習ASP,要掌握HTML語言嗎?
答:一定要,通常學習順序是,先掌握靜態(tài)網(wǎng)頁語言HTML,再學習動態(tài)技術。在ASP頁面文件中,通常即有HTML代碼,又有ASP代碼,ASP代碼是嵌入在HTML代碼適當位置處,與之混合在一起。在HTML代碼中,表單類的代碼要非常熟悉,因為通常在ASP系統(tǒng)中通常是通過表單形式采集瀏覽者信息,與之交互。

問:如何理解ASP運行在服務器端,而VB腳本運行在客戶端瀏覽器上?
答:用以下例子:
建兩個文件,其一為靜態(tài)頁,包含以下VB腳本代碼:

由于VB腳本由客戶端瀏覽器解析,所以,顯示的時間是你的電腦的系統(tǒng)時間,你可以更改你的電腦的系統(tǒng)時間,可以看到彈出消息框中的時間隨之變化。
另一為ASP文件,包含以下ASP代碼:
<%=now()%>
由于ASP代碼由服務器解析,所以,顯示的時間是服務器的系統(tǒng)時間,更改你的電腦的系統(tǒng)時間,可以看到頁面時間沒有隨之變化。

問:為什么學習動態(tài)網(wǎng)頁制作,掌握表單很重要?
答:動態(tài)網(wǎng)頁就要是實現(xiàn)交互功能,即網(wǎng)站瀏覽者與網(wǎng)站交互,進行信息在線交流,而采集用戶信息的方式,即是通過表單形式,例如,用戶注冊表單、用戶發(fā)表文章表單、在線調查表單、登錄表單等等。
表單代碼屬于HTML代碼,標簽為:

……

問:常用的表單元素有哪些?
答:常用的表單元素有文本域、下拉菜單、單選按鈕、復選按鈕、提交按鈕、重置按鈕等。提交按鈕是表單中不可缺少的表單元素;文本域用于采集較多字符,所采集的信息送到ACCESS數(shù)據(jù)庫存儲。

問:如何制作表單?
答:表單代碼是HTML代碼。可以在Dreamweaver中制作表單,先插入一表單域,插入布局表格(為了讓表單元素美觀整齊排列),再插入表單元素。
為了防止用戶輸錯信息,可以設置表單信息驗證,可以采用腳本實現(xiàn)(Dreamweaver中的行為面板),也可以用ASP程序實現(xiàn)。

問:表單屬性含義是什么?
答:主要有兩個表單屬性,method和action。
method用于指定數(shù)據(jù)發(fā)送方式,POST或GET,一般采用POST方式。
Action屬性用于設置處理表單信息方式。
如果信息發(fā)送到電子郵箱,則action=mailto:jxciazb@126.com,另外還要配上一表單屬性(不提,有興趣者網(wǎng)上搜索);
action=“1.asp”,表示將表單數(shù)據(jù)送至1.asp。由1.asp中的ASP程序處理,此表單頁面不含動態(tài)程序代碼,文件類型為html文件;
action="",表示將表單數(shù)據(jù)送至本頁面。由本頁面的ASP程序處理,此表單頁面含ASP程序代碼,文件類型為ASP文件;
如果表單中含有“文件選擇”表單元素,則必須要配有ENCTYPE="multipart/form-data"表單屬性。

問:什么是Web數(shù)據(jù)庫?
答:ASP系統(tǒng)中通常要使用數(shù)據(jù)庫用于信息存儲,比如公司動態(tài)信息、客戶留言等。ASP常用的數(shù)據(jù)庫系統(tǒng)有Access和SQL Server。前臺ASP技術+后臺數(shù)據(jù)庫技術才能開發(fā)功能強大的ASP系統(tǒng)。

問:ASP系統(tǒng)所采集的信息可以不存儲在數(shù)據(jù)庫中嗎?
答:可以。EXCEL、記事本都可以存儲,甚至你可以將表單采集的信息發(fā)送至您的電子郵箱。但存儲在Access或SQL Server中是常用的方式。

問:為什么大多數(shù)中小型ASP網(wǎng)站選擇 Access為數(shù)據(jù)庫?
答:Accsee是微軟Office系列辦公軟件包的重要組成部分,安裝Office時默認自動安裝了Access。Access配置簡單、移植方便,但效率低,適合做中小型動態(tài)網(wǎng)站的Web數(shù)據(jù)庫。
▲ Access數(shù)據(jù)庫使用簡單,用戶能迅速掌握它的使用方法。
▲ 對于一般的單位網(wǎng)站或個人網(wǎng)站,Access數(shù)據(jù)庫存儲與管理數(shù)據(jù)的功能綽綽有余。
▲ 如果ASP系統(tǒng)是基于Access數(shù)據(jù)庫開發(fā)的,現(xiàn)在想把數(shù)據(jù)庫轉換成SQL Server數(shù)據(jù)庫也很方便,只要利用SQL Server的導入功能就能輕松實現(xiàn)這種轉換。由于存取Access和SQL Server數(shù)據(jù)庫采用的都是標準SQL語言,ASP程序幾乎不用改寫,需要改寫的就是連接數(shù)據(jù)庫的語句。
SQL Server:
是微軟提供的運行在Windows操作平臺上的數(shù)據(jù)庫系統(tǒng),操作也比較簡便,屬于大型數(shù)據(jù)庫。通常在使用ASP開發(fā)大中型動態(tài)網(wǎng)站時使用SQL Server作為Web數(shù)據(jù)庫。
如果你所開發(fā)的ASP系統(tǒng),以前采用ACCESS數(shù)據(jù)庫,后隨著數(shù)據(jù)量增大,需要改用SQL SERVER為數(shù)據(jù)庫,ASP系統(tǒng)中ASP代碼基本不需要作變動(除連接數(shù)據(jù)庫的代碼),因為ACCESS和SQL SERVER,都是采用標準的SQL命令對數(shù)據(jù)庫進行操作。

問:Access數(shù)據(jù)庫作為網(wǎng)站數(shù)據(jù)庫,有什么要注意事項?
答:
1.Access數(shù)據(jù)庫文件名不能用中文,但表名和字段名可以用中文。
2.不要使用time、table等敏捷單詞為表名或字段名,不然ASP系統(tǒng)工作時,可能報錯。
3.字段如果是文本數(shù)據(jù)類型,只能存儲不超過255個字符,超過的字符自動刪除,所以如果此字段需要存儲的字符數(shù)較多,可以設置為“備注”數(shù)據(jù)類型。

問:什么是SQL語言?
答:前臺ASP程序與后臺數(shù)據(jù)庫結合,才能實現(xiàn)強大功能的ASP系統(tǒng)。對數(shù)據(jù)庫進行查詢、刪除、添加、更新記錄操作,則是通過SQL語句。SQL是專為數(shù)據(jù)庫而建立的標準操作命令集。

問:查詢Select語句如何使用?
答:Select * from users
說明:從表users中選取全部記錄。
Select name,class,age from users
說明:從表users選取指定列name、class、age的記錄,注意語句中列之間用逗號相隔。
Select * from users where class=“05網(wǎng)絡4”
說明:根據(jù)條件選取記錄
Select * from users order by age asc
說明:查詢結果排序,asc表示按升序排,升序是默認的排序,所以asc可省略不寫。
Select * from users order by age desc
說明:查詢結果排序,desc表示按降序排。
Select top 10 * from users
說明:只先選取前10條記錄。
Select name,(test1+test2+test3) as testnum from users
說明:從表中原有的字段產(chǎn)生派生字段,“test1+test2+test3”將字段test1、test1、test1值相加產(chǎn)生派生字段testnum,注意在這里test1、test1、test1為數(shù)字類型的字段,所派生的字段testnum并不是表中的真正字段,但派生出來后,以后就可以用testnum來引用。
Select * from users where name like “%張%”
說明:模糊查找,從表中查找姓名中含有“張”字的記錄。

問:添加Insert語句如何使用?
答:
用于向數(shù)據(jù)庫添加記錄。語法如下:
Insert into 數(shù)據(jù)表(字段1,字段2,…)values(字段1的值,字段2的值,…)
說明:
▲ values中字段值的順序一定要與前面的字段順序相對應。
▲ 字段之間,字段值之間用逗號相隔。
▲ 如果某字段的類型為字符型或日期型,該字段值要用引號括起來,單引號雙引號都可以。
舉例如下:
Insert into users(name,class,age) values(“張三”,“信息五班”,“20”)
說明:向表users插入一條新記錄。

問:刪除Delete語句如何使用?
答:用于從數(shù)據(jù)表中刪除記錄。語法如下:
Delete from 數(shù)據(jù)表[where 條件]
說明:
▲ where 條件,可以按條件從表中刪除記錄。
▲ 如果沒有“where 條件”,則表示刪除表中所有記錄。
舉例如下:
Delete from users where name=“張三”
說明:從表中刪除張三的記錄。

問:更新Update語句如何使用?
答:更新數(shù)據(jù)表中的記錄。語法如下:
Update 數(shù)據(jù)表名 set 字段1=字段值1,字段2=字段值2,…[where 條件]
說明:
▲ where 條件,可以按條件從表中更新記錄。
▲ 如果沒有“where 條件”,則表示更新表中所有記錄。
舉例如下:
Update users set class=“信息六班” where name=“張三”
說明:從表中更新張三的class字段值。

問:為什么我的記錄集的RecordCount值總是返回-1?
答:你應當使用這種模式來打開存取數(shù)據(jù)庫的記錄集:rec.open strSQL,conn,1,1
其中的strSQL是操作數(shù)據(jù)庫的SQL語句;conn是聯(lián)接數(shù)據(jù)庫的Connection 變量。

問:我在ASP腳本中寫了很多的注釋,這會不會影響服務器處理ASP文件的速度?
答:經(jīng)國外技術人員測試,帶有過多注釋的ASP文件整體性能僅僅會下降0.1%,也就是說基本上不會影響到服務器的性能下降的。

問:我有沒有必要在每一個ASP文件中使用“Option Explicit”?
答:你最好這樣,因為這樣可以使得你的程序出錯機會降到最少,并且會提升整體性能將近9.8% 。

問:最近隨同IIS5.0一起出現(xiàn)的ASP3.0有何新的功能?
答:其實并沒有什么新的變化,但是新增加了兩個Server對象的方法:
Server.Transfer以及Server.Excute,還有一個新的對象ASPError。具體的使用方法請參考微軟的網(wǎng)站:www.microsoft.com。

問:為什么我使用“Window.open()”方法打開的新窗口的ASP頁面中經(jīng)常會出現(xiàn)Session丟失的現(xiàn)象?
答:在微軟的IE4.x會經(jīng)常出現(xiàn)這種情況,但IE5.x中已經(jīng)解決了這個錯誤。所以,為了兼容所有的瀏覽器,你可以使用諸如“test.asp?name=xxx”的方式來在窗口之間傳遞參數(shù),這樣的效果更好,只是要注意,如果傳遞的參數(shù)很重要,請不要使用明文方式進行傳遞,否則很容易導致安全問題。

問:經(jīng)常看到聯(lián)接數(shù)據(jù)庫有兩種方式DSN以及DSN-LESS,兩者是什么意思?有什么不同嗎?
答:DSN是英文“Data Source Name”的縮寫,DSN方式也就是采用數(shù)據(jù)源的聯(lián)接方式,這個數(shù)據(jù)源可以在“控制面板”里面的“ODBC Data Sources”中進行設置,然后就這樣使用:
Conn.Open “DSN=Test;UID=Admin;PWD=;”
其中的“Test”就是你自己設定的數(shù)據(jù)源的名稱。注意,要同時使用UID以及PWD,否則會出錯。
同樣的,DSN-LESS就是非數(shù)據(jù)源方式的聯(lián)接方法,使用方法是:
Conn.Open “Driver={Microsoft Access Driver (*.mdb)};Dbq=\somepath\mydb.mdb;Uid=Admin;Pwd=;”
在相同的硬件環(huán)境下,DSN-LESS方式要比DSN方式的性能要高,但是一旦ASP源代碼因為某些安全問題而被別人用到,將會泄漏數(shù)據(jù)庫的賬號以及密碼,所以這兩種方式是有利有弊的。

問:在ASP中使用ADO的AddNew方法和直接使用“Insert into…”語句有和不同?那種方式更好?
答:ADO的AddNew方法只是將“Insert into ”語句封裝了起來,所以,當對大量數(shù)據(jù)進行操作的時候,直接使用SQL語句將會大大加快存取數(shù)據(jù)的速度,因為他減少了ADO的“翻譯”時間。雖然SQL語句不如AddNew等語句容易接受,但是學習一些常用的SQL語句在進行數(shù)據(jù)庫編程中是非常重要的。

問:為何我將這句話(“Let’‘s go now!”)插入到數(shù)據(jù)庫中的時候會發(fā)生錯誤?
答:因為大多數(shù)的數(shù)據(jù)庫(Access,MS SQL Server)都把單引號當作分割符號使用的,所以不可以直接將單引號插入到數(shù)據(jù)庫中,你必須在執(zhí)行SQL語句之前,分別將每一個單引號替換成兩個單引號:
MyData=Replace(MyData," ‘’ “,” ‘’’’ ",1)然后,在保存到數(shù)據(jù)庫中就行了。

問:On Error 語句的作用是什么?
答:該語句的作用是:啟用或禁用錯誤處理程序。一般用法如下:
On Error Resume Next
On Error GoTo 0

如果在您的代碼中未使用On Error Resume Next語句,所發(fā)生的運行時錯誤將顯示錯誤信息,同時,代碼的執(zhí)行也隨之終止。
但當你采用它時,就會使程序按照產(chǎn)生錯誤的語句之后的語句繼續(xù)執(zhí)行,或是按照最近一次所調用的過程(該過程含有 On Error Resume Next 語句)中的語句繼續(xù)運行。這個語句可以不顧運行時錯誤,繼續(xù)執(zhí)行程序,之后您可以在過程內部建立錯誤處理例程。
在調用另一個過程時,On Error Resume Next 語句變?yōu)榉腔顒拥摹K?#xff0c;如果希望在例程中進行內部錯誤處理,則應在每一個調用的例程中執(zhí)行 On Error Resume Next 語句。
如果您已啟用 On Error Resume Next 錯誤處理程序,則可使用On Error GoTo 0禁用錯誤處理程序。

ASP初學者常犯的幾個錯誤
1.記錄集關閉之前再次打開:
sql=“select * from test”
rs.open sql,conn,1,1
if not rs.eof then
dim myName
myName=rs(“name”)
end if
sql=“select * from myBook”
rs.open sql,conn,1,1

解決:在第二次rs.open之前先關閉 rs.close

set rs1=server.createobject
rs1.open sql,conn,1,1

2.用SQL關鍵字做表名或字段名
sql=“select * from user”
rs.open sql,conn,1,1

user為sql關鍵字
解決:改為
sql=“select * from [user]”

3.用鎖定方式去進行update
sql=“select * from [user]”
rs.open sql,conn,1,1
rs.addnew

rs(“userName”)=“aa”
rs.update

當前記錄集的打開方式為只讀
解決:改為
rs.open sql,conn,1,3

4.在查詢語句中采用的對比字段值與字段類型不符
sql=“select * from [user] where id=’” & myID & “’”
rs.open sql,conn,1,1
假設表中設計ID為數(shù)字型,那么此時出錯。
解決:
sql=“select * from [user] where id=” & myID

5.未檢查變量值而出錯
sql=“select * from [user] where id=” & myID
rs.open sql,conn,1,1
假設myID變量此時值為null,那么sql將成為
sql=“select * from [user] where id=”
解決:在前面加上
if isnull(myID) then 出錯提示

6.未檢查變量值類型而出錯
sql=“select * from [user] where id=” & myID
rs.open sql,conn,1,1
假設id為數(shù)字型,myID變量此時值不為null,但為字符,比如myID此時為"aa"
那么sql將成為
sql=“select * from [user] where id=aa”
解決:在前面加上
if isnumeric(myID)=false then 出錯提示
這也可以有效防止 sql injection 漏洞攻擊。

7.由于數(shù)據(jù)庫文件所在目錄的NTFS權限而引起的"不能更新,數(shù)據(jù)庫或對象為只讀。"錯誤。
說明:WIN2K系統(tǒng)延續(xù)了WINNT系統(tǒng)的NTFS權限,對于系統(tǒng)中的文夾都有默認的安全設置,而通過HTTP對WWW訪問時的系統(tǒng)默認用戶是 iusr_計算機名用戶,它屬于guest組。當通過HTTP訪問時,可以ASP或JSP,或PHP或.NET程序對數(shù)據(jù)進行修改操作。
比如:當打開某一個文章時,程序設定,文章的閱讀次數(shù)=原閱讀次數(shù)+1
執(zhí)行conn.execute(“update arts set clicks=clicks+1 where id=n”)語句時,如果 iusr_計算機名用戶沒有對數(shù)據(jù)庫的寫權限時,就會出錯。
解決方法:找到數(shù)據(jù)庫所在目錄→右鍵→屬性→安全選項卡→設置iusr_計算機名用戶的寫權限(當然,也可以是everyone)。

總結

以上是生活随笔為你收集整理的【工控老马】ASP问与答40篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。