




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、物流管理系統(tǒng)的設計和實現(xiàn)摘 要:本設計論文的內容,圍繞物流管理系統(tǒng)展開。物流管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強.數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。經過分析如此情況,我們使用美國microsoft公司的visual basic前臺開發(fā)工具,使用access2000作為后臺數(shù)據(jù)庫,利用它們在開發(fā)數(shù)據(jù)庫應用程序方面的眾多優(yōu)越性,尤其是vb在應用程序的客戶端應用開發(fā)方面提供了大量的用于數(shù)據(jù)庫應用開發(fā)的各種組件,大大提高開發(fā)的效率。首先在系統(tǒng)應用原型,然后,對初
2、始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成在用戶要求的時間內建立系滿意的可行系統(tǒng)。關鍵詞:物流管理系統(tǒng);vb;數(shù)據(jù)庫;數(shù)據(jù)訪問對象(ado);結構化查詢語句(sql)abstractin this paper,logistics management of mall system has been discussed. logistics management of mall system is a typical application of managing information system (mis),which mainly includes building up data
3、-base of back-end and developing the application interface of front-end. the former required consistency and integrality and security of data. the later should make the application powerful and easily used.by analysis of this situation, we use microsoft visual basic as front-end and microsoft access
4、2000 as database of back-end. there are many advantages in developing database applications, especially in the client application used vb. it provides lots of vcl to database application development. it enhances development efficiently. firstly system application prototype is built.the demand is rep
5、eated in the original system. it can give you a short-cut to build up a prototype of system application. the prototype could be modified and developed till users are satisfied.keywords:logistics management of mall system; vb; database; ado; sql一、緒論:物流概念的提出是人的能力增強所導致的必然結果。過去在工業(yè)化過程中,由于能力所限,人們的注意力放在廠區(qū)范
6、圍內,至于原料和產品在廠外怎樣流動,考慮的相對少一些,只要成本低就好。隨著人的能力的增強和社會化、專業(yè)化大生產體系的建立,人們開始將一個區(qū)域,甚至整個世界、整個地球看做一個大工廠、一個整體來研究產品生產流程的合理性和優(yōu)化問題,從過去把重點放在生產工廠的合理建設轉移到把重點放在物資流通全過程的合理設計上,僅把工廠看做物資流動過程中的一個駐留點。狹義地講,如果認為運輸組織意味著運輸過程優(yōu)化,側重于合理使用運輸工具,那么物流組織則意味著流動過程的優(yōu)化,側重于物資流動方式的合理性。由運輸向物流的轉變相當于把運輸工具與運輸對象的位置做了對調。再進一步講,這種轉變把生產與流通運輸這一對對立統(tǒng)一的事物的位置
7、也做了調整,過去以研究生產為主,運輸流動為輔,現(xiàn)在以流通運輸為主,生產為輔。這就是物流概念的新意所在。位置的調換會使人產生不同的感覺,這樣做有時有利于啟發(fā)新思路,有利于解決問題和提高管理水平。這也說明并非只有新的事物、新的技術能給人們帶來效益,一個理念、觀念或思路的改變也會給人們帶來新意和效益。它遵循的基本規(guī)律是:理念改變概念改變業(yè)務改變效果改變。抓住物流概念的實質才能綱舉目張、有的放矢,做到轉變服務意識,從坐等客戶上門到主動上門為客戶服務,并提供多樣化的、使客戶滿意的服務。也正因為服務質量的改善,擴大了服務范圍,使許多物流經營者獲得顯著效益,與過去的運輸過剩和不景氣相比,運輸市場出現(xiàn)了蓬勃發(fā)
8、展的勢頭。二、課題背景:國家對企業(yè)信息化的重視、電子政務的推廣、海關的改革、物流業(yè)務自身的迅速發(fā)展,都充當了物流信息化進程中強有力的助推器,而it業(yè)對于物流的關注則成為了直接的動力。整個物流產業(yè)對于信息技術的需求分為三類,應該提倡效益為本、需求為先、循序漸進的信息化實施之路。 基礎信息化需求仍是主流 第一類是基礎信息化。由于信息技術的發(fā)展和普及,特別是近幾年,互聯(lián)網(wǎng)技術已經在解決信息共享、信息傳輸、信息標準和信息成本等問題上,有了長足的進步,使得信息可以廣泛地成為調控和決策的基礎。因此,信息化最大的作用就是使企業(yè)順利實現(xiàn)信息的采集、傳輸、加工和共享,最后在決策過程中有效地利用各種信息,從而提高
9、經濟效益。 這之中有很多的難點,比如說信息的采集,如果企業(yè)的信息系統(tǒng)和業(yè)務系統(tǒng)是兩套,就不容易實現(xiàn)實時的信息采集,所以,必須要使業(yè)務系統(tǒng)和信息系統(tǒng)合一,或者說必須用信息系統(tǒng)來做業(yè)務。只有這樣,才能夠真正解決好信息的采集問題。而信息的共享,會涉及到很多機制問題,目前,大量的企業(yè)還不能夠做到信息共享。因此,信息用于決策的部分還不多。所以,在這樣一個情況下,完善基礎信息化建設是首先要做的事。 優(yōu)化帶來管理效益的提高 在基礎信息化實現(xiàn)以后,就會有第二層的需求。一些條件比較好的企業(yè)經過一段時間運行以后,將會開始尋求改進,利用積累下來的數(shù)據(jù),進行優(yōu)化。 優(yōu)化主要是在兩個層面上,一個是流程的優(yōu)化,會涉及到整
10、個的流程再造,這就需要用數(shù)據(jù)來分析,所以一定要有第一階段的基礎。第二個方面的優(yōu)化是日常操作的優(yōu)化,比如說每天都有的庫存的改變、運輸?shù)恼{度,同樣也需要信息系統(tǒng)的支持。 做好優(yōu)化的工作,將能夠大大提高物流管理的效率。流程的改造、日常操作的優(yōu)化都會帶來看得見的效益。所以,這就比僅僅依賴于獲得信息,還是人工決策,要上一個層次,等于是機器用數(shù)據(jù)來進行優(yōu)化的決策。 當然,這個要求相對要高一些,因為這要求在相應的信息系統(tǒng)中必須有一個優(yōu)化的模塊。換句話說,要有一個實現(xiàn)優(yōu)化的模型和算法,而在實際操作中,這樣的模型是很難概括的,如果不對業(yè)務進行深入地了解,絕對不能形成這樣的優(yōu)化模型,同時還要保證實時、高效,才有可
11、能滿足業(yè)務的需要。 目前,這一層次的信息系統(tǒng)建設進行得還很不完備,據(jù)估計,在收集到的案例中,明顯含有這塊功能的信息系統(tǒng)僅占15%左右。 供應鏈管理打造共贏模式 第三層次,也是最高層次的需求,就是供應鏈管理的工具。供應鏈這個概念包含的內容很多,不僅僅是物流,還包括其他方面的內容。供應鏈是用來調節(jié)企業(yè)和企業(yè)之間的協(xié)作關系、在市場經濟成熟到一定程度之后出現(xiàn)的一種概念。在市場經濟發(fā)展初期,企業(yè)和企業(yè)之間是完全競爭的,只有到了成熟的產品鏈、價值鏈、服務鏈形成以后,企業(yè)和企業(yè)之間才有一種依存和戰(zhàn)略合作的關系,它們在業(yè)務上才會產生協(xié)同的要求。一旦建立這種要求,企業(yè)之間就需要用一套信息系統(tǒng)把這一要求固定下來,
12、來執(zhí)行業(yè)務上的協(xié)同操作。例如,在上下游的企業(yè)之間,庫存信息對彼此是公開的,采購不再是由一次次的招標來完成,而是變成自動補貨。這種情況是建立在企業(yè)經營鏈基礎之上的一種新的業(yè)務模式,而供應鏈管理的軟件,正是用來解決這些問題的有效工具。 立足實際力爭三步并作一步走 我國物流信息化目前的需求仍是以底層的基礎信息化為主?,F(xiàn)有的物流管理軟件大多僅僅是反映信息,只有少數(shù)很成熟的軟件對流程和操作的優(yōu)化具備很強的功能。 將物流信息化的需求分為三層,有助于了解發(fā)展的趨勢,了解自己的目標。盡管供應鏈管理在我國現(xiàn)在還沒有太多成功案例,但是并不代表沒有這方面的發(fā)展條件。只要企業(yè)之間不斷加強合作,建立戰(zhàn)略合作伙伴關系,進
13、行業(yè)務上的協(xié)同,必將促進供應鏈、價值鏈的形成。所以,只要充分利用資源,我國的物流信息化實現(xiàn)三步并作一步走,是完全有可能的。但是,實現(xiàn)這一目標,就要求企業(yè)必須給自己定好位,絕對不能從觀念出發(fā),不能脫離實際,每一層的需求都需要一定的基礎、一定的管理水準、一定的物質和技術條件。從這個意義上講,只有最合適企業(yè)的系統(tǒng)才可能取得成功。 三、課題的任務利用可視化編程語言(microsoft visual basic)和數(shù)據(jù)庫編程語言(sql)完成整個物流管理系統(tǒng)的設計,掌握科技文獻檢索的方法,完成論文的撰寫。在此次要物流管理系統(tǒng)中,我的工作包括:1、 制訂可行性分析報告,進行項目需求分析,完成e-r模型設計
14、;2、 功能及模塊的初步設計;3、 數(shù)據(jù)庫設計與實現(xiàn);四、項目可行性分析 具體要求:本次開發(fā)任務所要完成的是物流管理系統(tǒng),以實現(xiàn)物流智能化管理,按照具體環(huán)境設定對其提出如下具體要求:1、 分級的數(shù)據(jù)庫和用戶管理。要求具有可靠的數(shù)據(jù)庫連接,用戶必須通過密碼才能登陸功能使用環(huán)境。并且根據(jù)不同用戶提供不同的權限。2、 實現(xiàn)貨品資料的管理,添加、刪除、修改等操作。3、 實現(xiàn)倉庫資料的管理,添加、刪除、修改等操作。4、 實現(xiàn)物流的管理,進貨、出貨、貨品流動等操作。5、 實現(xiàn)報表瀏覽打印等功能。6、 幫助功能。7、 可移植可擴充性。 開發(fā)周期可行性:1、 可行性研究及需求分析:一周時間2、 程序概要設計:
15、一周時間3、 程序詳細設計:一周時間4、 系統(tǒng)測試及試運行、修改:一周時間 項目開發(fā)環(huán)境及開發(fā)平臺:1. 系統(tǒng)設計平臺:microsoft windows 2000 sp22. 數(shù)據(jù)庫設計工具:microsoft access 20003. 程序設計工具:microsoft visual basic 6.0何為visual basic?basic到visual basic的發(fā)展 basic是beginners all-purpose symbolic instruction code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。basic簡單、易學,目前仍是計算機入門
16、的主要學習語言之一。basic語言的問世及發(fā)展 basic語言自其問世經歷了以下四個階段:第一階段:(1964年70年代初) 1964年basic語言問世。 第二階段:(1975年80年代中) 微機上固化的basic第三階段:(80年代中90年代初) 結構化basic語言。第四階段:(1991年以來) visual basic 1991年,微軟推出了visual basic1.0版。這在當時引起了很大的轟動。許多專家把vb的出現(xiàn)當作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實,以我們現(xiàn)在的目光來看,vb10的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗
17、試在vb的平臺上進行軟件創(chuàng)作。微軟也不失時機地在四年內接連推出vb20,vb30,vb40三個版本。并且從vb3開始,微軟將access的數(shù)據(jù)庫驅動集成到了vb中,這使得vb的數(shù)據(jù)庫編程能力大大提高。從vb4開始,vb也引入了面向對象的程序設計思想。vb功能強大,學習簡單。而且,vb還引入了“控件:的概念,使得大量已經編好的vb程序可以被我們直接拿來使用,如今,vb已經有了6.0版。通過幾年的發(fā)展,它已成為一種真真專業(yè)化的開發(fā)語言和環(huán)境。用戶認為可用visual basic快速創(chuàng)建windows程序,在現(xiàn)在還可以編寫企業(yè)水平的客戶服務器程序及強大的數(shù)據(jù)庫應用程序,visual basic新版中
18、還有更多可用功能。visual basic的編程基礎 什么是程序 ?首先需要知道下面這個問題的答案:“程序到底是什么?”計算機程序是指令集,它告訴計算機如何執(zhí)行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執(zhí)行預期的任務。 計算機也是一樣,只是它們需要為執(zhí)行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁盤中保存訊息。幸運的是,許多這樣的指令包含在處理器芯片中或內置于操作系統(tǒng)中,因此用戶不必擔心它們。相反,應集中于為任務提供指令,如計算雇員工資,創(chuàng)建鄰居郵件列表,或設
19、置格式化文本以顯示最近的年度報表信息。雖然我們用自然語言讀這些指令,但計算機指令必須是二進制代碼,即一系列在計算機內存和處理器中的開或關的狀態(tài)。有些語言,如匯編程序,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此visual basic和其他編程語言使程序員可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,并要遵循高度定義的結構。事件驅動編程: visual basic允許創(chuàng)建反映用戶動作和系統(tǒng)事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在windows環(huán)境中有何不同。 在windows之前,程序以順序方式
20、運行。也就是說,一旦程序啟動,它就一條指令一條指令的向前執(zhí)行,直到程序結束或出現(xiàn)致命錯誤。面向對象編程 使創(chuàng)建windows程序較為容易的關鍵技術是面向對象編程,或oop。這種技術可以創(chuàng)建可重用組建,它是程序的組成模塊。幾個定義: 在討論visual basic時,經??梢月牭竭@些術語,因此對這些術語的基本理解十分有幫助。控件提供程序可見界面的可重用對象??丶氖纠形谋究颉撕灪兔畎粹o。 事件 由用戶或操作系統(tǒng)引發(fā)的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數(shù)據(jù)。方法 嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數(shù)據(jù)庫對象有打開紀錄集并從一個記
21、錄移動到另一個記錄的方法。 對象 程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是visual basic中所有對象的示例。 過程 為完成任務而編寫的代碼段。過程通常用于響應特定的事件。 屬性 對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數(shù)據(jù)和從對象取回信息。 實施計劃:1. 2006-03-01開始進行任務書設計2. 2006-03-10開始可行性研究和需求分析3. 2006-03-20 開始編碼4. 2006-04-02完成編碼,編譯5. 2006-04-12完成測試,發(fā)布五、項目總體設計
22、程序模型主界面幫助貨品管理倉庫管理物流管理添加刪除修改添加刪除修改添加刪除修改登陸 數(shù)據(jù)庫設計 數(shù)據(jù)庫類型:microsoft access6.0數(shù)據(jù)庫 數(shù)據(jù)庫連接:ado(activex data object)數(shù)據(jù)庫連接控件 數(shù)據(jù)庫名稱:lms.mdbbale表: 用于保存貨品信息字段名字段類型關鍵字說明baleidcharyes貨品idbalenamechar貨品名稱balefromchar貨品產地balespecchar貨品規(guī)格balepricecurrency貨品價格balememomemo貨品備注config表:系統(tǒng)設置表字段名字段類型關鍵字說明setuptimedatetime程
23、序啟用時間adminpswchar管理員密碼guestenabledboolean是否支持匿名訪問depot表:倉庫資料表字段名字段類型關鍵字說明depotidcharyes倉庫iddepotnamechar倉庫名稱depotlocalchar倉庫地址depotmemomemo倉庫注釋operator表:管理員信息表字段名字段類型關鍵字說明opidcharyes管理員idoploginchar管理員用戶名oppswchar管理員密碼openabledchar管理員是否可用opmemomemo管理員備注storage表:存儲信息表字段名字段類型關鍵字說明opidcharyes管理員idoplog
24、inchar管理員用戶名oppswchar管理員密碼openabledchar管理員是否可用opmemomemo管理員備注storage:貨物庫存表字段名字段類型關鍵字說明sidcharyes存儲記錄sbbaleidchar存儲貨品編號sdepotidchar存儲倉庫編號stotalchar存儲數(shù)量 ado程序接口設計a) 數(shù)據(jù)庫的訪問控制方法:目前在vb中可以通過三種方式訪問數(shù)據(jù)庫:1、idc(internet database connector)方式;idc是一個傳統(tǒng)的數(shù)據(jù)庫查詢工具,用來定義和執(zhí)行數(shù)據(jù)庫查詢的sql命令,并向瀏覽器返回一個指定數(shù)據(jù)格式的頁面。使用idc訪問數(shù)據(jù)庫最大的特
25、點是簡單,幾乎不需要編程就能實現(xiàn)對數(shù)據(jù)庫的訪問。2、ado(activex data objects)方式;ado訪問數(shù)據(jù)庫,更像編寫數(shù)據(jù)庫應用程序。它把絕大部分的數(shù)據(jù)庫操作封裝在七個對象中,在編程調用這些對象執(zhí)行相應的數(shù)據(jù)庫操作。ado是asp技術的核心之一,它集中體現(xiàn)了asp技術豐富而靈活的數(shù)據(jù)庫訪問功能。ado建立了基于web方式訪問數(shù)據(jù)庫的腳本編寫模型,不僅支持任何大型數(shù)據(jù)庫的核心功能,而且支持許多數(shù)據(jù)庫所專有的特性。一般使用ado訪問數(shù)據(jù)庫的程序應該使用connection對象建立并管理與遠程數(shù)據(jù)庫的連接,用command對象提供靈活的查詢,用recordset對象訪問數(shù)據(jù)庫查詢所返
26、回的結果。這三者是ado的最核心的對象。這種方式將是我的設計中用到的主要數(shù)據(jù)庫訪問方式。3、rds(remote data service)方式。rds提供訪問遠程數(shù)據(jù)庫的功能。ado雖然能夠提供非常強大的數(shù)據(jù)庫訪問功能,但是它不支持數(shù)據(jù)遠程操作(data remoting)。而rds支持數(shù)據(jù)遠程操作。它不僅能執(zhí)行查詢并返回數(shù)據(jù)庫查詢結果,而且可以把服務器端的數(shù)據(jù)“搬到“用戶端修改,并調用一個數(shù)據(jù)庫更新命令,將用戶端修改的數(shù)據(jù)寫回數(shù)據(jù)庫,象使用本地數(shù)據(jù)庫一樣。b) ado 定義編程模型,即訪問和更新數(shù)據(jù)源所必需的活動順序。編程模型概括了 ado 的全部功能。編程模型意味著對象模型,即響應并執(zhí)行
27、編程模型的“對象”組。對象擁有“方法”,方法執(zhí)行對數(shù)據(jù)進行的操作;對象擁有“屬性”,屬性指示數(shù)據(jù)的某些特性或控制某些對象方法的行為。與對象關聯(lián)的是“事件”,事件是某些操作已經發(fā)生或將要發(fā)生的通知。c) ado 提供執(zhí)行以下操作的方式: 1. 連接到數(shù)據(jù)源。同時,可確定對數(shù)據(jù)源的所有更改是否已成功或沒有發(fā)生。2. 指定訪問數(shù)據(jù)源的命令,同時可帶變量參數(shù),或優(yōu)化執(zhí)行。3. 執(zhí)行命令。4. 如果這個命令使數(shù)據(jù)按表中的行的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中。5. 適當情況下,可使用緩存行的更改內容來更新數(shù)據(jù)源。6. 提供常規(guī)方法檢測錯誤(通常由建立連接或執(zhí)行命令造成)。 在典型情況
28、下,需要在編程模型中采用所有這些步驟。但是,由于 ado 有很強的靈活性,所以最后只需執(zhí)行部分模塊就能做一些有用的工作。例如:將數(shù)據(jù)從文件直接存儲到緩存行,然后僅用 ado 資源對數(shù)據(jù)進行檢查。d) ado編程模型:連接通過“連接”可從應用程序訪問數(shù)據(jù)源,連接是交換數(shù)據(jù)所必需的環(huán)境。通過如 microsoft internet information server 作為媒介,應用程序可直接(有時稱為雙層系統(tǒng))或間接(有時稱為三層系統(tǒng))訪問數(shù)據(jù)源。對象模型使用 connection 對象使連接概念得以具體化?!笆聞铡庇糜诮缍ㄔ谶B接過程中發(fā)生的一系列數(shù)據(jù)訪問操作的開始和結束。ado 可明確事務中的
29、操作造成的對數(shù)據(jù)源的更改或者成功發(fā)生,或者根本沒有發(fā)生。如果取消事務或它的一個操作失敗,則最終的結果將仿佛是事務中的操作均未發(fā)生,數(shù)據(jù)源將會保持事務開始以前的狀態(tài)。對象模型無法清楚地體現(xiàn)出事務的概念,而是用一組 connection 對象方法來表示。命令通過已建立的連接發(fā)出的“命令”可以某種方式來操作數(shù)據(jù)源。一般情況下,命令可以在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或者在表中以行的格式檢索數(shù)據(jù)。對象模型用 command 對象來體現(xiàn)命令概念。command 對象使 ado 能夠優(yōu)化對命令的執(zhí)行。參數(shù)通常,命令需要的變量部分即“參數(shù)”可以在命令發(fā)布之前進行更改。例如,可重復發(fā)出相同的數(shù)據(jù)檢索命令,但每
30、一次均可更改指定的檢索信息。參數(shù)對執(zhí)行其行為類似函數(shù)的命令非常有用,這樣就可知道命令是做什么的,但不必知道它如何工作。例如,可發(fā)出一項銀行過戶命令,從一方借出貸給另一方??蓪⒁^戶的款額設置為參數(shù)。對象模型用 parameter 對象來體現(xiàn)參數(shù)概念。記錄集如果命令是在表中按信息行返回數(shù)據(jù)的查詢(行返回查詢),則這些行將會存儲在本地。對象模型將該存儲體現(xiàn)為 recordset 對象。但是,不存在僅代表單獨一個 recordset 行的對象。記錄集是在行中檢查和修改數(shù)據(jù)最主要的方法。recordset 對象用于: 1. 指定可以檢查的行。2. 移動行。3. 指定移動行的順序。4. 添加、更改或刪除
31、行。5. 通過更改行更新數(shù)據(jù)源。6. 管理 recordset 的總體狀態(tài)。 字段一個記錄集行包含一個或多個“字段”。如果將記錄集看作二維網(wǎng)格,字段將排列構成“列”。每一字段(列)都分別包含有名稱、數(shù)據(jù)類型和值的屬性,正是在該值中包含了來自數(shù)據(jù)源的真實數(shù)據(jù)。對象模型以 field 對象體現(xiàn)字段。 要修改數(shù)據(jù)源中的數(shù)據(jù),可在記錄集行中修改 field 對象的值,對記錄集的更改最終被傳送給數(shù)據(jù)源。作為選項,connection 對象的事務管理方法能夠可靠地保證更改要么全部成功,要么全部失敗。錯誤 錯誤隨時可在應用程序中發(fā)生,通常是由于無法建立連接、執(zhí)行命令或對某些狀態(tài)(例如,試圖使用沒有初始化的記
32、錄集)的對象進行操作。對象模型以 error 對象體現(xiàn)錯誤。任意給定的錯誤都會產生一個或多個 error 對象,隨后產生的錯誤將會放棄先前的 error 對象組。屬性每個 ado 對象都有一組唯一的“屬性”來描述或控制對象的行為。屬性有兩種類型:內置和動態(tài)。內置屬性是 ado 對象的一部分并且隨時可用。動態(tài)屬性則由特別的數(shù)據(jù)提供者添加到 ado 對象的屬性集合中,僅在提供者被使用時才能存在。對象模型以 property 對象體現(xiàn)屬性。集合ado 提供“集合”,這是一種可方便地包含其他特殊類型對象的對象類型。使用集合方法可按名稱(文本字符串)或序號(整型數(shù))對集合中的對象進行檢索。ado 提供四
33、種類型的集合: connection 對象具有 errors 集合,包含為響應與數(shù)據(jù)源有關的單一錯誤而創(chuàng)建的所有 error 對象。command 對象具有 parameters 集合,包含應用于 command 對象的所有 parameter 對象。recordset 對象具有 fields 集合,包含所有定義 recordset 對象列的 field 對象。另外,connection、command、recordset 和 field 對象都具有 properties 集合。它包含所有屬于各個包含對象的 property 對象。 ado 對象擁有可在其上使用的諸如“整型”、“字符型”或“布
34、爾型”這樣的普通數(shù)據(jù)類型來設置或檢索值的屬性。然而,有必要將某些屬性看成是數(shù)據(jù)類型“collection object”的返回值。相應的,集合對象具有存儲和檢索適合該集合的其他對象的方法。事件“事件”是對將要發(fā)生或已經發(fā)生的某些操作的通知。一般情況下,可用事件高效地編寫包含幾個異步任務的應用程序。對象模型無法顯式體現(xiàn)事件,只能在調用事件處理程序例程時表現(xiàn)出來。在操作開始之前調用的事件處理程序便于對操作參數(shù)進行檢查或修改,然后取消或允許操作完成。操作完成后調用的事件處理程序在異步操作完成后進行通知。多個操作經過增強可以有選擇地異步執(zhí)行。例如,用于啟動異步 recordset.open 操作的應用
35、程序將在操作結束時得到執(zhí)行完成事件的通知。e) ado常用對象和方法:1、 connection對象:ado數(shù)據(jù)庫連接對象,用于實現(xiàn)ado與數(shù)據(jù)庫之間的連接。2、 command對象:ado命令對象,用于保存sql執(zhí)行命令,負責具體對數(shù)據(jù)庫的操作。3、 recordset對象:ado記錄集對象,用于保存sql執(zhí)行命令結果。4、 addnew方法:添加新的記錄到數(shù)據(jù)庫中。5、 delete方法:刪除數(shù)據(jù)庫中的記錄。6、 update方法:更新數(shù)據(jù)庫記錄。 vb程序設計名稱類型說明mdifrmmainmdi form主mdi窗體frmbaleaddform(mdi child)貨品添加窗體frmb
36、aledelform(mdi child)貨品刪除窗體frmbaleupdateform(mdi child)貨品資料更改窗體frmdepotaddform(mdi child)倉庫添加窗體frmdepotdelform(mdi child)倉庫刪除窗體frmdepotupdateform(mdi child)倉庫資料更改窗體frmbaleinform(mdi child)進貨管理窗體frmbaleoutform(mdi child)出活管理窗體frmbaleupdateform(mdi child)貨品流動管理窗體frmsysmanageform(mdi child)系統(tǒng)管理窗體frmlog
37、inform(mdi child)登陸窗體frmaboutform關于窗體dataenvdataenvironment報表數(shù)據(jù)環(huán)境datarepbaledatareport貨品報表datarepdepotdatareport倉庫報表modbootmodule啟動模塊七、模塊詳細設計a. 貨品添加窗體:frmbaleadd.frm 窗體控件:控件名稱說明frmbaleadd貨品添加窗體framain主框架txtbaleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規(guī)格信息文本框txtbaleprice貨品價格信息文
38、本框txtbalememeo貨品備注信息文本框cmdaddnew添加按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 該窗體在用戶登陸時列出所有貨品清單,但用戶選擇添加貨品記錄后,會激活資料輸入功能,若用戶輸入完成后點擊確認后,會自動檢測是否在數(shù)據(jù)庫中有沒有重復編號的數(shù)據(jù)。若有,拒絕添加,代碼如下:private sub cmdaddnew_click()/點擊添加 cmdaddnew.enabled = false cmdrefresh.enabled = false c
39、mdconfirm.enabled = true cmdcancel.enabled = true activetextbox adomain.recordset.addnewend subprivate sub cmdconfirm_click()/確認添加 if txtbaleid.text = or txtbalename.text = then aa = msgbox(請?zhí)顚懾浧肪幪柡兔Q, vbokonly, ) else 檢查是否有重復的貨品id adotest.recordsource = select * from bale where baleid= & txtbaleid.
40、text & adotest.refresh if not adotest.recordset.eof then aa = msgbox(相同貨品編號已經存在,請重新輸入!, vbokonly, ) else adomain.recordset.update cmdaddnew.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false adomain.recordsource = select * from bale adomain.recordset.requer
41、y adomain.refresh end if end ifend subprivate sub cmdcancel_click()/撤消添加 adomain.recordset.cancel adomain.refresh cmdaddnew.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false unactivetextboxend subb. 貨品刪除窗體:frmbaledel.frm控件名稱說明frmbaledel貨品刪除窗體framain主框架txtb
42、aleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規(guī)格信息文本框txtbaleprice貨品價格信息文本框txtbalememeo貨品備注信息文本框cmddel刪除按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 在該窗體中當用戶點擊了刪除按鈕會提示是否真正要刪除,如果用戶確認,則刪除當前記錄,否則撤消操作。具體代碼如下:private sub cmddel_click() cmddel.e
43、nabled = false cmdrefresh.enabled = false cmdconfirm.enabled = true cmdcancel.enabled = true dagrbale.enabled = falseend subprivate sub cmdcancel_click() adomain.recordset.cancel adomain.refresh cmddel.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false dagr
44、bale.enabled = trueend subprivate sub cmdconfirm_click() adomain.recordset.delete adomain.recordsource = select * from bale adomain.recordset.requery adomain.refresh cmddel.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false dagrbale.enabled = trueend subc.
45、貨品盤點窗體:frmbaleupdate.frm控件名稱說明frmbaleupdate貨品信息更新窗體framain主框架txtbaleid貨品id信息文本框txtbalename貨品名稱信息文本框txtblaefrom貨品產地信息文本框txtbalespec貨品規(guī)格信息文本框txtbaleprice貨品價格信息文本框txtbalememeo貨品備注信息文本框cmdupdate修改資料按鈕cmdconfirm確定操作按鈕cmdcancel撤消操作按鈕cmdrefresh刷新按鈕cmdexit退出按鈕adomain主ado控件adotest測試ado控件 在該窗體中當用戶點擊了更新按鈕會會激活資
46、料修改功能,若用戶輸入完成后點擊確認后,會自動檢測是否在數(shù)據(jù)庫中有沒有重復編號的數(shù)據(jù)。若有,拒絕添加,具體代碼如下:private sub cmdcancel_click()/撤消更新 adomain.recordset.cancel adomain.refresh cmdupdate.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false unactivetextboxend subprivate sub cmdconfirm_click()/確認更新 if t
47、xtbaleid.text = or txtbalename.text = then aa = msgbox(請?zhí)顚懾浧肪幪柡兔Q, vbokonly, ) else 檢查是否有重復的貨品id adotest.recordsource = select * from bale where baleid= & txtbaleid.text & adotest.refresh if not adotest.recordset.eof and p_baleid txtbaleid.text then aa = msgbox(相同貨品編號已經存在,請重新輸入!, vbokonly, ) else ad
48、omain.recordset.update cmdupdate.enabled = true cmdrefresh.enabled = true cmdconfirm.enabled = false cmdcancel.enabled = false adomain.recordsource = select * from bale adomain.recordset.requery adomain.refresh unactivetextbox end if end ifend subprivate sub cmdupdate_click()/點擊更新 cmdupdate.enabled
49、= false cmdrefresh.enabled = false cmdconfirm.enabled = true cmdcancel.enabled = true p_baleid = txtbaleid.text activetextboxend subd. 主mdi窗體:mdifrmmain.frm 窗體控件:控件名稱說明mdifrmmainmdi主窗體 該窗體在系統(tǒng)啟動時作為主要的外邊界,基于mdi設計,設置各種菜單于其之上,不同的用戶登陸會顯示不同的菜單形式。 窗體代碼:private sub m_about_click()/關于菜單單擊事件 frmabout.showend
50、subprivate sub m_baleadd_click()/貨品資料添加菜單單擊事件 frmlogin.hide frmbaleadd.showend subprivate sub m_balecmove_click() /貨品流動菜單單擊事件 frmlogin.hide frmbalemove.showend subprivate sub m_baleupdate_click()/貨品資料修改菜單單擊事件 frmlogin.hide frmbaleupdate.showend subprivate sub m_baledel_click()/貨品刪除菜單單擊事件 frmlogin.hi
51、de frmbaledel.showend subprivate sub m_depotadd_click()/倉庫添加菜單單擊事件 frmlogin.hide frmdepotadd.showend subprivate sub m_depotdel_click()/倉庫刪除菜單單擊事件 frmlogin.hide frmdepotdel.showend subprivate sub m_depotupdate_click()/倉庫資料修改菜單單擊事件 frmlogin.hide frmdepotupdate.showend subprivate sub m_exit_click()/退出菜單單擊事件 if publogin then aa = msgbox(用戶 & publogin & 正在登錄中,確實要退出嗎?, vbyesno, ) if aa = vbyes then end end if else end end ifend subprivate sub m_login_click()/登陸菜單單擊事件 if publogin then aa = msgbox(用戶 & publogin & 已經在登錄狀態(tài)!, vbo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)間租賃辦公場地協(xié)議
- 健康體檢預約與服務協(xié)議
- 汽車應急燈行業(yè)相關投資計劃提議范本
- 代理公司記賬協(xié)議書
- 農村畜牧養(yǎng)殖技術支持合作合同
- 簡述治愈的根本任務和主要內容
- 行政管理學案例分析
- 特種加工機床相關項目投資計劃書范本
- 體育賽事組織與策劃實施計劃
- 電壓力煲相關項目投資計劃書范本
- 中考語文一輪專題復習:李白詩歌專題(共24張PPT)
- 四川省遂寧市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 剪力墻止水對拉螺栓施工方案
- QES三體系內審檢查表 含審核記錄
- 北京市新英才學校教職員工手冊
- 帶電核相試驗報告
- 腎單位的結構(課堂PPT)
- 春季常見傳染病預防知識PPT課件
- VDA2供貨質量保證培訓PPT課件
- 折疊紙盒結構設計
- 軋機安裝方案
評論
0/150
提交評論