ASP客戶管理系統(tǒng)論文_第1頁
ASP客戶管理系統(tǒng)論文_第2頁
ASP客戶管理系統(tǒng)論文_第3頁
ASP客戶管理系統(tǒng)論文_第4頁
ASP客戶管理系統(tǒng)論文_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

word文檔可自由復(fù)制編輯客戶關(guān)系管理系統(tǒng)CRMASP在B/S結(jié)構(gòu)中的運(yùn)用摘要本文介紹了如何使用ASP開發(fā)一個(gè)B/S結(jié)構(gòu)的客戶關(guān)系管理系統(tǒng),目的在于讓大家共享學(xué)習(xí)和運(yùn)用這一語言的體會(huì)和收獲。本系統(tǒng)是Internet/Intranet環(huán)境下面向電子商務(wù)的客戶關(guān)系管理,通過企業(yè)管理技術(shù)、電子商務(wù)和信息技術(shù)的高度集成,幫助企業(yè)在全球經(jīng)濟(jì)一體化的激烈市場(chǎng)競(jìng)爭(zhēng)環(huán)境中,建立以市場(chǎng)、客戶為中心的管理體系,有效管理企業(yè)與客戶之間的關(guān)系,提高客戶忠誠(chéng)度,實(shí)現(xiàn)客戶價(jià)值的最大化。從而提高企業(yè)的核心競(jìng)爭(zhēng)力。關(guān)鍵詞:客戶關(guān)系管理,,CRM,ASP,數(shù)據(jù)庫,管理系統(tǒng),B/S結(jié)構(gòu)目錄摘要 I導(dǎo)言 11.背景 12.技術(shù)困難 2第一章 系統(tǒng)綜述 3第二章 客戶關(guān)系管理系統(tǒng)的設(shè)計(jì)目標(biāo) 5第三章系統(tǒng)設(shè)計(jì)相關(guān)原理 63.1ASP技術(shù)介紹 73.2SQL語句介紹 123.2.1SQL的優(yōu)點(diǎn) 123.2.2SQL的使用 143.3VBScript介紹 163.4適應(yīng)Internet時(shí)代需求的B/S體系架構(gòu) 18第四章系統(tǒng)總體設(shè)計(jì) 214.1基本簡(jiǎn)介 214.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu) 214.3詳細(xì)設(shè)計(jì) 224.3.1基本資料 224.3.2用戶管理、用戶權(quán)限 244.3.3操作基本模塊框圖 254.4主要文件功能介紹及詳解 26第五章性能測(cè)試與分析 34第六章結(jié)束語 42第七章系統(tǒng)安裝說明 44后記 44參考文獻(xiàn) 45word文檔可自由復(fù)制編輯導(dǎo)言1.背景Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,WorldWideWeb(簡(jiǎn)稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫。據(jù)估計(jì),目前Internet上已有上百萬個(gè)Web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個(gè)領(lǐng)域,其用戶群十分龐大,因此,建設(shè)一個(gè)好的Web站點(diǎn)對(duì)于一個(gè)機(jī)構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在Internet中的廣泛應(yīng)用,Web站點(diǎn)向用戶提供的服務(wù)將越來越豐富,越來越人性化。我們發(fā)現(xiàn)這樣一個(gè)事實(shí),一個(gè)用戶在訪問一個(gè)網(wǎng)站時(shí)一般來講只對(duì)該網(wǎng)站的部分內(nèi)容感性趣,而且這種興趣會(huì)持續(xù)一段時(shí)間。這點(diǎn)啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同的用戶顯示其個(gè)性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時(shí)間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。一些站點(diǎn)已經(jīng)在這方面作出了一定的嘗試,通常采用的方法是,在用戶登陸時(shí)為其提供一系列的選項(xiàng),使用戶能夠?qū)φ军c(diǎn)進(jìn)行一些自主的設(shè)置。這樣做能夠使站點(diǎn)呈現(xiàn)一定程度的個(gè)性化,但是對(duì)用戶來講,還是比較煩瑣,而且在用戶了解一個(gè)站點(diǎn)前讓其對(duì)站點(diǎn)進(jìn)行設(shè)置,其結(jié)果未免有些粗糙。于是我們構(gòu)想了這樣一種方案,對(duì)用戶登陸后的動(dòng)作進(jìn)行跟蹤,分析,發(fā)掘用戶點(diǎn)擊的規(guī)律,即用戶先后點(diǎn)擊的關(guān)聯(lián)規(guī)則,這樣,在用戶點(diǎn)擊一個(gè)主題(鏈接)之后,系統(tǒng)能夠自動(dòng)生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這樣便在無須用戶作出任何額外工作的情況下實(shí)現(xiàn)了為用戶量身訂做的個(gè)性化頁面。要實(shí)現(xiàn)這樣的功能,離不開后臺(tái)數(shù)據(jù)庫的支持。用戶驗(yàn)證信息,收集到的用戶點(diǎn)擊信息,主題層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。本文中數(shù)據(jù)庫服務(wù)器端采用了MicrosoftAccess數(shù)據(jù)庫作為ODBC(OpenDataBaseConnectivity)數(shù)據(jù)源,并以先進(jìn)的ADO(ActiveXDataObjects)技術(shù)進(jìn)行數(shù)據(jù)庫存取等操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。 2.技術(shù)困難我們已經(jīng)提到,用戶個(gè)性化頁面是在用戶登陸后瀏覽網(wǎng)頁的過程中由服務(wù)器即時(shí)生成再返回給用戶瀏覽器的,它事先并不存在于服務(wù)器。顯然單純的HTML無法提供這種頁面,必須使用具有運(yùn)算功能的Web技術(shù)來實(shí)現(xiàn)。在比較了現(xiàn)今幾種動(dòng)態(tài)頁面開發(fā)技術(shù)后,我們選擇了比較成熟和先進(jìn)的WinNT+IIS+ASP技術(shù)。它提供了強(qiáng)大的WebComputing功能和數(shù)據(jù)庫操作功能(這將在第3部分詳細(xì)介紹)。在設(shè)計(jì)實(shí)現(xiàn)過程當(dāng)中,還遇到一些特殊的技術(shù)困難,如何處理它們直接影響到生成頁面的質(zhì)量和服務(wù)器端的效率?,F(xiàn)將主要的技術(shù)困難及其解決思路介紹如下:采集用戶信息。用戶訪問的信息,即用戶在站上的點(diǎn)擊行為,是我們生成用戶個(gè)性化頁面的根據(jù)。如何在不影響用戶瀏覽的情況下記錄下用戶的每一點(diǎn)擊呢,這里,我們使生成頁面上的每一鏈點(diǎn)都鏈接到一個(gè)名為Record.asp的功能頁面,并將該鏈點(diǎn)名稱(亦即主題名,Topicname)作為參數(shù)傳遞,Record.asp只對(duì)該Topicname進(jìn)行記錄而不返回給用戶瀏覽器任何內(nèi)容,隨即指向生成頁面的程序,并同時(shí)傳遞Topicname。第4部分將對(duì)此過程進(jìn)行詳細(xì)的敘述。鏈接數(shù)據(jù)庫。各功能模塊中需要頻繁的進(jìn)行數(shù)據(jù)庫操作,如果每遇到要使用數(shù)據(jù)庫便建立一次鏈接將在一定程度上增大系統(tǒng)開銷,我們這里有效利用了ASP的Global.asa文件,使服務(wù)器事先建立數(shù)據(jù)庫鏈接對(duì)象,所有的數(shù)據(jù)操作都使用該鏈接,從而提高了服務(wù)器效率。具體做法請(qǐng)參閱第3部分內(nèi)容。(3)可變的SQL語句一個(gè)訪問數(shù)據(jù)庫的程序段,對(duì)于不同的用戶以及一個(gè)用戶的不同行為,要其執(zhí)行的SQL語句是不同的,其不同主要表現(xiàn)在查詢、插入或更新時(shí)的參數(shù)不同,于是我們將SQL語句定義為含變量的字符串,通過賦予變量不同的值便產(chǎn)生出適合的SQL語句串,再通過數(shù)據(jù)對(duì)象的相應(yīng)方法來執(zhí)行它,完成所需的數(shù)據(jù)操作。這一方法的運(yùn)用詳見第4部分。對(duì)關(guān)聯(lián)規(guī)則表進(jìn)行解析前面已提到,個(gè)性化頁面的生成是基于用戶關(guān)聯(lián)規(guī)則表的,而該表的關(guān)聯(lián)規(guī)則字段長(zhǎng)度不一,項(xiàng)目個(gè)數(shù)也不定,必須找到一種有效的算法對(duì)其進(jìn)行解析,分離出相關(guān)的Topicname。這里,我們對(duì)關(guān)聯(lián)規(guī)則的形式進(jìn)行分析,組合使用腳本語言中各種字串處理函數(shù),設(shè)計(jì)出高效的分解算法。具體算法見第4部分。尋求合理的支持度閥值和置信度閥值關(guān)聯(lián)規(guī)則表的生成受支持度閥值minSup和置信度閾值minConf的控制,它們的取值是否合理將直接影響到生成頁面的理想程度。系統(tǒng)綜述企業(yè)的外部資源:客戶資源,代理商資源,分銷商資源,供應(yīng)商資源和其他合作伙伴資源本質(zhì)上與企業(yè)內(nèi)部的其它資源需要我們的悉心照顧??蛻羰瞧髽I(yè)的利潤(rùn)資源,怎么樣讓公司的員工能對(duì)客戶的各類請(qǐng)求和服務(wù)給出及時(shí)和完美的解決方案?能不能讓企業(yè)的客戶資源有自動(dòng)更新機(jī)制,去掉沒有價(jià)值的客戶,增加能帶來利潤(rùn)的客戶?作為管理層能不能知道每一個(gè)銷售人員管理的客戶的狀態(tài)?能不能隨時(shí)都能知道公司下個(gè)月潛在的銷售額?客戶的增長(zhǎng)率情況如何?每個(gè)銷售人員的表現(xiàn)如何?所有這些都需要有一套系統(tǒng)來解決。經(jīng)過二十多年的發(fā)展,市場(chǎng)經(jīng)濟(jì)的觀念已經(jīng)深入人心。90年代末,隨著全球經(jīng)濟(jì)一體化和知識(shí)經(jīng)濟(jì)的發(fā)展,客戶個(gè)性化需求特征愈來愈明顯,只有真正了解市場(chǎng)需要,最大滿足客戶需求的產(chǎn)品才能實(shí)現(xiàn)競(jìng)爭(zhēng)優(yōu)勢(shì)。企業(yè)"以產(chǎn)品為中心"的模式向"以市場(chǎng)為中心","以客戶為中心"的模式轉(zhuǎn)移。正確、快速地處理與客戶之間的溝通成為企業(yè)利潤(rùn)的主要源泉。企業(yè)管理的視覺從"內(nèi)視型"向"外視型"轉(zhuǎn)變。企業(yè)轉(zhuǎn)換自己的視角"外向型"地整合內(nèi)外部資源,從而提高企業(yè)的核心競(jìng)爭(zhēng)力。此時(shí)產(chǎn)生了客戶關(guān)系管理(CustomerRelationshipManagement,CRM)軟件。傳統(tǒng)的CRM側(cè)重于與有限的客戶以傳統(tǒng)溝通方式進(jìn)行客戶關(guān)系管理,局限于企業(yè)內(nèi)部網(wǎng),不能滿足全球經(jīng)濟(jì)一體化的要求。隨著Internet技術(shù)的飛速發(fā)展,靜態(tài)網(wǎng)頁應(yīng)用轉(zhuǎn)變?yōu)閯?dòng)態(tài)網(wǎng)頁應(yīng)用,近年來ASP應(yīng)用更為電子商務(wù)邁進(jìn)一大步,基于多層結(jié)構(gòu)、中間件、XML、WEB應(yīng)用技術(shù)使得電子商務(wù)又一次飛躍。電子商務(wù)大潮正在全球范圍內(nèi)急速改變傳統(tǒng)的商業(yè)模式,它觸發(fā)了企業(yè)組織架構(gòu)、工作流程的重組以及整個(gè)社會(huì)管理思想的變革。重要的是,這一切的成本是那么低。另外,數(shù)據(jù)倉庫、商業(yè)智能、知識(shí)發(fā)現(xiàn)等技術(shù)的發(fā)展,使得收集、整理、加工和利用客戶信息的質(zhì)量大大提高。在可以預(yù)期的將來,我國(guó)企業(yè)的通訊成本將會(huì)降低。這將推動(dòng)互聯(lián)網(wǎng)、電話的發(fā)展,進(jìn)而推動(dòng)呼叫中心的發(fā)展。網(wǎng)絡(luò)和電話的結(jié)合,使得企業(yè)以統(tǒng)一的平臺(tái)面對(duì)客戶。此時(shí),面向電子商務(wù)的客戶關(guān)系管理系統(tǒng)應(yīng)運(yùn)而生。同時(shí),幾乎所有的企業(yè)都不同程度的存在著這樣的問題,企業(yè)的銷售、營(yíng)銷和客戶服務(wù)部門難以獲得所需的客戶互動(dòng)信息,銷售人員對(duì)客戶的重復(fù)跟進(jìn),公司決策層無法及時(shí)得到準(zhǔn)確的最新經(jīng)營(yíng)數(shù)據(jù)。來自銷售、客戶服務(wù)、市場(chǎng)、制造、庫存等部門的信息分散在企業(yè)內(nèi),這些零散的信息使得無法對(duì)客戶有全面的了解,各部門難以在統(tǒng)一信息的基礎(chǔ)上面對(duì)客戶。許多行業(yè)的競(jìng)爭(zhēng)進(jìn)入已經(jīng)進(jìn)入到白熱化的階段,企業(yè)優(yōu)秀的銷售人員還在不斷地流失,導(dǎo)致客戶的流失。這需要各部門對(duì)面向客戶的各項(xiàng)信息和活動(dòng)進(jìn)行集成,建立完整的數(shù)據(jù)庫信息系統(tǒng),組建一個(gè)以客戶為中心的企業(yè),實(shí)現(xiàn)對(duì)面向客戶的活動(dòng)的全面管理,才能有利于企業(yè)贏得新客戶、保留老客戶和提高客戶利潤(rùn)貢獻(xiàn)度??蛻絷P(guān)系管理系統(tǒng)的設(shè)計(jì)目標(biāo)據(jù)了解,目前有些公司也借助MSOFFICE的Excel管理客戶信息。但是,其缺點(diǎn)是:相當(dāng)一部分員工無法自由地使用Excel這一工具,同時(shí)操作界面不夠友好,功能極其簡(jiǎn)單。本系統(tǒng)是Internet/Intranet環(huán)境下面向電子商務(wù)的客戶關(guān)系管理,通過企業(yè)管理技術(shù)、電子商務(wù)和信息技術(shù)的高度集成,幫助企業(yè)在全球經(jīng)濟(jì)一體化的激烈市場(chǎng)競(jìng)爭(zhēng)環(huán)境中,建立以市場(chǎng)、客戶為中心的管理體系。實(shí)現(xiàn)營(yíng)銷自動(dòng)化、銷售自動(dòng)化、服務(wù)自動(dòng)化以及電子商務(wù),有效管理企業(yè)與客戶之間的關(guān)系,提高客戶忠誠(chéng)度,實(shí)現(xiàn)客戶價(jià)值的最大化。從而提高企業(yè)的核心競(jìng)爭(zhēng)力。通過實(shí)施CRM系統(tǒng),可以幫助企業(yè)提高效率:通過采用信息技術(shù),可以提高業(yè)務(wù)處理流程的自動(dòng)化程度,實(shí)現(xiàn)企業(yè)范圍內(nèi)的信息共享,提高企業(yè)員工的工作能力,并有效減少培訓(xùn)需求,使企業(yè)內(nèi)部能夠更高效的運(yùn)轉(zhuǎn)??梢酝卣故袌?chǎng):通過新的業(yè)務(wù)模式(電話、Internet)擴(kuò)大企業(yè)經(jīng)營(yíng)活動(dòng)范圍,及時(shí)把握新的市場(chǎng)機(jī)會(huì),占領(lǐng)更多的市場(chǎng)份額。保留客戶:客戶可以自己選擇喜歡的方式,同企業(yè)進(jìn)行交流,方便的獲取信息得到更好的服務(wù)。客戶的滿意度得到提高,可幫助企業(yè)保留更多的老客戶,并更好的吸引新客戶。企業(yè)力求開源節(jié)流,以持續(xù)保持企業(yè)的盈利能力;開源即為留住價(jià)值客戶,同時(shí)吸引和發(fā)展其他價(jià)值客戶,以保持他們的貢獻(xiàn),節(jié)流為在行動(dòng)之前了解客戶的需求,以提高行動(dòng)的有效性。在完全市場(chǎng)化競(jìng)爭(zhēng)的今天,“管理客戶,精細(xì)營(yíng)銷”為企業(yè)核心能力。CRM專注于企業(yè)的營(yíng)銷過程,以提高營(yíng)銷決策和營(yíng)銷活動(dòng)有效性為目標(biāo),為企業(yè)提供決策和營(yíng)銷業(yè)務(wù)工作支持的(目標(biāo)-行動(dòng)管理)信息系統(tǒng),輔助企業(yè)建立更具競(jìng)爭(zhēng)能力的業(yè)務(wù)平臺(tái)。本系統(tǒng)的設(shè)計(jì)原則是:系統(tǒng)設(shè)計(jì)要遵循標(biāo)準(zhǔn)化、通用化、模塊化的原則;系統(tǒng)應(yīng)具有良好的安全保密性和較高的可靠性;操作方便,人機(jī)界面友好;4、代碼具有良好的可讀性,方便以后修改和功能擴(kuò)充。第三章系統(tǒng)設(shè)計(jì)相關(guān)原理目前,網(wǎng)絡(luò)應(yīng)用軟件運(yùn)行的模式主要有二類:Client/server模式,Browser/Web模式。前者主要的缺點(diǎn)是維護(hù)、升級(jí)較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來的一種技術(shù),它與客戶/服務(wù)器方式類似,客戶端是一個(gè)標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端是WebServer,而WebServer與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴(kuò)大,它已不僅僅用于網(wǎng)上查詢,有很多部門的業(yè)務(wù)系統(tǒng)、企業(yè)的MIS系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點(diǎn)是便于擴(kuò)充應(yīng)用、升級(jí)維護(hù)簡(jiǎn)便?;谏鲜隹紤],用Browser/Web模式來設(shè)計(jì)客戶關(guān)系管理系統(tǒng)比較合適,服務(wù)器端我們采用Access數(shù)據(jù)庫系統(tǒng)和ASP組件來構(gòu)成應(yīng)用服務(wù)系統(tǒng);客戶端采用瀏覽器來完成操作的全過程,同時(shí)可進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。利用網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢(shì),應(yīng)用ActiveServerPage技術(shù),我開發(fā)了基于B/S模式多用戶客戶關(guān)系管理系統(tǒng)這一程序。它運(yùn)用方便、操作簡(jiǎn)單,效率很高(同時(shí),它要求計(jì)算機(jī)配置也很高,尤其是服務(wù)器端)。該在系統(tǒng)主要采用ASP、HTML、Access數(shù)據(jù)庫、VBScript、SQL等技術(shù)和工具,整體設(shè)計(jì)遵循軟件工程的方法,經(jīng)過需求分析、總體設(shè)計(jì)、文檔和代碼的編制、模塊測(cè)試和系統(tǒng)實(shí)現(xiàn)幾個(gè)階段。下面就對(duì)這幾種技術(shù)和方法做一個(gè)概述。3.1ASP技術(shù)介紹MicrosoftActiveServerPages即我們所稱的ASP,其實(shí)是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境。ActiveServerPage是創(chuàng)建動(dòng)態(tài)網(wǎng)頁的一個(gè)很好的工具,它起一種編程語言的作用,可以利用它編寫動(dòng)態(tài)產(chǎn)生HTML的程序代碼。因此,只要用戶瀏覽Web站點(diǎn)并請(qǐng)求一個(gè)ASP頁,Web服務(wù)器就可以處理相應(yīng)的ASP代碼,生成HTML代碼,然后將它傳遞到用戶瀏覽器并顯示出網(wǎng)頁。ASP內(nèi)含于IIS3.0和4.0之中,通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。有了ASP就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行所編寫的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。以下羅列了ASP所獨(dú)具的一些特點(diǎn):1.使用VBScript、JavaScript等簡(jiǎn)單易懂的腳本語言,結(jié)合HTML代碼,即可快速地開發(fā)應(yīng)用程序。2.無須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。3.使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。4.與瀏覽器無關(guān),用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計(jì)的網(wǎng)頁內(nèi)容。ASP所使用的操作控制語言均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。5.ASP能與任何ActiveXscripting語言相容。除了可使用VBScript或JScript語言來設(shè)計(jì)外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(ComponentObjectModel)物件。6.ASP的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序和數(shù)據(jù)的安全性。7.可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。8.物件導(dǎo)向(Object-oriented)。9.ActiveXServerComponents(ActiveX服務(wù)器元件)具有無限可擴(kuò)充性??梢允褂肰isualBasic、Java、VisualC++、COBOL等編程語言來編寫你所需要的ActiveXServerComponent。10.另外,ASP技術(shù)的處理速度相當(dāng)快,并且其安全性等同于操作系統(tǒng)的安全性。ASP最重要的優(yōu)點(diǎn)是能夠建立對(duì)諸如時(shí)間、地點(diǎn)、用戶標(biāo)志、以前的選擇和活動(dòng)等因素敏感的頁面。換句話說,可針對(duì)每個(gè)用戶的個(gè)別需求,用ASP定制網(wǎng)頁,能夠滿足用戶的各種需求。ASP程序的運(yùn)行流程見下圖:總之,ASP包含三方面含義:1.Active:ASP使用了微軟的ActiveX技術(shù)。ActiveX(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對(duì)象,程序調(diào)用對(duì)象的技術(shù),簡(jiǎn)化編程,加強(qiáng)程序間合作。ASP本身封裝了一些基本組件和常用組件,有很多公司也開發(fā)了很多實(shí)用組件。只要你可以在服務(wù)器上安裝這些組件,通過訪問組件,你就可以快速、簡(jiǎn)易地建立自己的WEB應(yīng)用。2.Server:ASP運(yùn)行在服務(wù)器端。這樣就不必?fù)?dān)心瀏覽器是否支持ASP所使用的編程語言。ASP的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個(gè)簡(jiǎn)集,會(huì)VB的人可以很方便的快速上手。然而Netscape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT,本系統(tǒng)采用了javascript。而在服務(wù)器端,則無需考慮瀏覽器的支持問題。Netscape瀏覽器也可以正常顯示ASP頁面。3.Pages:ASP返回標(biāo)準(zhǔn)的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時(shí),看到的是ASP生成的HTML代碼,而不是ASP程序代碼。這樣就可以防止別人抄襲程序。由此可以看出,ASP是在IIS下開發(fā)WEB應(yīng)用的一種簡(jiǎn)單、方便的編程工具。在了解了VBSCRIPT的基本語法后,只需要清楚各個(gè)組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統(tǒng)。運(yùn)行ASP所需的環(huán)境如下:☆MicrosoftInternetInformationServerversion3.0/4.0onWindowsNTServer☆MicrosoftInternetInformationServerversion5.0/5.1onWindows2000Server/AdvanceServer☆MicrosoftInternetInformationServerversion6.0onWindows.NET2003Server與一般的程序不同,ASP程序無須編譯。ASP程序的控制部份,是使用VBScript、JavaScript等腳本語言來設(shè)計(jì)的,當(dāng)執(zhí)行ASP程序時(shí),腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進(jìn)行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。當(dāng)然,同其他編程語言一樣,ASP程序的編寫也遵循一定的規(guī)則,如果你想使用你所喜愛的腳本語言編寫ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語言的腳本解釋器。當(dāng)你安裝ASP時(shí),系統(tǒng)提供了兩種腳本語言:VBSrcipt和JavaScript,而VBScript則被作為系統(tǒng)默認(rèn)的腳本語言。ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于WEB服務(wù)器上的,可以用任何文本編輯器打開它,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。只需將.asp程序放在Web服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序了。要學(xué)好ASP程序的設(shè)計(jì),必須掌握腳本的編寫,那么究竟什么是腳本呢?其實(shí)腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個(gè)值賦給一個(gè)變量,可以命令Web服務(wù)器發(fā)送一個(gè)值到客戶瀏覽器,還可以將一系列命令定義成一個(gè)過程。要編寫腳本,你必須要熟悉至少一門腳本語言,如VBScript。腳本語言是一種介于HTML和諸如JAVA、VisualBasic、C++等編程語言之間的一種特殊的語言,盡管它更接近后者,但它卻不具有編程語言復(fù)雜、嚴(yán)謹(jǐn)?shù)恼Z法和規(guī)則。如前所述ASP所提供的腳本運(yùn)行環(huán)境可支持多種腳本語言,譬如:JavaScript、REXX、PERL等等,這無疑給ASP程序設(shè)計(jì)者提供了廣泛的發(fā)揮余地。ASP的出現(xiàn)使得廣大Web設(shè)計(jì)者不必在為客戶瀏覽器是否支持而擔(dān)心,實(shí)際上就算在同一個(gè).asp文件中使用不同的腳本語言,都無須為此擔(dān)憂,因?yàn)樗械囊磺卸紝⒃诜?wù)器端進(jìn)行,客戶瀏覽器得到的只是一個(gè)程序執(zhí)行的結(jié)果,而你也只需在文件中聲明使用不同的腳本語言即可。ASP的對(duì)象和組件:1.ASP有7個(gè)固有對(duì)象這7個(gè)固有對(duì)象分別是Request、Response、Server、Application、Session、ASPError和ObjectContext。Request對(duì)象用來處理用戶做出的請(qǐng)求,就是處理用戶要求瀏覽器查看特定的網(wǎng)頁或Web應(yīng)用時(shí)做出的請(qǐng)求。此請(qǐng)求可以HTML的形式輸入或僅以URL的形式作出。Response對(duì)象用來處理從Web服務(wù)器向用戶發(fā)送信息并對(duì)此信息進(jìn)行控制。Serve對(duì)象用來代表服務(wù)器自身。因此它提供幾個(gè)與Web服務(wù)器可能要完成的任務(wù)相關(guān)的常用功能,諸如建立新對(duì)象和設(shè)置腳本的超時(shí)特性等。還有通過將不合法字符轉(zhuǎn)化為合法字符,把字符串轉(zhuǎn)換為URL和HTML正確的使用格式的方法。Application對(duì)象用來代表應(yīng)用,可用它來管理諸如應(yīng)用目錄這一類的東西。Session對(duì)象用來代表用戶會(huì)話,并存儲(chǔ)該會(huì)話的信息??衫肧ession對(duì)象來管理如Web服務(wù)器在用戶“請(qǐng)求”之間等待的時(shí)間等。ObjectContext對(duì)象用來管理事務(wù)處理。它目前已經(jīng)集成到Windows2000操作系統(tǒng)中了。它包含了所有ASP其他對(duì)象,可通過ObjectContext引用ASP的每個(gè)對(duì)象。ASPError對(duì)象包含ASP腳本或asp.dll本身產(chǎn)生的任何錯(cuò)誤的詳細(xì)內(nèi)容。2.MicrosoftDataAccessComponentMDAC作為操作系統(tǒng)的組成部分的組件,與ASP一起提供。此組件中包含一組稱為ActiveXDataObject(ADO)的對(duì)象,他們對(duì)于查看不同平臺(tái)上的各種數(shù)據(jù)(數(shù)據(jù)庫、表單、文本文件)是必不可少的。ADO主要有3個(gè)對(duì)象,分別是Connection、Command和Recordset。Connection對(duì)象就是使ADO與數(shù)據(jù)庫之間建立一個(gè)通道,也就是實(shí)現(xiàn)與數(shù)據(jù)庫的連接。Command對(duì)象就是對(duì)數(shù)據(jù)庫進(jìn)行發(fā)號(hào)施令,比如建立新的索引,執(zhí)行查詢等,它可以通過標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫操作語言得以實(shí)現(xiàn)。Recordset對(duì)象是一個(gè)數(shù)據(jù)記錄集,它包含了我們檢索出來的記錄數(shù)據(jù),通過它可以直接對(duì)數(shù)據(jù)庫進(jìn)行修改。3.活動(dòng)服務(wù)器組件活動(dòng)服務(wù)器組件是與ASP一起免費(fèi)帶來的組件或DLL,他們有著廣泛的用途。主要包括ADRotator、BrowserCapabilities、ContentLink、ContentRotator、Counters、loggingUtility、MyInfo、PageCounter、permissionChecker、tools等組件。由于本次設(shè)計(jì)用到的不多,在此就不詳細(xì)介紹了4.ASP腳本對(duì)象他們分別是Dictionary、FileSystemObject和TextStream.由于本設(shè)計(jì)用到的也不多,在此就不詳細(xì)介紹了。3.2SQL語句介紹SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”,最早的是IBM的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫管理系統(tǒng)SYSTEMR開發(fā)的一種查詢語言,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡(jiǎn)潔,功能強(qiáng)大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應(yīng)用。如今無論是像Oracle,Sybase,Informix,SQLserver這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像VisualFoxporo,PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。StructuredQueryLanguage包含4個(gè)部分:☆數(shù)據(jù)查詢語言DQL-DataQueryLanguageSELECT☆據(jù)操縱語言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE☆數(shù)據(jù)定義語言DQL-DataDefinitionLanguageCREATE,ALTER,DROP☆數(shù)據(jù)控制語言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK3.2.1SQL的優(yōu)點(diǎn)SQL廣泛地被采用正說明了它的優(yōu)點(diǎn)。它使全部用戶,包括應(yīng)用程序員、DBA管理員和終端用戶受益非淺。1.非過程化語言SQL是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。

2.統(tǒng)一的語言SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。基本的SQL命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。SQL為許多任務(wù)提供了命令,包括:☆查詢數(shù)據(jù)

☆在表中插入、修改和刪除記錄

☆建立、修改和刪除數(shù)據(jù)對(duì)象

☆控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取

☆保證數(shù)據(jù)庫一致性和完整性

以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨(dú)的語言,而SQL將全部任務(wù)統(tǒng)一在一種語言中。3.是所有關(guān)系數(shù)據(jù)庫的公共語言由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè)。所有用SQL編寫的程序都是可以移植的。SQL是PostgreSQL(和大多數(shù)其它關(guān)系型數(shù)據(jù)庫)用做查詢語言的語言。它是可以移植的,并且容易學(xué)習(xí)使用。但是所有SQL語句都必須由數(shù)據(jù)庫服務(wù)器獨(dú)立地執(zhí)行。這就意味著客戶端應(yīng)用必須把每條查詢發(fā)送到數(shù)據(jù)庫服務(wù)器,等待它處理這個(gè)查詢,接收結(jié)果,做一些運(yùn)算,然后給服務(wù)器發(fā)送另外一條查詢。所有這些東西都會(huì)產(chǎn)生進(jìn)程間通訊,并且如果客戶端在另外一臺(tái)機(jī)器上甚至還會(huì)導(dǎo)致網(wǎng)絡(luò)開銷。如果使用了PL/pgSQL,那么可以把一塊運(yùn)算和一系列查詢?cè)跀?shù)據(jù)庫服務(wù)器里面組成一個(gè)塊,這樣就擁有了過程語言的力量并且簡(jiǎn)化SQL的使用,因而節(jié)約了大量的時(shí)間,因?yàn)橛貌恢冻隹蛻舳?服務(wù)器通訊的過熱。通過使用PL/pgSQL,應(yīng)用可以獲得可觀的性能提升。3.2.2SQL的使用1.ASP與Access數(shù)據(jù)庫連接:

<%@language=VBscript%>

<%

dimconn,mdbfile

mdbfile=server.mappath("數(shù)據(jù)庫名稱.mdb")

setconn=server.createobject("adodb.connection")

conn.open"driver={microsoftaccessdriver

(*.mdb)};uid=admin;pwd=數(shù)據(jù)庫密碼;dbq="&mdbfile

%>

2.ASP與SQLServer數(shù)據(jù)庫連接:

<%@language=VBscript%>

<%

dimconn

setconn=server.createobject("ADODB.connection")

conn.open"PROVIDER=SQLOLEDB;DATA

SOURCE=SQL服務(wù)器名稱或IP地址;UID=sa;PWD=數(shù)據(jù)庫密碼;DATABASE=數(shù)據(jù)庫名稱

%>

建立記錄集對(duì)象:

setrs=server.createobject("adodb.recordset")

rs.openSQL語句,conn,3,2

3.SQL常用命令使用方法:

(1)數(shù)據(jù)記錄篩選:

sql="select*from數(shù)據(jù)表where字段名=字段值orderby字段名[desc]"

sql="select*from數(shù)據(jù)表where字段名like'%字段值%'orderby字段名[desc]"

sql="selecttop10*from數(shù)據(jù)表where字段名orderby字段名[desc]"

sql="select*from數(shù)據(jù)表where字段名in('值1','值2','值3')"

sql="select*from數(shù)據(jù)表where字段名between值1and值2"

(2)更新數(shù)據(jù)記錄:

sql="update數(shù)據(jù)表set字段名=字段值where條件表達(dá)式"

sql="update數(shù)據(jù)表set字段1=值1,字段2=值2……字段n=值nwhere條件表達(dá)式

(3)刪除數(shù)據(jù)記錄:

sql="deletefrom數(shù)據(jù)表where條件表達(dá)式"

sql="deletefrom數(shù)據(jù)表"(將數(shù)據(jù)表所有記錄刪除)

(4)添加數(shù)據(jù)記錄:

sql="insertinto數(shù)據(jù)表(字段1,字段2,字段3…)values(值1,值2,值3…)"

sql="insertinto目標(biāo)數(shù)據(jù)表select*from源數(shù)據(jù)表"(把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)

(5)數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù):

AVG(字段名)得出一個(gè)表格欄平均值

COUNT(*|字段名)對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì)

MAX(字段名)取得一個(gè)表格欄最大的值

MIN(字段名)取得一個(gè)表格欄最小的值

SUM(字段名)把數(shù)據(jù)欄的值相加

引用以上函數(shù)的方法:

sql="selectsum(字段名)as別名from數(shù)據(jù)表where條件表達(dá)式"

setrs=conn.excute(sql)

用rs("別名")獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。

(5)數(shù)據(jù)表的建立和刪除:

CREATETABLE數(shù)據(jù)表名稱(字段1類型1(長(zhǎng)度),字段2類型2(長(zhǎng)度)……)

DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個(gè)數(shù)據(jù)表)

4.記錄集對(duì)象的方法:

rs.movenext將記錄指針從當(dāng)前的位置向下移一行

rs.moveprevious將記錄指針從當(dāng)前的位置向上移一行

rs.movefirst將記錄指針移到數(shù)據(jù)表第一行

rs.movelast將記錄指針移到數(shù)據(jù)表最后一行

rs.absoluteposition=N將記錄指針移到數(shù)據(jù)表第N行

rs.absolutepage=N將記錄指針移到第N頁的第一行

rs.pagesize=N設(shè)置每頁為N條記錄

rs.pagecount根據(jù)pagesize的設(shè)置返回總頁數(shù)

rs.recordcount返回記錄總數(shù)

rs.bof返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否

rs.eof返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否

rs.delete刪除當(dāng)前記錄,但記錄指針不會(huì)向下移動(dòng)

rs.addnew添加記錄到數(shù)據(jù)表末端

rs.update更新數(shù)據(jù)表記錄3.3VBScript介紹MicrosoftVisualBasicScriptingEdition是程序開發(fā)語言VisualBasic家族的最新成員,它將靈活的Script應(yīng)用于更廣泛的領(lǐng)域,包括MicrosoftInternetExplorer中的Web客戶機(jī)Script和MicrosoftInternetInformationServer中的Web服務(wù)器Script。VBScript使用ActiveX?Script與宿主應(yīng)用程序?qū)υ挕J褂肁ctiveXScript,瀏覽器和其他宿主應(yīng)用程序不再需要每個(gè)Script部件的特殊集成代碼。ActiveXScript使宿主可以編譯Script、獲取和調(diào)用入口點(diǎn)及管理開發(fā)者可用的命名空間。通過ActiveXScript,語言廠商可以建立標(biāo)準(zhǔn)Script運(yùn)行時(shí)語言。Microsoft將提供VBScript的運(yùn)行時(shí)支持。Microsoft正在與多個(gè)Internet組一起定義ActiveXScript標(biāo)準(zhǔn)以使Script引擎可以互換。ActiveXScript可用在Microsoft?InternetExplorer和Microsoft?InternetInformationServer中。VBScript只有一種數(shù)據(jù)類型,稱為Variant。Variant是一種特殊的數(shù)據(jù)類型,根據(jù)使用的方式,它可以包含不同類別的信息。因?yàn)閂ariant是VBScript中唯一的數(shù)據(jù)類型,所以它也VBScript中所有函數(shù)的返回值的數(shù)據(jù)類型。最簡(jiǎn)單的Variant可以包含數(shù)字或字符串信息。Variant用于數(shù)字上下文中時(shí)作為數(shù)字處理,用于字符串上下文中時(shí)作為字符串處理。這就是說,如果使用看起來象是數(shù)字的數(shù)據(jù),則VBScript會(huì)假定其為數(shù)字并以適用于數(shù)字的方式處理。與此類似,如果使用的數(shù)據(jù)只可能是字符串,則VBScript將按字符串處理。當(dāng)然,也可以將數(shù)字包含在引號(hào)("")中使其成為字符串。除簡(jiǎn)單數(shù)字或字符串以外,Variant可以進(jìn)一步區(qū)分?jǐn)?shù)值信息的特定含義。例如使用數(shù)值信息表示日期或時(shí)間。此類數(shù)據(jù)在與其他日期或時(shí)間數(shù)據(jù)一起使用時(shí),結(jié)果也總是表示為日期或時(shí)間。當(dāng)然,從Boolean值到浮點(diǎn)數(shù),數(shù)值信息是多種多樣的。Variant包含的數(shù)值信息類型稱為子類型。大多數(shù)情況下,可將所需的數(shù)據(jù)放進(jìn)Variant中,而Variant也會(huì)按照最適用于其包含的數(shù)據(jù)的方式進(jìn)行操作。聲明變量的一種方式是使用Dim語句、Public語句和Private語句在Script中顯式聲明變量。另一種方式是通過直接在Script中使用變量名這一簡(jiǎn)單方式隱式聲明變量。這通常不是一個(gè)好習(xí)慣,因?yàn)檫@樣有時(shí)會(huì)由于變量名被拼錯(cuò)而導(dǎo)致在運(yùn)行Script時(shí)出現(xiàn)意外的結(jié)果。因此,最好使用OptionExplicit語句顯式聲明所有變量。

1.過程

在VBScript中,過程被分為兩類:Sub過程和Function過程。

(1)Sub過程Sub過程是包含在Sub和EndSub語句之間的一組VBScript語句,執(zhí)行操作但不返回值。Sub過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式)。(2)Function過程Function過程是包含在Function和EndFunction語句之間的一組VBScript語句。Function過程與Sub過程類似,但是Function過程可以返回值。Function過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式)。如果Function過程無任何參數(shù),則Function語句必須包含空括號(hào)()。Function過程通過函數(shù)名返回一個(gè)值,這個(gè)值是在過程的語句中賦給函數(shù)名的。Function返回值的數(shù)據(jù)類型總是Variant。2.VBScript中可使用下列循環(huán)語句:

☆Do...Loop:當(dāng)(或直到)條件為True時(shí)循環(huán)。

☆While...Wend:當(dāng)條件為True時(shí)循環(huán)。

☆For...Next:指定循環(huán)次數(shù),使用計(jì)數(shù)器重復(fù)運(yùn)行語句。

☆ForEach...Next:對(duì)于集合中的每項(xiàng)或數(shù)組中的每個(gè)元素,重復(fù)執(zhí)行一組語句。3.在VBScript中可使用以下條件語句:

☆I(lǐng)f...Then...Else語句

,☆SelectCase語句3.4適應(yīng)Internet時(shí)代需求的B/S體系架構(gòu)B/S架構(gòu),或稱瀏覽器/服務(wù)器架構(gòu),其最顯著的特點(diǎn)就是客戶端操作界面,采用我們上網(wǎng)時(shí)常見的瀏覽器形式??蛻舳说暮竺媸菓?yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器,客戶端通過瀏覽器訪問服務(wù)器以及與服務(wù)器相連的后臺(tái)數(shù)據(jù)庫,發(fā)出數(shù)據(jù)請(qǐng)求,由應(yīng)用服務(wù)器,或者稱之為Web服務(wù)器向后臺(tái)數(shù)據(jù)庫服務(wù)器取出數(shù)據(jù)并進(jìn)行計(jì)算,將結(jié)果返回瀏覽器,完成整個(gè)操作過程。C/S架構(gòu):以往軟件產(chǎn)品常采用C/S結(jié)構(gòu),或稱為客戶機(jī)/服務(wù)器結(jié)構(gòu),整個(gè)應(yīng)用系統(tǒng)被分為客戶機(jī)和服務(wù)器兩部分??蛻舳说慕缑娌捎玫氖菍S玫拈_發(fā)界面,比如說我們常見的Word、Excel等產(chǎn)品界面,客戶端需要安裝專用的軟件,并進(jìn)行管理和維護(hù)??蛻魴C(jī)主要用來管理接口,執(zhí)行客戶機(jī)軟件應(yīng)用程序、采集數(shù)據(jù)以及向服務(wù)器發(fā)出應(yīng)用請(qǐng)求,完成應(yīng)用處理。服務(wù)器主要用來承擔(dān)系統(tǒng)的數(shù)據(jù)共享管理、通訊管理、文件管理和向客戶機(jī)提供服務(wù),完成數(shù)據(jù)訪問和事務(wù)處理。特點(diǎn)優(yōu)勢(shì)客戶端不需要安裝任何軟件,有IE瀏覽器即可客戶端軟件研發(fā)費(fèi)用完全避免客戶端零管理,節(jié)省管理費(fèi)用和人員精力縮短產(chǎn)品研發(fā)和項(xiàng)目實(shí)施周期,見效快使用簡(jiǎn)單,懂得上網(wǎng)即懂軟件操作,易用性好所用內(nèi)容都運(yùn)行、存放在服務(wù)器端集中管理、統(tǒng)一維護(hù)、分類有序存放信息和數(shù)據(jù)在服務(wù)器端可實(shí)現(xiàn)整個(gè)系統(tǒng)的維護(hù)、升級(jí)、擴(kuò)充等,管理維護(hù)方便。與Internet的根本一致性具有良好的可擴(kuò)充性,可以隨意增建功能模塊,可實(shí)現(xiàn)與單位已有系統(tǒng)和Internet(如單位網(wǎng)站等)的無縫集成,實(shí)現(xiàn)單位資源的全面整合。B/S架構(gòu)較之于C/S架構(gòu)的優(yōu)勢(shì)客戶受益點(diǎn):從前面我們對(duì)對(duì)兩種架構(gòu)的比較來說,我們可以看出,應(yīng)用采用B/S架構(gòu)的應(yīng)用程序,客戶可以獲得多方面的受益:建設(shè)周期短;投入費(fèi)用低;使用、管理和維護(hù)方便;跨平臺(tái)運(yùn)行、與其他系統(tǒng)和Internet無縫集成;良好的復(fù)用性和可擴(kuò)充性??梢哉f,B/S結(jié)構(gòu)是當(dāng)前管理軟件系統(tǒng)架構(gòu)的必然趨勢(shì)。第四章系統(tǒng)總體設(shè)計(jì)4.1基本簡(jiǎn)介該系統(tǒng)是專門用于公司操作員對(duì)資料的錄入、修改、增加、刪除等,公司管理層還可以實(shí)時(shí)統(tǒng)計(jì)客戶資料、客戶購買力、統(tǒng)計(jì)業(yè)務(wù)員負(fù)責(zé)的客戶和工作量、業(yè)務(wù)成功率,以及管理員進(jìn)行權(quán)限管理、操作員管理等的ASP應(yīng)用程序。它應(yīng)該具有開放性、方便性和靈活性。操作員進(jìn)行有效的身份驗(yàn)證登錄后,根據(jù)管理員給予的權(quán)限進(jìn)行操作,超越權(quán)限系統(tǒng)將自動(dòng)予以提示;操作員登記資料將被記入庫中以供審核和查閱;另外,系統(tǒng)還將自動(dòng)記錄任何員工的操作記錄,以備以后查閱。用戶可以是任何公司、工廠或企事業(yè)單位,只要他們有客戶或需要和別人發(fā)生經(jīng)濟(jì)往來,即可適用。4.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu)為了保證系統(tǒng)運(yùn)行的效率和可靠性,系統(tǒng)服務(wù)器端應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國(guó)際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下:☆軟件環(huán)境:客戶端:Windows98/2000/XP/.NET,InternetExplorer(IE)5.0等服務(wù)器端:WindowsNT/Windows2000Server/Window.NET,InternetInformationServer(IIS)4.0及其以上版本,IE5.0以上等。數(shù)據(jù)庫:采用access,運(yùn)行于服務(wù)器端。也可以采用SQLServer☆硬件環(huán)境:服務(wù)器CPU:PIII500以上,內(nèi)存:128M以上客戶機(jī)CPU:P200MMX以上,內(nèi)存:32M以上4.2系統(tǒng)結(jié)構(gòu)圖根據(jù)前面分析,客戶關(guān)系管理系統(tǒng)的結(jié)構(gòu)圖如下:客戶關(guān)系管理客戶關(guān)系管理系統(tǒng)統(tǒng)計(jì)資料統(tǒng)計(jì)資料基本資料系統(tǒng)功能基本資料系統(tǒng)功能系統(tǒng)設(shè)置留言管理日志分析系統(tǒng)設(shè)置留言管理日志分析用戶管理審核入庫客戶統(tǒng)計(jì)業(yè)務(wù)員統(tǒng)計(jì)洽談統(tǒng)計(jì)交易統(tǒng)計(jì)每日統(tǒng)計(jì)客戶資料業(yè)務(wù)員資料洽談資料交易資料客戶關(guān)系管理系統(tǒng)結(jié)構(gòu)圖4.3詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是整個(gè)設(shè)計(jì)過程中,最重要的步驟之一。下面就分如下幾個(gè)部分對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì):(1)基本資料(2)統(tǒng)計(jì)資料(3)系統(tǒng)設(shè)置。4.3.1基本資料基本資料包含了客戶資料、業(yè)務(wù)員資料、洽談資料、交易資料五個(gè)小項(xiàng),每個(gè)小項(xiàng)都有資料查詢、資料添加、資料修改、資料刪除、資料打印等基本功能。以客戶資料為例:通常,每個(gè)公司客戶都對(duì)應(yīng)一條記錄,但每個(gè)公司客戶可以對(duì)應(yīng)對(duì)條聯(lián)系人資料??紤]到目前系統(tǒng)存貯空間可以很大,也為了檢索更加方便,我把客戶資料分成兩個(gè)數(shù)據(jù)表,字段名一般是相應(yīng)的英文單詞。這樣,查詢起來較方便,會(huì)節(jié)約時(shí)間,也不致于造成數(shù)據(jù)十分雜亂等。詳細(xì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)如下表所示:客戶公司資料數(shù)據(jù)結(jié)構(gòu)客戶聯(lián)系人資料數(shù)據(jù)結(jié)構(gòu)客戶資料的添加必須經(jīng)過審核才能入庫(在“系統(tǒng)功能”里面),其他操作員才能看得到。其中特別要說明的是name_njd這個(gè)字段是顯示標(biāo)志,是為刪除操作所設(shè)置的,當(dāng)操作員刪除改記錄時(shí),程序?qū)⒃撟侄螛?biāo)志為1,系統(tǒng)將不顯示出來。為什么不直接刪除呢?因?yàn)榭蛻糍Y料是非常寶貴的,為了防止操作員的誤操作,程序設(shè)計(jì)將不刪除該記錄,而是把它隱藏不顯示,只有管理員才有真正的刪除權(quán)限。其他小項(xiàng)與客戶資料相似,不再具體說明。4.3.2用戶管理、用戶權(quán)限☆管理員:在此系統(tǒng)中可以有若干個(gè)管理員,即系統(tǒng)管理員。他們具有一般用戶所沒有的權(quán)限,即具有管理用戶的權(quán)力。當(dāng)然這是相對(duì)而言,只要賦予該用戶管理員的權(quán)限,那么他就是管理員。在數(shù)據(jù)庫有一個(gè)表來存放相關(guān)信息,可由已存在的管理員添加或刪除管理員。其中管理員ADMIN是不能刪除的,他是系統(tǒng)特定的一個(gè)管理員?!钜话悴僮鲉T:主要是指公司的一般員工等。4.3.3操作基本模塊框圖登錄登錄輸入用戶名和密碼輸入用戶名和密碼否是否正確是否正確是否有權(quán)限是否有權(quán)限否自動(dòng)增加在線人數(shù)自動(dòng)增加在線人數(shù)執(zhí)行相應(yīng)的執(zhí)行相應(yīng)的操作退出退出自動(dòng)減少在自動(dòng)減少在線人數(shù)結(jié)束結(jié)束CRM系統(tǒng)基本模塊框圖4.4主要文件功能介紹及詳解參考文獻(xiàn)[1]葉子,進(jìn).實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009,1(07):61-64.[2]基于MATLAB實(shí)現(xiàn)的指紋圖像預(yù)處理[J].2008,34(04):836-856.[3]/baoshijieyulecheng/[4]/baomahuiyulecheng/[5]By-gnksguybb[6]李寧.指紋增強(qiáng)算法研究[D].濟(jì)南:山東大學(xué),2007.[7]馬揚(yáng)彪.基于Gabor濾波的指紋圖像增強(qiáng)[J].微計(jì)算機(jī)信息,2009,25(15):305-306.[8]向銳.面向低質(zhì)量指紋的圖像增強(qiáng)算法研究[D].重慶:西南政法大學(xué),2008.1.<conn.asp>該文件實(shí)現(xiàn)的是連接數(shù)據(jù)庫和斷開連接的功能。文件中主要是定義了兩個(gè)過程conn_init()和endConnection()。第一個(gè)是連接數(shù)據(jù)庫,第二個(gè)是實(shí)現(xiàn)斷開連接。其中conn_init()過程中的連接是通過下面語句實(shí)現(xiàn)的:connstr="DBQ="+server.mappath("customer.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"setconn=server.createobject("ADODB.CONNECTION")conn.openconnstrconnstr確定了數(shù)據(jù)文件的路徑和數(shù)據(jù)庫驅(qū)動(dòng)程序。Conn的含義是定義了一個(gè)變量用,來存放數(shù)據(jù)庫連接所創(chuàng)建的對(duì)象。conn.openconnstr則真正實(shí)現(xiàn)了數(shù)據(jù)庫的連接。該文件主要被包含在其他文件中實(shí)現(xiàn)數(shù)據(jù)庫的連接和斷開功能。2.<index.asp>該文件的功能是系統(tǒng)首頁,自動(dòng)跳轉(zhuǎn)到登陸的入口login.asp,在此可以實(shí)現(xiàn)用戶登錄入口,進(jìn)入系統(tǒng)界面的功能。該文件的功能使這樣實(shí)現(xiàn)的:表單提交給文件login_test.asp由該文件的ASP程序?qū)μ峤恍畔⑦M(jìn)行處理。<%response.expires=0%><!--#includefile="conn.asp"-->'表示包含conn.asp文件<%'將數(shù)據(jù)中的單引號(hào)改成兩個(gè)單引號(hào),并且在前后加上單引號(hào)FunctionSqlStr(data)SqlStr="'"&Replace(data,"'","''")&"'"EndFunction '獲得用戶名和密碼name=Request("username")pass1=Request("password")'發(fā)送一條檢查密碼的指令SETpass=CONN.EXECUTE("SELECTpasswordFROMquanxianWHEREuser='"&name&"'")ifpass.eofthenResponse.Redirect("index.asp")'轉(zhuǎn)移到相應(yīng)的網(wǎng)頁Response.endelse'如果有這個(gè)用戶,檢查密碼ifpass1=pass.Fields("password")then'為session("member")賦值session("username")=name ifApplication(session("username")&"LastAccess")<>Emptythen session("username")="" '進(jìn)入登錄錯(cuò)誤頁面 Response.Redirect("Error_Again.asp") endifsession.timeout=120'加入日志操作=====================================user_ip=Request.ServerVariables("REMOTE_HOST")sql="InsertIntoday(ip,user,thing)Values("sql=sql&SqlStr(user_ip)&","sql=sql&SqlStr(session("username"))&","sql=sql&SqlStr("登錄系統(tǒng)")&")"'發(fā)送sql指令,加入信息conn.Executesql '==================================================='進(jìn)入登錄后頁面Response.Redirect("main.asp")'轉(zhuǎn)移到相應(yīng)的網(wǎng)頁 else'進(jìn)入重新登錄頁面Response.Redirect("index.asp")'轉(zhuǎn)移到相應(yīng)的網(wǎng)頁endifendif'=關(guān)閉數(shù)據(jù)庫============================pass.close'關(guān)閉記錄setpass=nothingconn.close'關(guān)閉數(shù)據(jù)庫setconn=nothing%>3.<main.asp>成功登錄后的主文件,它把界面分成四個(gè)部分,頂部標(biāo)頭main_top.asp,中間左邊菜單欄main_left.asp,中間右邊主窗口是根據(jù)左邊菜單欄顯示相應(yīng)的文件,默認(rèn)是jbzl_khzl.asp,底部是顯示基本的用戶信息和提示信息main_down.asp。該文件代碼如下:<html><head><title><%=Application("main_title")%></title><METAHTTP-EQUIV="html"CONTENT="no-cache"></head><framesetrows="61,*,20"cols="*"framespacing="0"frameborder="0"border="0"><framename="top"scrolling="no"noresizetarget="contents"src="main_top.asp"marginwidth="0"marginheight="0"style="position:absolute;left:0;top:0;float:left"><framesetcols="126,*"><framename="contents"target="main"src="main_left.asp"marginwidth="0"marginheight="0"scrolling="AUTO"noresizestyle="position:absolute"><framename="main"src="jbzl_khzl.asp"scrolling="auto"marginwidth="0"marginheight="2"target="_self"></frameset><framename="bottom"scrolling="no"noresizetarget="contents"src="main_down.asp"marginwidth="0"marginheight="0"><noframes><bodytopmargin="0"leftmargin="0"><p>此網(wǎng)頁使用了框架,但您的瀏覽器不支持框架。</p></body></noframes></frameset></html>4.<mian_left.asp>該文件是顯示系統(tǒng)的菜單欄目,主要用javascript實(shí)現(xiàn)動(dòng)態(tài)效果:<scriptlanguage=JavaScript>varbV=parseInt(navigator.appVersion);varNS4=(document.layers)?true:false;varIE4=((document.all)&&(bV>=4))?true:false;varver4=(NS4||IE4)?true:false;functionexpandIt(){return}functionexpandAll(){return}functionnomsg(){self.status="";}</script><scriptlanguage=JAVASCRIPT>isExpanded=false;functiongetIndex(el){ind=null;for(i=0;i<document.layers.length;i++){whichEl=document.layers[i];if(whichEl.id==el){ind=i;break;}}returnind;}functionarrange(){nextY=document.layers[firstInd].pageY+document.layers[firstInd].document.height;for(i=firstInd+1;i<document.layers.length;i++){whichEl=document.layers[i];if(whichEl.visibility!="hide"){whichEl.pageY=nextY;nextY+=whichEl.document.height;}}}functioninitIt(){if(NS4){for(i=0;i<document.layers.length;i++){whichEl=document.layers[i];if(whichEl.id.indexOf("Child")!=-1)whichEl.visibility="hide";}arrange();}else{tempColl=document.all.tags("DIV");for(i=0;i<tempColl.length;i++){if(tempColl(i).className=="child")tempColl(i).style.display="none";}}}functionexpandIt(el){if(!ver4)return;if(IE4){expandIE(el)}else{expandNS(el)}}functionexpandIE(el){whichEl=eval(el+"Child");whichIm=event.srcElement;if(whichEl.style.display=="none"){whichEl.style.display="block";}else{whichEl.style.display="none";}}functionexpandNS(el){whichEl=eval("document."+el+"Child");whichIm=eval("document."+el+"Parent.document.images['imEx']");if(whichEl.visibility=="hide"){whichEl.visibility="show";whichIm.src="bullet-minus.gif";}else{whichEl.visibility="hide";whichIm.src="bullet-plus.gif";}arrange();}functionshowAll(){for(i=firstInd;i<document.layers.length;i++){whichEl=document.layers[i];whichEl.visibility="show";}}functionexpandAll(isBot){newSrc=(isExpanded)?"bullet-plus.gif":"bullet-minus.gif";if(NS4){document.images["imEx"].src=newSrc;for(i=firstInd;i<document.layers.length;i++){whichEl=document.layers[i];if(whichEl.id.indexOf("Parent")!=-1){whichEl.document.images["imEx"].src=newSrc;}if(whichEl.id.indexOf("Child")!=-1){whichEl.visibility=(isExpanded)?"hide":"show";}}arrange();if(isBot&&isExpanded)scrollTo(0,document.layers[firstInd].pageY);}else{divColl=document.all.tags("DIV"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論