2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題 目  數據庫管理系統   </p><p> ?。ㄐ⌒蜕虉龉芾硐到y)</p><p>  專 業(yè)  計算機科學與技術 </p><p><b>  目 錄</b></p><p>

2、  前 言……………………………………………………………………4</p><p>  摘 要……………………………………………………………………5</p><p>  數據庫基本概念………………………………………………………..7</p><p>  數據庫的發(fā)展歷史………………………………………………..7</p><p>  數據庫系統的

3、組成………………………………………………..7</p><p>  數據庫設計概述………………………………………………….8</p><p>  數據庫的設計…………………………………………………….8</p><p>  數據庫的設計過程…………………………………………………….8</p><p>  FoxPro概述……………………………

4、……...………………….8</p><p>  在設計過程過遇到的問題和解決方案…………..………………9</p><p>  常用命令函數,對象,屬性,事件,方法………….…………12</p><p>  系統簡介………………………………………………………………..13</p><p>  小型商場管理系統結構圖…………………………………

5、…….14</p><p>  系統功能介紹…………………………………………………….15</p><p>  系統庫文件結構介紹…………………………………………….16</p><p>  各庫的關聯……………………………………………………….18</p><p>  系統設計流程………………………………………………………….19</

6、p><p>  創(chuàng)建項目文件…………………………………………………….19</p><p>  創(chuàng)建數據庫……………………………………………………….20</p><p>  創(chuàng)建表單………………………………………………………….20</p><p>  創(chuàng)建視圖………………………………………………………….21</p><p

7、>  創(chuàng)建報表………………………………………………………….23</p><p>  連項目文件與可執(zhí)行文件……………………………………….24</p><p>  表單分析……………………………………………………………….25</p><p>  銷售表單………………………………………………………….25</p><p>  按數量統

8、計…………………………………………….…………34</p><p>  登錄表單………………………………………………………….36</p><p>  菜單表單………………………………………………………….38</p><p>  小結…………………………………………………………………….41</p><p><b>  前 言&l

9、t;/b></p><p>  從第一臺計算機的誕生,經過幾十年的發(fā)展,計算機技術的應用領域越來越廣。在生活中有很多復雜的數據,單靠人腦來記憶是很困難的事,但計算機的出現給人類帶來了很多方便。</p><p>  信息產業(yè)是目前世界上比較流行的產業(yè)之一,數據庫在信息產業(yè)中起到了重要的作用。在計算機的發(fā)展過程中,要處理的數據量呈幾何級的增長,數據間的復雜性也隨著增加。為了方便人們充分利

10、用信息資源,經過不斷發(fā)展,逐漸形成了數據庫技術。</p><p>  數據庫于20世紀60年代末產生,目前數據庫技術已經滲透到計算機應用的每個領域?;仡^看數據庫的發(fā)展歷史,會不得不由衷地感謝本領域的前輩做出的重大貢獻。</p><p>  數據庫技術的發(fā)展大致經過三個階段:一是人工智能階段;二是文件系統階段;三是數據庫系統階段。</p><p>  這次我們負責設計

11、的是小型商場管理系統系統。這個系統主要由六個模塊組成,分別是銷售、進貨、銷售統計、系統維護、報表打印、退出系統。這些模塊界面良好,操作方便,并具有查詢、添加、修改、增刪、瀏覽打印的功能,這次設計在Windows98中文版平臺,采用Microsoft Visual FoxPro6.0中文版。</p><p><b>  摘 要</b></p><p>  本設計書詳細的

12、記述了使用FoxPro6.0設計小型商場管理系統應用程序的過程。</p><p>  首先介紹數據庫技術的發(fā)展及基本理論和本次設計外遇問題及其解決方法,然后介紹Visual FoxPro6.0程序設計基礎和表、表單、控件、視圖、報表的設計方法。</p><p>  主要用到的表單控件:文本框、表格、命令按鈕等。</p><p>  該設計利用表單設計器建立總體的菜單

13、結構,利用FoxPro6.0強大的數據輸入、處理、查詢、生成報表和數據庫管理方面的功能,開發(fā)出具有銷售、進貨、銷售統計和查詢、資料維護、密碼修改等功能的小型商場管理系統應用程序,并利用表單設計器,設計出良好的視覺界面。</p><p>  其后是在這次的團體設計中,我所負責設計的模塊中以銷售和按數量分類統計等表單為例,對我的設計思路給予介紹,以及對其過程程序進行詳細的分析。</p><p>

14、;  最后我將對這次畢業(yè)設計進行小結。</p><p><b>  Summary</b></p><p>  This design the book is detailed to record the usage FoxPro6.0 to design the small scaled market to manage the system to apply th

15、e procedure's process.</p><p>  Introduce the development and the basic theories of the database technique first with this design affairs problem and its solution method, then introduce the Visual FoxPro

16、6.0 the procedure design the foundation with the form, form and list, piece design method for, seeing the diagram, statement.</p><p>  Primarily form and list that use piece:Text this , form, the order pr

17、ess button the etc..</p><p>  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 b

18、orn statement manage the aspect's function with database, and develop out to have sale, enter goods, sale statistics with search, data maintenance, the password modify etc. The function's small scaled market to m

19、anage system application procedure, and make use of the form and list to design , and design out the good sense</p><p>  Afterward is in the design inside of this group, my an inside is then to sell with pre

20、ss quantity classification statistics two form and lists are for the example, analysis way of thinking of my design gave introduce, and as to it's process procedure proceed detailedly.</p><p>  At last,I

21、'd like to make a conclusion to this graduation design program</p><p><b>  數據庫的基本概念</b></p><p>  數據庫技術是在60年代未興起的一種數據管理技術。數據庫在英語中的稱為Database.拆開來看,Data是數據。Base可譯為基地。所以在通俗的意義上,數據庫不妨

22、理解為存儲數據的基地或倉庫。</p><p>  1. 數據庫的發(fā)展歷史: </p><p>  在計算機不斷發(fā)展的過程中,數據的處理量不斷的增長,數據之間復雜程度也隨著增加,這時出現了數據庫技術,它幫助處理和管理復雜的數據,更能充分利用信息資源,數據庫在20世紀60年代末出現,經過幾十年的發(fā)展大致有三個階段:</p><p>  1) 人工發(fā)展階段:這一階段的計算

23、機主要用于單純的科學計算</p><p>  2) 文件系統階段:這一階段計算機不僅用于科學計算,還大量用于管理,這時的計算機有了直接存取的存儲設備,操作系統中有了管理數據軟件, 處理方式有了能夠聯機實時處理。</p><p>  3) 數據庫系統階段:這一時期計算機應用廣泛,數據量急劇增長,計算機的軟硬件都發(fā)展很快。</p><p>  2. 數據庫系統的

24、組成:</p><p>  數據庫系統由數據庫、軟件系統、硬件系統、數據管理員四個要素組成。它們之間構成有機的整體,相互配合和依靠,為用戶提供各類信息服務。</p><p><b>  1)數據庫</b></p><p>  數據庫是根據用戶的需要按一定形式存儲的數據的集合。集成不是簡單的相加,而是統籌考慮各個相關應用領域的信息需求,除去不必要

25、的冗余,實現數據的最大程度的共享。</p><p>  其內容主要分為兩部分:一是物理數據庫,記載了所有數據;二是數據字典,描述了不同數據之間的關系和數據組織的結構。</p><p><b>  2)軟件系統</b></p><p>  軟件系統包括了數據庫管理系統DBMS、操作系統、應用程序開發(fā)工具及應用程序。 數據庫管理系統是整個數據庫系統

26、的核心,由DBMS調用操作系統的相關部分來執(zhí)行。操作系統創(chuàng)建并維護了DBMS的運行環(huán)境。應用程序開發(fā)工具用來開發(fā)數據庫相關的應用程序,本次用來設計的VPF6.0就是一種優(yōu)秀的工具,它功能全,有極高的處理數據速度。</p><p><b>  3)硬件系統</b></p><p>  硬件系統是指支持數據庫系統運行的全部硬件,一般由CPU、主存、外存等組成。</p

27、><p><b>  4)數據庫管理員</b></p><p>  數據庫管理員DBA是專門負責數據庫系統設計、運行和維護的專職人員,他們在數據庫系統的規(guī)劃、設計、運行階段擔當著重要任務。</p><p>  數據庫管理員的工作非常煩瑣和復雜,往往由幾人組成小組進行設計。</p><p>  3. 數據庫設計概述:</

28、p><p>  數據庫設計是從用戶對數據的需求為出發(fā)點,研究并構造數據庫結構的過程,這里的數據結構是指數據庫的邏輯和物理結構。</p><p>  數據庫設計有兩個重要的目標,既滿足應用功能和好的數據庫性能。滿足應用功能,主要指用戶當前與可預知的將來應用所需的數據和其聯系準確地存放到數據庫中,從而滿足用戶對所需對數據庫的操作。好的數據庫性能,主要指對數據的高效率和空間的節(jié)省,并具有好的數據共享

29、性、完整性、一致性和安全性。</p><p>  數據庫設計的好壞,不僅影響到當前的應用,也影響以后的維護工作。</p><p>  4. 數據庫設計的過程:</p><p><b>  1)系統分析</b></p><p>  系統分析的目標是了解與分析用戶的信息及應用處理的要求。并將結果形成需求說明書。</p&

30、gt;<p><b>  2)概念設計</b></p><p>  概念設計的目標是對需求說明書提供的所有信息和應用處理要求進行抽象與綜合處理,并按照一定的方法構造相應的概念模型。</p><p><b>  3)實現設計</b></p><p>  實現設計的目標是將概念模型轉換成特定數據管理系統所接受的數

31、據庫邏輯結構。數據庫邏輯結構通常由層次、網狀和關系的數據模型表示。</p><p><b>  4)物理設計</b></p><p>  物理設計的目標是將數據庫轉換為特定計算機能接受的數據庫。物理設計的主要內容是選擇數據的存儲方式及檢索技術。</p><p><b>  數據庫的設計過程</b></p>&

32、lt;p>  一、FoxPro概述:</p><p>  FoxPro是美國Fox Software公司推出的用于微機平臺的關系數據庫管理系統,可以幫助用戶收集、恢復和描述數據。FoxPro的功能強大,速度高,有完整豐富的工具、非常友好的用戶界面、簡單的數據存取方式,并具有良好的兼容性、跨平臺特性及可編擇性。</p><p>  FoxPro是一種在微機上小型事物管理系統中廣泛應用的

33、數據庫系統軟件,它在FOXBASE的基礎上引入集成不幸、報表自動生成和關系舉例檢索等功能,并且提高運行速度。FoxPro與FoxBASE百分之一百兼容,FoxBASE的命令及函數在FoxPro中均可使用。該系統分為單用戶版本和多用戶版。這兩類版本各有一個32位增強型版本。FoxPro較ForBASE具有以下特點:</p><p>  1.FoxPro是當時DOS系統中唯一支持鼠標的數據庫產品,它自動透明地支持鼠標

34、,它無鼠標時一樣可完善地進行工作。</p><p>  2.對FoxBASE的語句做了大量的擴展。例如FoxPro比FoxBASE增加了200余條命令和函數,增加了系統內部變量。增加了同時打開的工作區(qū)數和索引文件數</p><p>  3.FoxPro比其它數據庫產品處理速度快。特別是進行某些查詢時,其快速查找技術Rushmore可以使較大的數據庫的查找速度比其它產品快幾百倍甚至上千倍。&

35、lt;/p><p>  4.FoxPro中的RQBE(relation puery by example)窗口,可使用與建立其它對象相同的方法來建立一個SQL查詢,人一個或多個數據庫中提取信息。 </p><p>  5.ForPro中的使用兩種索引文件:單索引文件和復合索引文件。單索引文件可以有效地減少索引文件所需的磁盤空間。建立復合索引后,每次修改數據庫不必先打開索引文件,使用時分方便,且

36、FoxPro的復合索引文件把一個數據庫文件中的所有索引字段都放在一個唯一的索引文件中。</p><p>  6.FoxPro提供了工程文件來記錄一個程序所需數據庫文件、索引文件、屏幕、菜單、報表、查詢、標簽以及他格式的文件。用戶還可以使工程文件建立一個在FoxPro內部使用的應用程序或程序員感興趣的.EXE文件。</p><p>  7.FoxPro采用高級外部程序接口(API),使用戶方

37、便的運用C語言、匯編語言完成涉及系統底層的程序設計。</p><p>  8.FoxPro可以運行在MS DOS Windows UNIX等操作系統環(huán)境下,并保持其對每一級用戶擁有相同的用戶界面、工具和語言。其中Windows下的FoxPro支持動態(tài)數據庫交換、目標鏈接與嵌入。</p><p>  9.使用FoxPro時,一切工作均可圍繞工作菜單與窗口進行,可以利用界面對數據進行操作,

38、也呆以利用界面編寫、編譯應用程序。操作時可能使用鼠標,也可使用鍵盤。應用程序的開發(fā)者可使用帶有調試工具的集成開發(fā)環(huán)境、Xbase語言、項目管理工具及應用程序生成器,開發(fā)出功能和有強的圖形應用程序,實現窗口技術、鼠標操作、各種形式的菜單等</p><p>  二、在設計過程過遇到的問題和解決方案:</p><p><b>  1.程序的調試:</b></p>

39、<p>  我們在編程時難免都會出錯,出錯以后怎樣找出錯誤的地方就變得很重要了,只有正確找出錯誤的地方才可以將其改正,下面我就談一些查錯的常用方法。</p><p>  如果在我們程序中有語法性的錯誤,當程序運行到錯誤的語句時系統就會停下來,并提示我們程序有錯,往往還會說出是什么錯誤,如“命令中含有不能識別的短語或關鍵字”,并給出選擇“取消”、“掛起”、“忽略”、“幫助”四個選擇,它們的意思分別是:

40、</p><p>  取消——中止程序運行,回到命令窗口,相當于執(zhí)行了cancel命令,在程序中創(chuàng)建的所有變量被釋放(除公共變量),但數據庫及數據表一般保持當時的狀態(tài),您可以用browse命令查看數據表的內容即記錄指針所在的位置等等;</p><p>  掛起——暫停程序,相當于執(zhí)行了suspend命令,這時程序中的所有變量都保持原值,您可以用?命令查看變量的值,當然也可以查看數據表的情況

41、;</p><p>  忽略——忽略所出現的錯誤,即跳過出錯的語句繼續(xù)執(zhí)行后面的語句;</p><p>  幫助——顯示有關出錯的幫助信息,對于錯誤做更詳細的說明。不過很多時候都沒什么幫助。</p><p>  如果你看出問題出在哪,那么您可以用取消,然后進到程序中找出錯誤所在,將其改正。在選擇了取消后,可能這時有表單是打開的,那么用鼠標點一下該窗口,然后調菜單上的

42、文件—關閉。如果菜單是您自己的自定義菜單,用set sysmenu to default回到系統菜單。改完后,再次運行程序前,最好將所有的數據庫及表關閉,以免在程序打開一個數據表時出現表已打開的錯誤,比較好的辦法是在程序開頭先關閉所有的數據庫及表。關閉所有數據庫的命令是:close databases all,關閉所有表的命令是:close tables all。</p><p>  如果你不知道問題出在程序的哪

43、個地方,那么就選擇掛起,系統會彈出一個調試器窗口顯示出錯的語句,在跟蹤窗口的黃色箭頭所指的語句就是出錯的語句。這時不要馬上改程序,因為程序還沒有結束運行,如要改程序應先終止程序運行,按調試中的終止按鈕,然后退出調試器(菜單上的文件—退出),接下來與上面選擇取消后的處理方法相同。</p><p>  2. 模式表單的應用</p><p>  在運行表單時,往往因為打開了另一個表單,而造成一些

44、庫文件的使用沖突。通常的解決方法有兩種。第一,在表單設計時把使用的庫文件的BufferModeOverride屬性設為5(開放式表緩沖),并以tableupdate(.T.)來保存更改,這樣就能在多個表單同時使用庫文件時不會有沖突,但是這種方法有時會使程序進行中的數據更新不及時,而使程序進行不正常。因為在我的設計中使用了第二種方法把表單設置為模式表單。模式表單一般地被用來處理錯誤報告,或者請求用戶確認操作等。在模式表單中,菜單不能使用(

45、從而避免了重復打開表單的沖突)。如果需要,模式表單也提供應用'等待狀態(tài)'。</p><p>  3. 在應用程序中避免出現VFP的窗口標題</p><p>  在生成EXE文件后,進行程序時,程序的標題默認為MicrosoftVisualFOXPRO,改為自定義標題的方法如下:在CONFIG.FPW文件中,加"TITLE = 你的標題"行。另外, 也可以

46、在主程序中加入:_SCREEN.Caption="你的標題"</p><p>  4. 當filter設置時,應該用locate代替seek</p><p>  當你的查找字段是建立了索引且當前索引是該索引時,SEEK 通常是查找單個記錄的最快的方法。不過,當設置了filter時,SEEK 非常慢。理由是SEEK將查找符合你的搜索標準的第一個記錄。FoxPro為了移動記

47、錄指針到相應的記錄上,必須找到和你的標準相匹配且和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 條件的第一個

48、記錄。要執(zhí)行 GO BOTTOM, 設置當前索引標識的降序然后LOCATE, 在將索引設置為原來的升序。</p><p>  5. 當所有窗口打開時,怎樣才能看到VFP桌面上的內容</p><p>  在程序設計時,通常要開兩個或以上的的窗口,但是這樣一來,要使用VFP桌面上的東西就要一個個的縮小或關閉。這里有一個簡單的方法:按ALT+CTRL+SHIFT將把全部打開的窗口隱藏起來,直到放

49、開鍵。這樣就能直接看到桌面了。</p><p><b>  6.設置焦點</b></p><p>  為了使用戶在使用程序時更加方法,通常會在一個文本框輸入結果后,自動把光標指定在下一個應該輸入的框中,其方法是在事件中使用setfocus(),但是setfocus()不能從一個對象的VALID事件中把焦點設置到另一個對象上。應該用LostFocus事件作為替代。(有特

50、殊情況時可以使用其它事件代替)。</p><p>  7. DataSource 屬性和 ControlSource 屬性之間,以及 RowSource 屬性和 RecordSource 屬性的區(qū)別</p><p>  DataSource 屬性可以影響存儲在一個數據庫 (.DBC) 中的 ODBC 視圖。它包含了對連接到 ODBC 數據文件名稱的引用,并且必須指向一個通過 OD

51、BC 管理程序定義的有效的數據源。您可以使用 SQLSETPROP( ) 函數操作 DataSource 屬性,而用 SQLGETPROP( ) 函數可以查看它的設置。ControlSource 屬性用來確定一個對象所綁定的數據源;一個對象所綁定的表或者視圖可以為任意類型,包括本地 Visual FoxPro 表,具有 ControlSource 屬性的對象有:CheckBox、Column、ComboBox、Com

52、mandGroup、EditBox、ListBox、OLE Bound Control、 OptionButton、OptionGroup、Spinner 和 TextBox 控件。某些控件(ListBox 和 ComboBox)除了 ControlSource 屬性之外,還有 RowSource 屬性允許您一次顯示多于一個字段和行。數據仍然是與單一的字段綁定的,這就是為什么這些控件需要 ControlSource</p

53、><p>  8. 迅速地在屬性窗口中定位</p><p>  一般的情況下在表單的設計中,要對該控件的部分屬性進行修改,但是由于控件的屬性很多要找到想修改的屬性要比較麻煩(用熟了可以知道大概位置)但這有一個小方法能迅速地在屬性窗口中定位:熱鍵Ctrl+Alt+key使在屬性窗口中定位變得快而簡單。例如,當表單對象選中時,在屬性窗口中按下Ctrl+Alt+C將快速移動到Caption屬性。&

54、lt;/p><p>  以上方法是對單個控件進行屬性設置,但有些表單的控件有十幾個,所以就算使用熱鍵還是比較麻煩。我的解決方法是,先想好表單中控件中基本上相同的屬性,然后把該控件復制若干個,之后再逐個把不相同的屬性改過來就行了。</p><p>  9. 程序中建立'等待狀態(tài)'</p><p>  有時編譯后的程序運行時,屏幕一閃就退出了,要解決這種問題

55、應該在程序中建立‘等待狀態(tài)’。可以用READ EVENTS命令來建立等待狀態(tài)。要清除等待狀態(tài),可使用CLEAR EVENTS命令。如果你只有一個屏幕,把表單的WindowState屬性設置為Modal。這也提供等待狀態(tài),但是不允許你使用菜單。當模式表單被釋放時,等待狀態(tài)結束并返回至操作系統。</p><p>  三、常用命令函數,對象,屬性,事件,方法:</p><p><b>

56、  1.命令:</b></p><p>  假設(if...endif) </p><p>  循環(huán)(do while...enddo) </p><p>  分支(do case...endcase) </p><p>  調用表單(do form) </p><p>  返回調用程序(return) &

57、lt;/p><p>  啟動事件處理(read events) </p><p>  清除事件處理(clear events) </p><p>  開關命令執(zhí)行狀態(tài)(set talk on/off) </p><p>  開關一個事務(begin/end transaction)</p><p>  事務處理回復原狀態(tài)(

58、rollback)</p><p>  在表中添加記錄(append[blank])</p><p>  刪除有刪除標記的記錄(pack)</p><p>  更新表記錄(replace ..with..)</p><p>  定義全局內存變量(public)</p><p>  結束程序(cancel) </

59、p><p><b>  2.函數:</b></p><p>  字符轉換數值(val()) </p><p>  取系統日期(date()) </p><p>  取年份(year()) </p><p>  取月份(month()) </p><p>  取天日(day())

60、 </p><p>  刪除標記(delete()) </p><p>  表結尾(eof())</p><p>  消除前后空格(alltrim ())</p><p>  返回字符串長度(len())</p><p>  3.對象(object): </p><p><b>  表

61、單(form) </b></p><p>  按鈕(commandbutton) </p><p>  標簽(label) </p><p>  文本框(text) </p><p>  表格(grid) </p><p>  4.屬性(property):</p><p>  標

62、題(caption) </p><p>  左起始位(left) </p><p>  上起始位(top) </p><p>  寬度(width) </p><p>  高度(hight) </p><p>  控制源(controlsource) </p><p><b>  值(

63、value) </b></p><p>  文本對齊(alignment) </p><p><b>  名稱(name) </b></p><p>  只讀(readonly) </p><p>  可見(visible)</p><p>  可用(enabled)</p>

64、;<p>  指定輸入和顯示格式(inputmask) </p><p>  5.事件(event):</p><p>  單擊(click) </p><p><b>  初始化(init)</b></p><p>  失去焦點前發(fā)生(value)</p><p>  失去焦點時

65、發(fā)生(lostfocus)</p><p>  6.方法(methord):</p><p>  設置焦點(setfocus) </p><p>  刷新(refresh) </p><p>  釋放(release)</p><p><b>  系統簡介</b></p><p

66、>  本次畢業(yè)設計我們主要是運用VF6,小型商場的管理系統:</p><p>  1.型商場管理系統結構圖</p><p><b>  2.系統功能介紹:</b></p><p>  銷售模塊(pos_rxs):</p><p>  通過輸入商品的編碼和數量,計算出應付金額。當輸入編碼時,系統從商品庫(pos_sp

67、k)中查找到相應的商品名稱和單價,再將單價乘數量算出金額。所有商品輸入完成后,計算出總金額,對持有VTP卡的客戶,只要輸入VIP卡號就能享有9折的優(yōu)惠。輸入付款數。付款數減總金額,得出應退款。交易完成后可以選擇打印收據。</p><p>  進貨模塊(pos_jhsr):</p><p>  能夠對倉庫曾有和現有的商品進貨,自動獲取單價及其供應商。輸入商品名稱,進貨日期,數量,進貨價和供應

68、商的資料,并存入庫存庫(pos_kck)中。當輸入商品名稱后,在商品庫中查找相應的商品名稱,找到后將商品編碼單價等資料存入庫中。若查找失敗,則在商品管理中輸入相應的商品信息。</p><p>  按金錢分類(pos_jetj):</p><p>  能對以銷售的同類商品進行按銷售總金額分類顯示,有“1千以下”、“1千到3千”、“3千到5千”、“5千到1萬”、“1萬以上”這5個類型。并可進行

69、打印。</p><p>  按金錢分類(pos_sltj):</p><p>  能對以銷售的同類商品進行按銷售總數量分類顯示,有“100件以下”、“100件到300件”、“300件到500件”、“500件到1000件”、“1000件以上” 5個選項。并可進行打印。</p><p>  清空銷售庫(pos_qkxsk):</p><p>  

70、對已存的商品銷售記錄進行清空,清空記錄后不能再次恢復。</p><p>  商品輸入(pos_sbsr):</p><p>  主要功能為輸入商品信息,輸入商品編碼,名稱,供應商等資料,并存于商品庫中。</p><p>  商品刪改(pos_sbgl):</p><p>  能對商品庫中的記錄進行刪改。</p><p>

71、;  由于客戶輸入(pos_khsr),客戶刪改(pos_khgl),供應商輸入/刪改(pos_gyssr/pos_gysgl),員工輸入/刪改(pos_ygsr/pos_yggl)功能于商品輸入/刪改相近故不再注明。</p><p>  更改密碼(pos_ggmm):</p><p>  對員工的登錄密碼進行修改。</p><p>  倉庫查詢(pos_jhgl)

72、:</p><p>  對庫存庫(pos_kck)中的記錄進行刪改。(只限權限為‘a’的超級用戶)</p><p>  日統計(pos_rtj):</p><p>  通過視圖打印當日銷售的貨品。</p><p>  月統計(pos_ytj):</p><p>  通過視圖打印本月銷售的貨品。</p>&

73、lt;p>  打印庫存表(pos_kctj):</p><p>  通過視圖打印庫中商品的資料。</p><p>  登錄(pos_dl):</p><p>  輸入用戶名和密碼與員工庫中資料比較相同則給予登錄。</p><p>  菜單(pos_qmenu):</p><p>  本系統的主菜單。根據權限本表單

74、對各模塊進行開啟和調用。</p><p>  開始頁面(pos_begin)</p><p>  本系統的初始頁面,可以選擇登錄或退出。</p><p>  3.系統庫文件結構介紹:</p><p>  商品庫(pos_spk):</p><p>  庫存庫(pos_kck):</p><p>

75、  銷售庫(pos_xsk):</p><p>  供應商庫(pos_gys):</p><p>  客戶庫(pos_khk):</p><p>  員工庫(pos_yg):</p><p><b>  4.各庫的關聯:</b></p><p>  在數據庫中包含了許多表,我們可以在相關表之間建立

76、關系。表之間的關系包括永久關系和臨時關系。永久關系是數據庫間的關系,它們存儲在數據庫文件中,并且不必在每次使用表時重新創(chuàng)建(本系統以永遠關系為主)。</p><p><b>  員工庫:</b></p><p>  bm主索引,通過bm字段與pos_xsk表中的sh字段建立永久關系。</p><p><b>  商品表:</b&

77、gt;</p><p>  bm主索引,gys普通索引;通過bm字段和pos_xsk表中的BM字段,以及pos_kck表中的bm字段建立永久關系,通過gys字段和pos_gys表中的gys字段建立永久關系。</p><p><b>  客戶表:</b></p><p>  kh主索引;通過kh字段和pos_xsk表中的kh字段建立永久關系。&l

78、t;/p><p><b>  供應商表:</b></p><p>  gys主索引,通過gys字段和pos_spk表中的gys字段建立了永久關系。</p><p><b>  銷售表:</b></p><p>  kh普通索引,sh普通索引,bm普通索引,xhbm普通索引;通過bm字段和pos_spk表

79、中的bm字段建立永久關系,通過sh字段和pos_yg表中的bm字段建立關系,通過kh字段和pos_khk表中的kh字段建立關系。</p><p><b>  庫存表:</b></p><p>  bm普通索引,gys普通索引;通過bm字段和pos_spk表中的bm字段建立關系,通過gys字段和pos_gys表中的gys字段建立關系。</p><p&

80、gt;<b>  系統設計流程</b></p><p>  本節(jié)主要介紹本系統的設計過程:</p><p>  第一步:創(chuàng)建項目文件</p><p>  項目管理器是Visual FoxPro應用開發(fā)系統的核心,它把應用系統中的各種數據和程序按一定的邏輯關系進行了有效的、可視化的組織和管理。其中包括文件、數據、文檔和對象,項目文件的擴展名為.P

81、JX。</p><p>  其創(chuàng)建項目的過程如下:</p><p> ?。ǎ保┫到y“文件”菜單,執(zhí)行其中的“新建”命令。在彈出的“新建‘對話框中,選擇“項目”文件類型,然后單擊“向導”按鈕。在打開的“應用程序向導”對話框中,在項目名稱編輯框內輸入要創(chuàng)建的項目文件名。如“小型商場管理系統”</p><p> ?。ǎ玻﹩螕簟按_定”按鈕,系統便開始了項目文件的創(chuàng)建<

82、/p><p><b>  第二步:創(chuàng)建數據庫</b></p><p>  創(chuàng)建一個新數據庫的步驟如下:</p><p>  在“項目管理器”中,選擇“數據”選項,然后在列表中選擇“數據庫”,并單擊“新建”按鍵。</p><p>  在出現的“新建數據庫”對話框中,單擊“新建數據庫”按鍵。</p><p&g

83、t;  “創(chuàng)建”的對話框中的“數據庫名”框中輸入數據庫名稱,然后單擊“保存”就行了。</p><p>  在創(chuàng)建數據庫之后,就要在庫中添加表,其步驟如下:</p><p>  在“項目管理器”中選定數據庫,然后選擇“表”,再單擊“新建”按鍵,出現一個“新建表”對話框。</p><p>  在對話框中單擊“新建表”按鈕。</p><p>  在

84、“創(chuàng)建”對話框的“輸入表名”框中輸入新表名,然后單擊“保存按鍵就行了。</p><p>  根據事先設計好的表,輸入字段,類型,寬度等。</p><p>  完成以上工作后再為表建立索引和并聯,這樣系統的數據庫就創(chuàng)建完成了(本系統的數據庫資料已在上一章系統簡介列出)</p><p><b>  第三步:創(chuàng)建表單</b></p>&

85、lt;p>  Visual FoxPro提供了一個功能強大的表單設計器,使得表單的設計工作變得既快又容易。使用Visual FoxPro創(chuàng)建的應用程序的交互操作,主要是通過表單來實現的。可以在表單中進行輸入數據、查詢數據以及控制應用程序的運行等交互操作。</p><p>  在創(chuàng)建表單之前,應首先明確下面幾方面內容:</p><p><b>  - 表單的功能。</b

86、></p><p> ?。”韱沃惺褂玫臄祿?。</p><p> ?。”韱沃惺褂玫目丶?。</p><p><b> ?。”韱蔚耐庥^。</b></p><p>  創(chuàng)建表單的步驟如下:</p><p>  在“項目管理器”的選項卡中,選擇“文檔”,選中表單。</p><

87、p>  單擊新建按鈕,就會出現一個“新建表單”對話框。</p><p>  在對話框中單擊“新建表單”按鈕,就會打開表單設計器,并且創(chuàng)建一個空表單。之后就可以進行表單的設計了。</p><p><b>  設計的介面如下:</b></p><p><b>  第四步:創(chuàng)建視圖</b></p><p

88、>  在管理信息系統中,當完成數據的采集后,就需要充分利用這些數據,其中之一就是能夠迅速找到或匯總需要的信息。在Visual FoxPro6中是通過視圖來實現數據的查詢的。視圖可以用來從一個或多個相關聯的表中提取有用信息。</p><p>  在創(chuàng)建本地視圖前,應先做好以下準備:</p><p> ?。?chuàng)建視圖要達到的目的。</p><p> ?。∫暳κ褂?/p>

89、了哪些表。</p><p> ?。∈褂玫谋碇g的關系。</p><p> ?。∫晥D使用了哪些字段。</p><p> ?。≡谝暳χ行枰裁从涗?。</p><p>  創(chuàng)建視圖的步驟如下:</p><p>  從項目管理器中選定“數據”標簽,然后選定“數據庫”項。</p><p>  單擊“

90、數據庫”下自己建立的數據文件,選定“本地視圖”,并選擇“新建”按鈕。</p><p>  在“新建本地視圖”對話框中選擇“新建視圖”按鈕</p><p>  再按需要輸入需要的字段,聯接條件,篩選條件,排序條件,以及分組條件就可以了。</p><p><b>  設計介面如下:</b></p><p>  視圖的聯接條件

91、選項:</p><p>  視圖的篩選條件選項:</p><p>  視圖的排序條件和分組條件通常情況下默認即可,如所做視圖還要特定的功能可對更新條件,以及雜項進行設置。</p><p><b>  第五步:創(chuàng)建報表</b></p><p>  信息系統中將數據輸出的另一種方式就是各種統計報表。在Visual FoxPr

92、o中報表包括兩個基本的組成部分:數據源和布局。數據源通常是數據庫中的表,但也可以是視圖、查詢或臨時表。視圖和查詢對數據庫中的數據進行篩選、排序和分組,而報表布局定義了報表的打印格式。當我們定義了一個表和一個視圖后,就可以創(chuàng)建報表了。</p><p>  我們可以通過報表的設計,用多種方式在打印頁面上顯示數據。使用“報表設計器”我們可以設計復雜的列表、總結摘要或數據的特定集合,比如銷售統計表。設計報表有四個主要步驟

93、:</p><p>  決定要創(chuàng)建的報表類型</p><p><b>  創(chuàng)建報表布局文件。</b></p><p>  修改和定制布局文件。</p><p><b>  預覽和打印報表。</b></p><p>  Visual FoxPro提供了三種創(chuàng)建報表的方法:<

94、;/p><p>  用“報表向導”創(chuàng)建簡單的單表或多表報表。</p><p>  用“快速報表”從單表中創(chuàng)建一個簡單報表。</p><p>  用“報表設計器”修改已有的報表或創(chuàng)建自己的報表。</p><p> ?。ㄔ诒敬卧O計中的報表主要以“報表向導”創(chuàng)建后再以“報表設計器”修改來完成的。)</p><p><b&g

95、t;  創(chuàng)建報表的步驟:</b></p><p>  在“項目管理器”中選定“報表”,然后單擊“新建”按鈕。</p><p>  在“新建報表”對話框中單擊“報表向導”按鈕。</p><p>  在“向導選取”對話框的列表中,選擇“報表向導”,然后單擊“確定”按鈕,即可根據向導設計報表了。</p><p>  最后再用“報表設計器

96、”修改打印頁面能全部完成了。</p><p><b>  設計介面如下:</b></p><p>  第六步:連項目文件與可執(zhí)行文件</p><p>  完成了以上的各步,我們已經建立了一個完整的管理信息系統,最后要做的就是將這個系統編譯成獨立的應用程序了。</p><p>  在選擇編譯操作的選項時,為了確保所有引用的

97、完整,并加入上次連編之后更新的一些組件,應對整個項目進行重新編譯。</p><p>  編譯一個項目的操作步驟如下:</p><p>  在“項目管理器”中,按下“連編”按鈕,之后出現一個對話框。</p><p>  在“連編選項”對話框中,在“操作區(qū)域選擇重新連編項目”單選按鈕。</p><p>  按下“確定”按鈕,系統將開始對整個項目文

98、件進行編譯。(如項目中不存在錯誤就能編譯成功,否則將在編譯完成后顯示錯誤信息)</p><p>  如果連編項目之后沒有錯誤,就可以開始連編應用程序了,建立自己可獨立運行的程序。當將項目文件編譯成執(zhí)行的應用程序后,該程序就可以脫離VF環(huán)境直接運行了。</p><p><b>  其步驟如下:</b></p><p>  “項目管理器”中,按下“

99、連編”按鈕。</p><p>  在“連編選項”對話框中,在“連編可執(zhí)行程序”單選按鈕。</p><p>  按下“確定”按鈕,這時會出現一個“另存為”對話框。</p><p>  在對話框中選定可執(zhí)行文件的存放路徑即可。</p><p>  “連編選項”對話框:</p><p><b>  表單分析<

100、/b></p><p>  表單是Visual FoxPro中最能體現面向對象編程的一部分,在以前的版本中,例如FoxPro2.6及以前的版本就沒有表單的概念,只有關于屏幕的說法。在用屏幕來設計時,只要為屏幕設置它的大小、位置、顏色以及添加一些必要的對話框即可。因此,屏幕的功能很有限,不能滿足應用程序的功能需求。而在Visual Foxpro中表單是一個可處理的對象,它有自己的屬性、事件和方法。因此,通過設

101、置表單的屬性,響應表單的事件,執(zhí)行表單的方法代碼,就可以完成較強功能的應用程序設計??傊?,表單是應用程序設計的核心。</p><p>  我在這次設計中負責銷售模塊、銷售統計模塊、報表打印模塊等。</p><p>  在這節(jié)我將以我所負責設計的表單中以銷售表單、按數量分類統計表單登錄表單、以及菜單表單為例,介紹我設計表單的思路和其中程序的分析。</p><p>  

102、銷售表單(pos_rxs):</p><p>  銷售表單可以說是本系統的中心通過輸入商戶購買商品的編號和數量,跟著從系統從商品庫(pos_spk)中查找到相應的商品名稱和單價,再將單價乘數量算出金額。所有商品輸入完成后,計算出總金額,對持有VTP卡的客戶,只要輸入VIP卡號就能享有9折的優(yōu)惠。最后輸入付款數。付款數減總金額,得出應退款,更新庫存資料后將本宗交易的資料存于銷售庫(pos_xsk)中,以便對銷售情況

103、進行統計。交易完成后可以選擇打印收據。</p><p><b>  表單流程圖:</b></p><p><b>  表單介面:</b></p><p><b>  數據環(huán)境:</b></p><p><b>  程序分析:</b></p>

104、<p>  Form1.init</p><p>  select pos_xsk</p><p>  public xhbm2</p><p><b>  xhbm2=0</b></p><p><b>  go top</b></p><p>  do whil

105、e NOT eof()</p><p>  if (pos_xsk.xhbm>xhbm2)</p><p>  xhbm2=pos_xsk.xhbm</p><p><b>  endif</b></p><p><b>  skip</b></p><p><b

106、>  enddo</b></p><p>  xhbm2=xhbm2+1</p><p>  set filter to pos_xsk.xhbm=xhbm2</p><p>  本段為表單的初始化和對pos_xsk表進行過濾,使表單中的表格控件在剛啟動時不顯示任何數據。</p><p>  “開始”(command5.cl

107、ick):</p><p>  public hjs*定義全部全局用以存放商品的合計價</p><p><b>  hjs=0.00</b></p><p>  thisform.grid1.enabled=.t.</p><p>  thisform.grid1.column1.enabled=.f.</p&g

108、t;<p>  thisform.grid1.column2.enabled=.f.</p><p>  thisform.grid1.column3.enabled=.f.</p><p>  thisform.grid1.column4.enabled=.f.</p><p>  thisform.txtspbm.enabled=.t.</p

109、><p>  thisform.txtspsl.enabled=.t.</p><p>  thisform.command1.enabled=.t.</p><p>  thisform.command6.enabled=.t.</p><p>  thisform.command7.enabled=.f.</p><p&g

110、t;  thisform.txtspbm.setfocus</p><p>  this.enabled=.f.</p><p>  begin transaction*開始事務處理</p><p>  本段程序功能是開始銷售,于點擊此按鈕時,表格不可用(確保表上資料不被誤改)并使商品編碼文本框、商品數量文本框和“下一件”按鈕可用。</p><

111、;p>  “撒銷”(command6.click):</p><p><b>  ??chr(7)</b></p><p>  result=messagebox("是否確認放棄修改",4+48+256,"信息窗口")</p><p>  if result=6*顯示提示窗口,選是執(zhí)行。<

112、/p><p><b>  rollback</b></p><p>  this.enabled=.f.</p><p>  thisform.command1.enabled=.f.</p><p>  thisform.command2.enabled=.f.</p><p>  thisform

113、.command3.enabled=.f.</p><p>  thisform.command4.enabled=.f.</p><p>  thisform.command5.enabled=.t.</p><p>  thisform.command7.enabled=.t.</p><p>  thisform.text2.enabl

114、ed=.f.</p><p>  thisform.text1.value=""</p><p>  thisform.text2.value=""</p><p>  thisform.text3.value=""</p><p>  thisform.txtspbm.enable

115、d=.f.</p><p>  thisform.txtspsl.enabled=.f.</p><p>  thisform.opt.enabled=.f.</p><p>  thisform.txtvip.enabled=.f.</p><p>  thisform.refresh</p><p><b&g

116、t;  endif</b></p><p>  本段程序為撒銷操作,點擊后放棄輸入的記錄,將表單中的“合計”、“付款數”和“應退款”的值設為空,并使“開始”和“退出”按鈕可用,其余按鈕為不可用。</p><p>  “退出”(command7.click):</p><p><b>  ??chr(7)</b></p>

117、<p>  result=messagebox("是否退出?",4+48+256,"信息窗口")</p><p>  if result=6</p><p>  select pos_xsk</p><p>  =cursorsetprop('buffering',1) *關閉表緩沖區(qū)<

118、/p><p><b>  use</b></p><p>  use pos_xsk excl</p><p>  set excl on</p><p><b>  pack</b></p><p>  set excl off</p><p><

119、b>  use</b></p><p>  thisform.release</p><p><b>  endif</b></p><p>  本段代碼功能是當單擊“退出”按鈕時,關閉表緩沖區(qū),并關閉表單返回主介面。</p><p>  “下一件”(command1.click):</p>

溫馨提示

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

評論

0/150

提交評論