版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)設計(論文)題 目 數(shù)據(jù)庫管理系統(tǒng) (小型商場管理系統(tǒng))專 業(yè) 計算機科學與技術 層 次 學習形式 脫產(chǎn) 班 級 2000計機 學 生 指導教師 華南理工大學繼續(xù)教育學院 年目 錄前 言4摘 要5數(shù)據(jù)庫基本概念.7數(shù)據(jù)庫的發(fā)展歷史.7數(shù)據(jù)庫系統(tǒng)的組成.7數(shù)據(jù)庫設計概述.8數(shù)據(jù)庫的設計.8數(shù)據(jù)庫的設計過程.8foxpro概述.8在設計過程過遇到的問題和解決方案.9常用命令函數(shù),對象,屬性,事件,方法.12系統(tǒng)簡介.13小型商場管理系統(tǒng)結構圖.14系統(tǒng)功能介紹.15系統(tǒng)庫文件結構介紹.16各庫的關聯(lián).18系統(tǒng)設計流程.19創(chuàng)建項目文件.19創(chuàng)建數(shù)據(jù)庫.20創(chuàng)建表單.20創(chuàng)建視圖.21創(chuàng)建報表.
2、23連項目文件與可執(zhí)行文件.24表單分析.25銷售表單.25按數(shù)量統(tǒng)計.34登錄表單.36菜單表單.38小結.41我所負責的部分:銷售模塊;銷售統(tǒng)計模塊(按金錢統(tǒng)計、按數(shù)量統(tǒng)計、清空銷售記錄);員工管理(員工資料輸入、員工資料刪改、更改密碼);報表打印模塊(日統(tǒng)計、月統(tǒng)計、打印庫存資料);登錄;主菜單。前 言從第一臺計算機的誕生,經(jīng)過幾十年的發(fā)展,計算機技術的應用領域越來越廣。在生活中有很多復雜的數(shù)據(jù),單靠人腦來記憶是很困難的事,但計算機的出現(xiàn)給人類帶來了很多方便。信息產(chǎn)業(yè)是目前世界上比較流行的產(chǎn)業(yè)之一,數(shù)據(jù)庫在信息產(chǎn)業(yè)中起到了重要的作用。在計算機的發(fā)展過程中,要處理的數(shù)據(jù)量呈幾何級的增長,數(shù)
3、據(jù)間的復雜性也隨著增加。為了方便人們充分利用信息資源,經(jīng)過不斷發(fā)展,逐漸形成了數(shù)據(jù)庫技術。數(shù)據(jù)庫于20世紀60年代末產(chǎn)生,目前數(shù)據(jù)庫技術已經(jīng)滲透到計算機應用的每個領域?;仡^看數(shù)據(jù)庫的發(fā)展歷史,會不得不由衷地感謝本領域的前輩做出的重大貢獻。數(shù)據(jù)庫技術的發(fā)展大致經(jīng)過三個階段:一是人工智能階段;二是文件系統(tǒng)階段;三是數(shù)據(jù)庫系統(tǒng)階段。這次我們負責設計的是小型商場管理系統(tǒng)系統(tǒng)。這個系統(tǒng)主要由六個模塊組成,分別是銷售、進貨、銷售統(tǒng)計、系統(tǒng)維護、報表打印、退出系統(tǒng)。這些模塊界面良好,操作方便,并具有查詢、添加、修改、增刪、瀏覽打印的功能,這次設計在windows98中文版平臺,采用microsoft vis
4、ual foxpro6.0中文版。摘要本設計書詳細的記述了使用foxpro6.0設計小型商場管理系統(tǒng)應用程序的過程。首先介紹數(shù)據(jù)庫技術的發(fā)展及基本理論和本次設計外遇問題及其解決方法,然后介紹visual foxpro6.0程序設計基礎和表、表單、控件、視圖、報表的設計方法。主要用到的表單控件:文本框、表格、命令按鈕等。該設計利用表單設計器建立總體的菜單結構,利用foxpro6.0強大的數(shù)據(jù)輸入、處理、查詢、生成報表和數(shù)據(jù)庫管理方面的功能,開發(fā)出具有銷售、進貨、銷售統(tǒng)計和查詢、資料維護、密碼修改等功能的小型商場管理系統(tǒng)應用程序,并利用表單設計器,設計出良好的視覺界面。其后是在這次的團體設計中,我
5、所負責設計的模塊中以銷售和按數(shù)量分類統(tǒng)計等表單為例,對我的設計思路給予介紹,以及對其過程程序進行詳細的分析。最后我將對這次畢業(yè)設計進行小結。summarythis design the book is detailed to record the usage foxpro6.0 to design the small scaled market to manage the system to apply the procedures process.introduce the development and the basic theories of the database techniqu
6、e first with this design affairs problem and its solution method, then introduce the visual foxpro6.0 the procedure design the foundation with the form, form and list, piece design method for, seeing the diagram, statement.primarily form and list that use piece:text this , form, the order press butt
7、on the etc.should design to make use of the form and list to design this to establish the total menu construction, and make use of the mighty data of foxpro6.0 input, handle, search, the born statement manage the aspects function with database, and develop out to have sale, enter goods, sale statist
8、ics with search, data maintenance, the password modify etc. the functions small scaled market to manage system application procedure, and make use of the form and list to design , and design out the good sense of vision interface.afterward is in the design inside of this group, my an inside is then
9、to sell with press quantity classification statistics two form and lists are for the example, analysis way of thinking of my design gave introduce, and as to its process procedure proceed detailedly.at last,id like to make a conclusion to this graduation design program數(shù)據(jù)庫的基本概念數(shù)據(jù)庫技術是在60年代未興起的一種數(shù)據(jù)管理技術
10、。數(shù)據(jù)庫在英語中的稱為database.拆開來看,data是數(shù)據(jù)。base可譯為基地。所以在通俗的意義上,數(shù)據(jù)庫不妨理解為存儲數(shù)據(jù)的基地或倉庫。1. 數(shù)據(jù)庫的發(fā)展歷史: 在計算機不斷發(fā)展的過程中,數(shù)據(jù)的處理量不斷的增長,數(shù)據(jù)之間復雜程度也隨著增加,這時出現(xiàn)了數(shù)據(jù)庫技術,它幫助處理和管理復雜的數(shù)據(jù),更能充分利用信息資源,數(shù)據(jù)庫在20世紀60年代末出現(xiàn),經(jīng)過幾十年的發(fā)展大致有三個階段:1) 人工發(fā)展階段:這一階段的計算機主要用于單純的科學計算2) 文件系統(tǒng)階段:這一階段計算機不僅用于科學計算,還大量用于管理,這時的計算機有了直接存取的存儲設備,操作系統(tǒng)中有了管理數(shù)據(jù)軟件, 處理方式有了能夠聯(lián)機實時
11、處理。3) 數(shù)據(jù)庫系統(tǒng)階段:這一時期計算機應用廣泛,數(shù)據(jù)量急劇增長,計算機的軟硬件都發(fā)展很快。2. 數(shù)據(jù)庫系統(tǒng)的組成:數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、軟件系統(tǒng)、硬件系統(tǒng)、數(shù)據(jù)管理員四個要素組成。它們之間構成有機的整體,相互配合和依靠,為用戶提供各類信息服務。1)數(shù)據(jù)庫數(shù)據(jù)庫是根據(jù)用戶的需要按一定形式存儲的數(shù)據(jù)的集合。集成不是簡單的相加,而是統(tǒng)籌考慮各個相關應用領域的信息需求,除去不必要的冗余,實現(xiàn)數(shù)據(jù)的最大程度的共享。其內(nèi)容主要分為兩部分:一是物理數(shù)據(jù)庫,記載了所有數(shù)據(jù);二是數(shù)據(jù)字典,描述了不同數(shù)據(jù)之間的關系和數(shù)據(jù)組織的結構。2)軟件系統(tǒng)軟件系統(tǒng)包括了數(shù)據(jù)庫管理系統(tǒng)dbms、操作系統(tǒng)、應用程序開發(fā)工具及應
12、用程序。 數(shù)據(jù)庫管理系統(tǒng)是整個數(shù)據(jù)庫系統(tǒng)的核心,由dbms調(diào)用操作系統(tǒng)的相關部分來執(zhí)行。操作系統(tǒng)創(chuàng)建并維護了dbms的運行環(huán)境。應用程序開發(fā)工具用來開發(fā)數(shù)據(jù)庫相關的應用程序,本次用來設計的vpf6.0就是一種優(yōu)秀的工具,它功能全,有極高的處理數(shù)據(jù)速度。3)硬件系統(tǒng)硬件系統(tǒng)是指支持數(shù)據(jù)庫系統(tǒng)運行的全部硬件,一般由cpu、主存、外存等組成。4)數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員dba是專門負責數(shù)據(jù)庫系統(tǒng)設計、運行和維護的專職人員,他們在數(shù)據(jù)庫系統(tǒng)的規(guī)劃、設計、運行階段擔當著重要任務。數(shù)據(jù)庫管理員的工作非常煩瑣和復雜,往往由幾人組成小組進行設計。3. 數(shù)據(jù)庫設計概述:數(shù)據(jù)庫設計是從用戶對數(shù)據(jù)的需求為出發(fā)點,研
13、究并構造數(shù)據(jù)庫結構的過程,這里的數(shù)據(jù)結構是指數(shù)據(jù)庫的邏輯和物理結構。數(shù)據(jù)庫設計有兩個重要的目標,既滿足應用功能和好的數(shù)據(jù)庫性能。滿足應用功能,主要指用戶當前與可預知的將來應用所需的數(shù)據(jù)和其聯(lián)系準確地存放到數(shù)據(jù)庫中,從而滿足用戶對所需對數(shù)據(jù)庫的操作。好的數(shù)據(jù)庫性能,主要指對數(shù)據(jù)的高效率和空間的節(jié)省,并具有好的數(shù)據(jù)共享性、完整性、一致性和安全性。數(shù)據(jù)庫設計的好壞,不僅影響到當前的應用,也影響以后的維護工作。4. 數(shù)據(jù)庫設計的過程:1)系統(tǒng)分析 系統(tǒng)分析的目標是了解與分析用戶的信息及應用處理的要求。并將結果形成需求說明書。2)概念設計概念設計的目標是對需求說明書提供的所有信息和應用處理要求進行抽象與
14、綜合處理,并按照一定的方法構造相應的概念模型。3)實現(xiàn)設計實現(xiàn)設計的目標是將概念模型轉(zhuǎn)換成特定數(shù)據(jù)管理系統(tǒng)所接受的數(shù)據(jù)庫邏輯結構。數(shù)據(jù)庫邏輯結構通常由層次、網(wǎng)狀和關系的數(shù)據(jù)模型表示。4)物理設計物理設計的目標是將數(shù)據(jù)庫轉(zhuǎn)換為特定計算機能接受的數(shù)據(jù)庫。物理設計的主要內(nèi)容是選擇數(shù)據(jù)的存儲方式及檢索技術。數(shù)據(jù)庫的設計過程一、foxpro概述:foxpro是美國fox software公司推出的用于微機平臺的關系數(shù)據(jù)庫管理系統(tǒng),可以幫助用戶收集、恢復和描述數(shù)據(jù)。foxpro的功能強大,速度高,有完整豐富的工具、非常友好的用戶界面、簡單的數(shù)據(jù)存取方式,并具有良好的兼容性、跨平臺特性及可編擇性。 foxp
15、ro是一種在微機上小型事物管理系統(tǒng)中廣泛應用的數(shù)據(jù)庫系統(tǒng)軟件,它在foxbase的基礎上引入集成不幸、報表自動生成和關系舉例檢索等功能,并且提高運行速度。foxpro與foxbase百分之一百兼容,foxbase的命令及函數(shù)在foxpro中均可使用。該系統(tǒng)分為單用戶版本和多用戶版。這兩類版本各有一個32位增強型版本。foxpro較forbase具有以下特點:1foxpro是當時dos系統(tǒng)中唯一支持鼠標的數(shù)據(jù)庫產(chǎn)品,它自動透明地支持鼠標,它無鼠標時一樣可完善地進行工作。2對foxbase的語句做了大量的擴展。例如foxpro比foxbase增加了200余條命令和函數(shù),增加了系統(tǒng)內(nèi)部變量。增加了同
16、時打開的工作區(qū)數(shù)和索引文件數(shù)3foxpro比其它數(shù)據(jù)庫產(chǎn)品處理速度快。特別是進行某些查詢時,其快速查找技術rushmore可以使較大的數(shù)據(jù)庫的查找速度比其它產(chǎn)品快幾百倍甚至上千倍。4foxpro中的rqbe(relation puery by example)窗口,可使用與建立其它對象相同的方法來建立一個sql查詢,人一個或多個數(shù)據(jù)庫中提取信息。 5forpro中的使用兩種索引文件:單索引文件和復合索引文件。單索引文件可以有效地減少索引文件所需的磁盤空間。建立復合索引后,每次修改數(shù)據(jù)庫不必先打開索引文件,使用時分方便,且foxpro的復合索引文件把一個數(shù)據(jù)庫文件中的所有索引字段都放在一個唯一的
17、索引文件中。6foxpro提供了工程文件來記錄一個程序所需數(shù)據(jù)庫文件、索引文件、屏幕、菜單、報表、查詢、標簽以及他格式的文件。用戶還可以使工程文件建立一個在foxpro內(nèi)部使用的應用程序或程序員感興趣的.exe文件。7foxpro采用高級外部程序接口(api),使用戶方便的運用c語言、匯編語言完成涉及系統(tǒng)底層的程序設計。8foxpro可以運行在ms dos windows unix等操作系統(tǒng)環(huán)境下,并保持其對每一級用戶擁有相同的用戶界面、工具和語言。其中windows下的foxpro支持動態(tài)數(shù)據(jù)庫交換、目標鏈接與嵌入。9使用foxpro時,一切工作均可圍繞工作菜單與窗口進行,可以利用界面對數(shù)據(jù)
18、進行操作,也呆以利用界面編寫、編譯應用程序。操作時可能使用鼠標,也可使用鍵盤。應用程序的開發(fā)者可使用帶有調(diào)試工具的集成開發(fā)環(huán)境、xbase語言、項目管理工具及應用程序生成器,開發(fā)出功能和有強的圖形應用程序,實現(xiàn)窗口技術、鼠標操作、各種形式的菜單等二、在設計過程過遇到的問題和解決方案:1.程序的調(diào)試:我們在編程時難免都會出錯,出錯以后怎樣找出錯誤的地方就變得很重要了,只有正確找出錯誤的地方才可以將其改正,下面我就談一些查錯的常用方法。如果在我們程序中有語法性的錯誤,當程序運行到錯誤的語句時系統(tǒng)就會停下來,并提示我們程序有錯,往往還會說出是什么錯誤,如“命令中含有不能識別的短語或關鍵字”,并給出選
19、擇“取消”、“掛起”、“忽略”、“幫助”四個選擇,它們的意思分別是:取消中止程序運行,回到命令窗口,相當于執(zhí)行了cancel命令,在程序中創(chuàng)建的所有變量被釋放(除公共變量),但數(shù)據(jù)庫及數(shù)據(jù)表一般保持當時的狀態(tài),您可以用browse命令查看數(shù)據(jù)表的內(nèi)容即記錄指針所在的位置等等;掛起暫停程序,相當于執(zhí)行了suspend命令,這時程序中的所有變量都保持原值,您可以用?命令查看變量的值,當然也可以查看數(shù)據(jù)表的情況;忽略忽略所出現(xiàn)的錯誤,即跳過出錯的語句繼續(xù)執(zhí)行后面的語句;幫助顯示有關出錯的幫助信息,對于錯誤做更詳細的說明。不過很多時候都沒什么幫助。如果你看出問題出在哪,那么您可以用取消,然后進到程序中
20、找出錯誤所在,將其改正。在選擇了取消后,可能這時有表單是打開的,那么用鼠標點一下該窗口,然后調(diào)菜單上的文件關閉。如果菜單是您自己的自定義菜單,用set sysmenu to default回到系統(tǒng)菜單。改完后,再次運行程序前,最好將所有的數(shù)據(jù)庫及表關閉,以免在程序打開一個數(shù)據(jù)表時出現(xiàn)表已打開的錯誤,比較好的辦法是在程序開頭先關閉所有的數(shù)據(jù)庫及表。關閉所有數(shù)據(jù)庫的命令是:close databases all,關閉所有表的命令是:close tables all。如果你不知道問題出在程序的哪個地方,那么就選擇掛起,系統(tǒng)會彈出一個調(diào)試器窗口顯示出錯的語句,在跟蹤窗口的黃色箭頭所指的語句就是出錯的語
21、句。這時不要馬上改程序,因為程序還沒有結束運行,如要改程序應先終止程序運行,按調(diào)試中的終止按鈕,然后退出調(diào)試器(菜單上的文件退出),接下來與上面選擇取消后的處理方法相同。2. 模式表單的應用在運行表單時,往往因為打開了另一個表單,而造成一些庫文件的使用沖突。通常的解決方法有兩種。第一,在表單設計時把使用的庫文件的buffermodeoverride屬性設為5(開放式表緩沖),并以tableupdate(.t.)來保存更改,這樣就能在多個表單同時使用庫文件時不會有沖突,但是這種方法有時會使程序進行中的數(shù)據(jù)更新不及時,而使程序進行不正常。因為在我的設計中使用了第二種方法把表單設置為模式表單。模式表
22、單一般地被用來處理錯誤報告,或者請求用戶確認操作等。在模式表單中,菜單不能使用(從而避免了重復打開表單的沖突)。如果需要,模式表單也提供應用等待狀態(tài)。3. 在應用程序中避免出現(xiàn)vfp的窗口標題在生成exe文件后,進行程序時,程序的標題默認為microsoftvisualfoxpro,改為自定義標題的方法如下:在config.fpw文件中,加title = 你的標題行。另外, 也可以在主程序中加入:_screen.caption=你的標題4. 當filter設置時,應該用locate代替seek當你的查找字段是建立了索引且當前索引是該索引時,seek 通常是查找單個記錄的最快的方法。不過,當設置
23、了filter時,seek 非常慢。理由是seek將查找符合你的搜索標準的第一個記錄。foxpro為了移動記錄指針到相應的記錄上,必須找到和你的標準相匹配且和filter條件相稱的記錄。和 seek不同, locate 是可進行rushmore優(yōu)化的.當一個可優(yōu)化的filter 起作用時,locate for custid=m.custid 通常比seek m.custid 更快。在go top 和 go bottom 中也存在相似的問題。用無子句的locate來執(zhí)行go top,將會使記錄指針移動到乎合filter 條件的第一個記錄。要執(zhí)行 go bottom, 設置當前索引標識的降序然后l
24、ocate, 在將索引設置為原來的升序。5. 當所有窗口打開時,怎樣才能看到vfp桌面上的內(nèi)容在程序設計時,通常要開兩個或以上的的窗口,但是這樣一來,要使用vfp桌面上的東西就要一個個的縮小或關閉。這里有一個簡單的方法:按alt+ctrl+shift將把全部打開的窗口隱藏起來,直到放開鍵。這樣就能直接看到桌面了。6.設置焦點為了使用戶在使用程序時更加方法,通常會在一個文本框輸入結果后,自動把光標指定在下一個應該輸入的框中,其方法是在事件中使用setfocus(),但是setfocus()不能從一個對象的valid事件中把焦點設置到另一個對象上。應該用lostfocus事件作為替代。(有特殊情況
25、時可以使用其它事件代替)。7. datasource 屬性和 controlsource 屬性之間,以及 rowsource屬性和 recordsource 屬性的區(qū)別datasource 屬性可以影響存儲在一個數(shù)據(jù)庫 (.dbc) 中的 odbc 視圖。它包含了對連接到 odbc 數(shù)據(jù)文件名稱的引用,并且必須指向一個通過 odbc管理程序定義的有效的數(shù)據(jù)源。您可以使用 sqlsetprop( ) 函數(shù)操作 datasource屬性,而用 sqlgetprop( ) 函數(shù)可以查看它的設置。controlsource 屬性用來確定一個對象所綁定的數(shù)據(jù)源;一個對象所綁定的表或者視圖可以為任意類型,
26、包括本地 visual foxpro 表,具有 controlsource 屬性的對象有:checkbox、column、combobox、commandgroup、editbox、listbox、ole bound control、 optionbutton、optiongroup、spinner 和 textbox 控件。某些控件(listbox 和 combobox)除了 controlsource 屬性之外,還有 rowsource屬性允許您一次顯示多于一個字段和行。數(shù)據(jù)仍然是與單一的字段綁定的,這就是為什么這些控件需要 controlsource 屬性。表格控件是唯一具有 recor
27、dsource屬性的控件,但是沒有 controlsource 屬性。對于表格控件,數(shù)據(jù)是與一個完整的記錄綁定的。8. 迅速地在屬性窗口中定位一般的情況下在表單的設計中,要對該控件的部分屬性進行修改,但是由于控件的屬性很多要找到想修改的屬性要比較麻煩(用熟了可以知道大概位置)但這有一個小方法能迅速地在屬性窗口中定位:熱鍵ctrl+alt+key使在屬性窗口中定位變得快而簡單。例如,當表單對象選中時,在屬性窗口中按下ctrl+alt+c將快速移動到caption屬性。以上方法是對單個控件進行屬性設置,但有些表單的控件有十幾個,所以就算使用熱鍵還是比較麻煩。我的解決方法是,先想好表單中控件中基本上
28、相同的屬性,然后把該控件復制若干個,之后再逐個把不相同的屬性改過來就行了。9. 程序中建立等待狀態(tài)有時編譯后的程序運行時,屏幕一閃就退出了,要解決這種問題應該在程序中建立等待狀態(tài)??梢杂胷ead events命令來建立等待狀態(tài)。要清除等待狀態(tài),可使用clear events命令。如果你只有一個屏幕,把表單的windowstate屬性設置為modal。這也提供等待狀態(tài),但是不允許你使用菜單。當模式表單被釋放時,等待狀態(tài)結束并返回至操作系統(tǒng)。三、常用命令函數(shù),對象,屬性,事件,方法:1命令:假設(if.endif) 循環(huán)(do while.enddo) 分支(do case.endcase) 調(diào)用
29、表單(do form) 返回調(diào)用程序(return) 啟動事件處理(read events) 清除事件處理(clear events) 開關命令執(zhí)行狀態(tài)(set talk on/off) 開關一個事務(begin/end transaction)事務處理回復原狀態(tài)(rollback)在表中添加記錄(appendblank)刪除有刪除標記的記錄(pack)更新表記錄(replace .with.)定義全局內(nèi)存變量(public)結束程序(cancel) 2函數(shù):字符轉(zhuǎn)換數(shù)值(val() 取系統(tǒng)日期(date() 取年份(year() 取月份(month() 取天日(day() 刪除標記(dele
30、te() 表結尾(eof()消除前后空格(alltrim ()返回字符串長度(len())3對象(object): 表單(form) 按鈕(commandbutton) 標簽(label) 文本框(text) 表格(grid) 4屬性(property):標題(caption) 左起始位(left) 上起始位(top) 寬度(width) 高度(hight) 控制源(controlsource) 值(value) 文本對齊(alignment) 名稱(name) 只讀(readonly) 可見(visible)可用(enabled)指定輸入和顯示格式(inputmask) 5事件(event)
31、:單擊(click) 初始化(init)失去焦點前發(fā)生(value)失去焦點時發(fā)生(lostfocus) 6方法(methord):設置焦點(setfocus) 刷新(refresh) 釋放(release)系統(tǒng)簡介本次畢業(yè)設計我們主要是運用vf6,小型商場的管理系統(tǒng):1.型商場管理系統(tǒng)結構圖2.系統(tǒng)功能介紹:銷售模塊(pos_rxs):通過輸入商品的編碼和數(shù)量,計算出應付金額。當輸入編碼時,系統(tǒng)從商品庫(pos_spk)中查找到相應的商品名稱和單價,再將單價乘數(shù)量算出金額。所有商品輸入完成后,計算出總金額,對持有vtp卡的客戶,只要輸入vip卡號就能享有9折的優(yōu)惠。輸入付款數(shù)。付款數(shù)減總金額
32、,得出應退款。交易完成后可以選擇打印收據(jù)。進貨模塊(pos_jhsr):能夠?qū)}庫曾有和現(xiàn)有的商品進貨,自動獲取單價及其供應商。輸入商品名稱,進貨日期,數(shù)量,進貨價和供應商的資料,并存入庫存庫(pos_kck)中。當輸入商品名稱后,在商品庫中查找相應的商品名稱,找到后將商品編碼單價等資料存入庫中。若查找失敗,則在商品管理中輸入相應的商品信息。按金錢分類(pos_jetj):能對以銷售的同類商品進行按銷售總金額分類顯示,有“1千以下”、“1千到3千”、“3千到5千”、“5千到1萬”、“1萬以上”這5個類型。并可進行打印。按金錢分類(pos_sltj):能對以銷售的同類商品進行按銷售總數(shù)量分類顯示
33、,有“100件以下”、“100件到300件”、“300件到500件”、“500件到1000件”、“1000件以上” 5個選項。并可進行打印。清空銷售庫(pos_qkxsk):對已存的商品銷售記錄進行清空,清空記錄后不能再次恢復。商品輸入(pos_sbsr):主要功能為輸入商品信息,輸入商品編碼,名稱,供應商等資料,并存于商品庫中。商品刪改(pos_sbgl):能對商品庫中的記錄進行刪改。由于客戶輸入(pos_khsr),客戶刪改(pos_khgl),供應商輸入刪改(pos_gyssr/pos_gysgl),員工輸入刪改(pos_ygsr/pos_yggl)功能于商品輸入刪改相近故不再注明。更改
34、密碼(pos_ggmm):對員工的登錄密碼進行修改。倉庫查詢(pos_jhgl):對庫存庫(pos_kck)中的記錄進行刪改。(只限權限為a的超級用戶)日統(tǒng)計(pos_rtj):通過視圖打印當日銷售的貨品。月統(tǒng)計(pos_ytj):通過視圖打印本月銷售的貨品。打印庫存表(pos_kctj):通過視圖打印庫中商品的資料。登錄(pos_dl):輸入用戶名和密碼與員工庫中資料比較相同則給予登錄。菜單(pos_qmenu):本系統(tǒng)的主菜單。根據(jù)權限本表單對各模塊進行開啟和調(diào)用。開始頁面(pos_begin)本系統(tǒng)的初始頁面,可以選擇登錄或退出。3.系統(tǒng)庫文件結構介紹:商品庫(pos_spk):字段名標
35、題數(shù)據(jù)類型字段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱字符型(c)300gys供應商編碼字符型(c)70jdj進貨單價數(shù)值型(n)92sdj售貨單價數(shù)值型(n)92 庫存庫(pos_kck):字段名標題數(shù)據(jù)類型字段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱字符型(c)300jhrq進貨日期日期型(d)80jhsl進貨數(shù)量數(shù)值型(n)60jdj進貨單價數(shù)值型(n)92xhrq銷貨日期日期型(d)80xhsl銷售數(shù)量數(shù)值型(n)60xdj銷售單價數(shù)值型(n)92kcsl庫存數(shù)量數(shù)值型(n)60ygs供應商編碼字符型(c)70 銷售庫(pos_xsk):字段名標題數(shù)據(jù)類型字
36、段寬度小數(shù)位數(shù)bm商品編碼字符型(c)100pm商品名稱字符型(c)300rq日 期日期型(d)80kh客戶編碼字符型(c)80sdj單 價數(shù)值型(n)102sl數(shù) 量數(shù)值型(n)60zk折 扣數(shù)值型(n)10sh操作員編碼字符型(c)40xhbm銷售編碼數(shù)值型(n)100供應商庫(pos_gys):字段名標題數(shù)據(jù)類型字段寬度小數(shù)位數(shù)gys供應商編碼字符型(c)70mz姓名字符型(c)600yb郵政編碼字符型(c)60lxr聯(lián)系人字符型(c)80dh電話字符型(c)140dh_z電話(宅)字符型(c)140zh帳號字符型(c)200khh開戶行字符型(c)600km戶名字符型(c)600 客戶
37、庫(pos_khk):字段名標題數(shù)據(jù)類型字段寬度小數(shù)位數(shù)kh客戶編碼字符型(c)70mz地 址字符型(c)600yb郵政編碼字符型(c)600lxr聯(lián)系人字符型(c)80dh電話字符型(c)140dh_z電話(宅)字符型(c)140員工庫(pos_yg):字段名標題數(shù)據(jù)類型字段寬度小數(shù)位數(shù)bm員工編碼字符型(c)40xm姓 名字符型(c)80qx權 限字符型(c)60mm密 碼字符型(c)60 4.各庫的關聯(lián):在數(shù)據(jù)庫中包含了許多表,我們可以在相關表之間建立關系。表之間的關系包括永久關系和臨時關系。永久關系是數(shù)據(jù)庫間的關系,它們存儲在數(shù)據(jù)庫文件中,并且不必在每次使用表時重新創(chuàng)建(本系統(tǒng)以永遠關
38、系為主)。員工庫:bm主索引,通過bm字段與pos_xsk表中的sh字段建立永久關系。 商品表:bm主索引,gys普通索引;通過bm字段和pos_xsk表中的bm字段,以及pos_kck表中的bm字段建立永久關系,通過gys字段和pos_gys表中的gys字段建立永久關系。客戶表:kh主索引;通過kh字段和pos_xsk表中的kh字段建立永久關系。供應商表:gys主索引,通過gys字段和pos_spk表中的gys字段建立了永久關系。銷售表:kh普通索引,sh普通索引,bm普通索引,xhbm普通索引;通過bm字段和pos_spk表中的bm字段建立永久關系,通過sh字段和pos_yg表中的bm字段
39、建立關系,通過kh字段和pos_khk表中的kh字段建立關系。庫存表:bm普通索引,gys普通索引;通過bm字段和pos_spk表中的bm字段建立關系,通過gys字段和pos_gys表中的gys字段建立關系。系統(tǒng)設計流程本節(jié)主要介紹本系統(tǒng)的設計過程:第一步:創(chuàng)建項目文件項目管理器是visual foxpro應用開發(fā)系統(tǒng)的核心,它把應用系統(tǒng)中的各種數(shù)據(jù)和程序按一定的邏輯關系進行了有效的、可視化的組織和管理。其中包括文件、數(shù)據(jù)、文檔和對象,項目文件的擴展名為.pjx。其創(chuàng)建項目的過程如下:()系統(tǒng)“文件”菜單,執(zhí)行其中的“新建”命令。在彈出的“新建對話框中,選擇“項目”文件類型,然后單擊“向?qū)А卑?/p>
40、鈕。在打開的“應用程序向?qū)А睂υ捒蛑?,在項目名稱編輯框內(nèi)輸入要創(chuàng)建的項目文件名。如“小型商場管理系統(tǒng)”()單擊“確定”按鈕,系統(tǒng)便開始了項目文件的創(chuàng)建第二步:創(chuàng)建數(shù)據(jù)庫創(chuàng)建一個新數(shù)據(jù)庫的步驟如下:() 在“項目管理器”中,選擇“數(shù)據(jù)”選項,然后在列表中選擇“數(shù)據(jù)庫”,并單擊“新建”按鍵。() 在出現(xiàn)的“新建數(shù)據(jù)庫”對話框中,單擊“新建數(shù)據(jù)庫”按鍵。() “創(chuàng)建”的對話框中的“數(shù)據(jù)庫名”框中輸入數(shù)據(jù)庫名稱,然后單擊“保存”就行了。在創(chuàng)建數(shù)據(jù)庫之后,就要在庫中添加表,其步驟如下:() 在“項目管理器”中選定數(shù)據(jù)庫,然后選擇“表”,再單擊“新建”按鍵,出現(xiàn)一個“新建表”對話框。() 在對話框中單擊“
41、新建表”按鈕。() 在“創(chuàng)建”對話框的“輸入表名”框中輸入新表名,然后單擊“保存按鍵就行了。() 根據(jù)事先設計好的表,輸入字段,類型,寬度等。完成以上工作后再為表建立索引和并聯(lián),這樣系統(tǒng)的數(shù)據(jù)庫就創(chuàng)建完成了(本系統(tǒng)的數(shù)據(jù)庫資料已在上一章系統(tǒng)簡介列出)第三步:創(chuàng)建表單visual foxpro提供了一個功能強大的表單設計器,使得表單的設計工作變得既快又容易。使用visual foxpro創(chuàng)建的應用程序的交互操作,主要是通過表單來實現(xiàn)的??梢栽诒韱沃羞M行輸入數(shù)據(jù)、查詢數(shù)據(jù)以及控制應用程序的運行等交互操作。在創(chuàng)建表單之前,應首先明確下面幾方面內(nèi)容:表單的功能。表單中使用的數(shù)據(jù)。表單中使用的控件。表單
42、的外觀。創(chuàng)建表單的步驟如下:() 在“項目管理器”的選項卡中,選擇“文檔”,選中表單。() 單擊新建按鈕,就會出現(xiàn)一個“新建表單”對話框。() 在對話框中單擊“新建表單”按鈕,就會打開表單設計器,并且創(chuàng)建一個空表單。之后就可以進行表單的設計了。設計的介面如下:第四步:創(chuàng)建視圖在管理信息系統(tǒng)中,當完成數(shù)據(jù)的采集后,就需要充分利用這些數(shù)據(jù),其中之一就是能夠迅速找到或匯總需要的信息。在visual foxpro6中是通過視圖來實現(xiàn)數(shù)據(jù)的查詢的。視圖可以用來從一個或多個相關聯(lián)的表中提取有用信息。在創(chuàng)建本地視圖前,應先做好以下準備:創(chuàng)建視圖要達到的目的。視力使用了哪些表。使用的表之間的關系。視圖使用了哪
43、些字段。在視力中需要什么記錄。創(chuàng)建視圖的步驟如下:() 從項目管理器中選定“數(shù)據(jù)”標簽,然后選定“數(shù)據(jù)庫”項。() 單擊“數(shù)據(jù)庫”下自己建立的數(shù)據(jù)文件,選定“本地視圖”,并選擇“新建”按鈕。() 在“新建本地視圖”對話框中選擇“新建視圖”按鈕() 再按需要輸入需要的字段,聯(lián)接條件,篩選條件,排序條件,以及分組條件就可以了。設計介面如下:視圖的聯(lián)接條件選項:視圖的篩選條件選項:視圖的排序條件和分組條件通常情況下默認即可,如所做視圖還要特定的功能可對更新條件,以及雜項進行設置。第五步:創(chuàng)建報表信息系統(tǒng)中將數(shù)據(jù)輸出的另一種方式就是各種統(tǒng)計報表。在visual foxpro中報表包括兩個基本的組成部分
44、:數(shù)據(jù)源和布局。數(shù)據(jù)源通常是數(shù)據(jù)庫中的表,但也可以是視圖、查詢或臨時表。視圖和查詢對數(shù)據(jù)庫中的數(shù)據(jù)進行篩選、排序和分組,而報表布局定義了報表的打印格式。當我們定義了一個表和一個視圖后,就可以創(chuàng)建報表了。我們可以通過報表的設計,用多種方式在打印頁面上顯示數(shù)據(jù)。使用“報表設計器”我們可以設計復雜的列表、總結摘要或數(shù)據(jù)的特定集合,比如銷售統(tǒng)計表。設計報表有四個主要步驟:() 決定要創(chuàng)建的報表類型() 創(chuàng)建報表布局文件。() 修改和定制布局文件。() 預覽和打印報表。visual foxpro提供了三種創(chuàng)建報表的方法:1. 用“報表向?qū)А眲?chuàng)建簡單的單表或多表報表。2. 用“快速報表”從單表中創(chuàng)建一個簡
45、單報表。3. 用“報表設計器”修改已有的報表或創(chuàng)建自己的報表。(在本次設計中的報表主要以“報表向?qū)А眲?chuàng)建后再以“報表設計器”修改來完成的。)創(chuàng)建報表的步驟:() 在“項目管理器”中選定“報表”,然后單擊“新建”按鈕。() 在“新建報表”對話框中單擊“報表向?qū)А卑粹o。() 在“向?qū)нx取”對話框的列表中,選擇“報表向?qū)А保缓髥螕簟按_定”按鈕,即可根據(jù)向?qū)гO計報表了。() 最后再用“報表設計器”修改打印頁面能全部完成了。設計介面如下:第六步:連項目文件與可執(zhí)行文件完成了以上的各步,我們已經(jīng)建立了一個完整的管理信息系統(tǒng),最后要做的就是將這個系統(tǒng)編譯成獨立的應用程序了。在選擇編譯操作的選項時,為了確保
46、所有引用的完整,并加入上次連編之后更新的一些組件,應對整個項目進行重新編譯。編譯一個項目的操作步驟如下:() 在“項目管理器”中,按下“連編”按鈕,之后出現(xiàn)一個對話框。() 在“連編選項”對話框中,在“操作區(qū)域選擇重新連編項目”單選按鈕。() 按下“確定”按鈕,系統(tǒng)將開始對整個項目文件進行編譯。(如項目中不存在錯誤就能編譯成功,否則將在編譯完成后顯示錯誤信息)如果連編項目之后沒有錯誤,就可以開始連編應用程序了,建立自己可獨立運行的程序。當將項目文件編譯成執(zhí)行的應用程序后,該程序就可以脫離vf環(huán)境直接運行了。其步驟如下:() “項目管理器”中,按下“連編”按鈕。() 在“連編選項”對話框中,在“
47、連編可執(zhí)行程序”單選按鈕。() 按下“確定”按鈕,這時會出現(xiàn)一個“另存為”對話框。() 在對話框中選定可執(zhí)行文件的存放路徑即可。 “連編選項”對話框:表單分析表單是visual foxpro中最能體現(xiàn)面向?qū)ο缶幊痰囊徊糠?,在以前的版本中,例如foxpro2.6及以前的版本就沒有表單的概念,只有關于屏幕的說法。在用屏幕來設計時,只要為屏幕設置它的大小、位置、顏色以及添加一些必要的對話框即可。因此,屏幕的功能很有限,不能滿足應用程序的功能需求。而在visual foxpro中表單是一個可處理的對象,它有自己的屬性、事件和方法。因此,通過設置表單的屬性,響應表單的事件,執(zhí)行表單的方法代碼,就可以完成
48、較強功能的應用程序設計??傊?,表單是應用程序設計的核心。我在這次設計中負責銷售模塊、銷售統(tǒng)計模塊、報表打印模塊等。在這節(jié)我將以我所負責設計的表單中以銷售表單、按數(shù)量分類統(tǒng)計表單登錄表單、以及菜單表單為例,介紹我設計表單的思路和其中程序的分析。銷售表單(pos_rxs):銷售表單可以說是本系統(tǒng)的中心通過輸入商戶購買商品的編號和數(shù)量,跟著從系統(tǒng)從商品庫(pos_spk)中查找到相應的商品名稱和單價,再將單價乘數(shù)量算出金額。所有商品輸入完成后,計算出總金額,對持有vtp卡的客戶,只要輸入vip卡號就能享有9折的優(yōu)惠。最后輸入付款數(shù)。付款數(shù)減總金額,得出應退款,更新庫存資料后將本宗交易的資料存于銷售庫
49、(pos_xsk)中,以便對銷售情況進行統(tǒng)計。交易完成后可以選擇打印收據(jù)。表單流程圖:結束是繼續(xù)?否是打印報表打印收據(jù)收款和退錢總價*=0.9是否商品計價是否vip是否按“合計”進行庫存庫更新,銷售資料存于銷售庫。無該商品有該商品查商品庫按“下一件”輸入商品數(shù)量輸入商品編碼開始表單介面:數(shù)據(jù)環(huán)境:程序分析:form1.initselect pos_xskpublic xhbm2xhbm2=0go topdo while not eof()if (pos_xsk.xhbmxhbm2)xhbm2=pos_xsk.xhbmendifskipenddoxhbm2=xhbm2+1set filter t
50、o pos_xsk.xhbm=xhbm2本段為表單的初始化和對pos_xsk表進行過濾,使表單中的表格控件在剛啟動時不顯示任何數(shù)據(jù)?!伴_始”(command5.click):public hjs*定義全部全局用以存放商品的合計價hjs=0.00thisform.grid1.enabled=.t.thisform.grid1.column1.enabled=.f.thisform.grid1.column2.enabled=.f.thisform.grid1.column3.enabled=.f.thisform.grid1.column4.enabled=.f.thisform.txtspbm
51、.enabled=.t.thisform.txtspsl.enabled=.t.mand1.enabled=.t.mand6.enabled=.t.mand7.enabled=.f.thisform.txtspbm.setfocusthis.enabled=.f.begin transaction*開始事務處理本段程序功能是開始銷售,于點擊此按鈕時,表格不可用(確保表上資料不被誤改)并使商品編碼文本框、商品數(shù)量文本框和“下一件”按鈕可用?!叭鲣N”(command6.click):?chr(7)result=messagebox(是否確認放棄修改,4+48+256,信息窗口)if result=6*顯示提示窗口,選是執(zhí)行。rollbackthis.enabled=.f.mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.f.mand4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 拓撲材料缺陷調(diào)控與性能-洞察分析
- 原油儲運安全探討-洞察分析
- 新型地震監(jiān)測技術-洞察分析
- 信立泰材料在電化學儲能領域的研究進展-洞察分析
- 水產(chǎn)養(yǎng)殖循環(huán)經(jīng)濟研究-洞察分析
- 脫硫脫硝一體化技術-洞察分析
- 污染物輸運模擬-洞察分析
- 油氣資源綠色開發(fā)-洞察分析
- 勤儉節(jié)約活動感悟總結范文(10篇)
- 數(shù)字銀行理財策略-洞察分析
- 第六單元《多邊形的面積》 單元測試(含答案)2024-2025學年人教版五年級數(shù)學上冊
- 江西省南昌市雷式學校2024-2025學年八年級上學期第一次月考物理試卷
- 06《誡子書》理解性默寫-2022-2023學年七年級語文上冊知識梳理與能力訓練
- 【部編】人教版六年級上冊道德與法治全冊知識點總結梳理
- 食品公司安全生產(chǎn)管理制度
- 網(wǎng)絡設備駐場運維服務方案
- 【幼兒的不良飲食習慣及影響因素探究11000字(論文)】
- 六年級趣味數(shù)學思維拓展題50道及答案
- 靜脈治療護理小組職責
- 第六章《發(fā)展與合作》課件-2024-2025學年人教版初中地理七年級上冊
- 醫(yī)院感染監(jiān)測規(guī)范
評論
0/150
提交評論