Delphi超市管理系統(tǒng)_第1頁
Delphi超市管理系統(tǒng)_第2頁
Delphi超市管理系統(tǒng)_第3頁
Delphi超市管理系統(tǒng)_第4頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選文庫第1章概述1.1課題研究的背景與意義系統(tǒng)的應(yīng)用背景自從我國成功加入 WTO 以后,隨著信息化浪潮的日益臨近, 超市的經(jīng)營管理機(jī)制也正在發(fā)生著巨大的變化,超市要想在激烈的市場競爭環(huán)境下生存下來,就必須有效地利用人才和時(shí)間以及信息,使它們相結(jié)合而產(chǎn)生優(yōu)勢,并進(jìn)行有效的超市內(nèi)部的改革以及倉庫的管理。因此,借助現(xiàn)代化的信息技術(shù)和管理的理論,建立超市的信息管理系統(tǒng)已經(jīng)迫在眉睫。本系統(tǒng)根據(jù)商品管理的業(yè)務(wù)的范圍和工作的特點(diǎn),給系統(tǒng)設(shè)計(jì)了包括商品經(jīng)營管理、人員管理、商情信息管理等,能夠及時(shí)、準(zhǔn)確地反映超市經(jīng)濟(jì)活動(dòng)狀態(tài),成為超市內(nèi)各級(jí)管理人員的有力工具。這樣可以大大的減輕超市工作人員的工作量,并且全面的

2、提高超市倉庫管理的管理效率和服務(wù)質(zhì)量,它操作很方便,并且功能齊全,給用戶節(jié)省了不少的寶貴時(shí)間,將使超市的管理水平和業(yè)務(wù)水平躍上新的臺(tái)階。系統(tǒng)的開發(fā)意義前些年,企業(yè)的進(jìn)貨管理主要都是采用手工管理,而這幾年,隨著我國社會(huì)主義市場經(jīng)濟(jì)體制的鞏固和發(fā)展,在商業(yè)的流通領(lǐng)域產(chǎn)生了一個(gè)空前的發(fā)展階段,而面對(duì)商界的激烈的競爭,很多企業(yè)規(guī)模的不斷擴(kuò)大,并且經(jīng)營項(xiàng)目的不斷增加,使得手工的管理已經(jīng)不能夠滿足企業(yè)發(fā)展的需要了。而由于每天的銷售量的增加,導(dǎo)致進(jìn)貨的次數(shù)變得頻繁。而進(jìn)貨次數(shù)的增加,就不免在業(yè)務(wù)上、財(cái)務(wù)上會(huì)出現(xiàn)大量的問題,進(jìn)而會(huì)造成庫存數(shù)目的混亂,并最終導(dǎo)致管理混亂,形成一個(gè)惡性的循環(huán)。所以為了規(guī)范企業(yè)的內(nèi)

3、部管理,并提高企業(yè)的業(yè)務(wù)管理水平,而讓企業(yè)更好地服務(wù)于顧客,人們開始想用計(jì)算機(jī)來代替手工操作管理業(yè)務(wù)1 。這次系統(tǒng)的開發(fā),主要包括基礎(chǔ)信息管理、采購信息管理和系統(tǒng)輔助管理三大模塊。基礎(chǔ)信息管理主要是對(duì)系統(tǒng)中要用到一些基礎(chǔ)信息進(jìn)行維護(hù)和管理;采購信息管理主要是對(duì)采購業(yè)務(wù)進(jìn)行管理;系統(tǒng)輔助管理主要有系統(tǒng)數(shù)據(jù)備份和用戶賬號(hào)管理兩大功能。本信息管理系統(tǒng)的使用,使得企業(yè)的組織結(jié)構(gòu)更加的簡化,使得傳統(tǒng)的企業(yè)中的物價(jià)、核算等部門的工作完全被計(jì)算機(jī)相關(guān)功能代替,這樣,就節(jié)省了這些部門的設(shè)備和人工費(fèi)用的支出。從而使企業(yè)獲得更大的經(jīng)濟(jì)效益。-2 。精選文庫1.2系統(tǒng)開發(fā)的實(shí)驗(yàn)基礎(chǔ)與理論基礎(chǔ)系統(tǒng)開發(fā)的實(shí)驗(yàn)基礎(chǔ)對(duì)于技

4、術(shù)的可行性:開發(fā)連鎖超市信息管理系統(tǒng)(基于 Delphi),要求開發(fā)人員都能夠熟練的運(yùn)用 Delphi 等編程語言。目前的技術(shù)人員已經(jīng)掌握了這些編程語言。所以,本次系統(tǒng)的開發(fā)在技術(shù)上是可行的。對(duì)于時(shí)間的可行性:開發(fā)的時(shí)間大概需要四個(gè)月左右。前三個(gè)月,主要用于系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn),而后面的時(shí)間則主要用于調(diào)試工作。對(duì)于資金的可行性:因?yàn)槟壳耙延须娔X設(shè)備,為開發(fā)工作提供了所需的硬件基礎(chǔ),所以在開發(fā)資金方面也是可行的。系統(tǒng)開發(fā)的理論基礎(chǔ)信息管理系統(tǒng)是一個(gè)信息化、智能化以及具有先進(jìn)管理理念的集合體。但是由于管理它是一個(gè)動(dòng)態(tài)的過程,所以在它的運(yùn)行過程中還需要采取多種措施在管理中獲得的經(jīng)濟(jì)效益是一種綜合的

5、效益,而要對(duì)它來進(jìn)行直接的定量的分析是非常困難的,對(duì)于一般的新系統(tǒng),它們帶來的經(jīng)濟(jì)效益是明顯的,而信息管理系統(tǒng)最主要的表現(xiàn)就是減少了企業(yè)的管理費(fèi)用和人力資源的開支。對(duì)于其它的一些繁瑣事物將都通過系統(tǒng)來加以分析和解決,這樣就不僅節(jié)省了大量的時(shí)間,而且還為企業(yè)的各項(xiàng)決策提供了可信的數(shù)據(jù)材料,必將為企業(yè)帶來巨大的經(jīng)濟(jì)效益3 。1.3本文主要內(nèi)容及組織結(jié)構(gòu)主要內(nèi)容由于連鎖超市信息管理系統(tǒng)的工程量很大,本文只對(duì)其子系統(tǒng)基礎(chǔ)信息管理系統(tǒng)進(jìn)行詳細(xì)的研究和開發(fā)?;A(chǔ)信息管理系統(tǒng)的主要組成模塊包括:登錄模塊、基礎(chǔ)信息設(shè)置模塊、采購信息設(shè)置模塊和系統(tǒng)輔助管理模塊。對(duì)這些模塊進(jìn)行了詳細(xì)的分析設(shè)計(jì)與實(shí)現(xiàn),并進(jìn)行了測試

6、工作,最后結(jié)果顯示是可行的。因?yàn)閭鹘y(tǒng)的基礎(chǔ)信息管理是使用的各類表單來記錄的數(shù)據(jù),到最后還需要盤點(diǎn)或者統(tǒng)計(jì),這樣是十分耗費(fèi)時(shí)間和人力的。而采用基礎(chǔ)信息管理系統(tǒng)對(duì)貨物的進(jìn)出的情況進(jìn)行管理,則可以非常方便地做好各類統(tǒng)計(jì),并且給生產(chǎn)和銷售人員及時(shí)提供相關(guān)貨物信息4。這個(gè)系統(tǒng)主要實(shí)現(xiàn)了基礎(chǔ)信息管理的自動(dòng)化,其中主要包括商品的添加、刪除、查詢和修改的操作,以及廠商和職員的相關(guān)信息的管理,例如:對(duì)于廠商的信息管理、職員所-精選文庫屬部門的管理。這個(gè)系統(tǒng)使用了 SQL Server2000作為后臺(tái)的數(shù)據(jù)庫來管理系統(tǒng),并且在前端使用了 ADO 組件來訪問實(shí)際的數(shù)據(jù)庫內(nèi)容。組織結(jié)構(gòu)第一章 概述,介紹本系統(tǒng)的研究背

7、景,超市信息管理系統(tǒng)的發(fā)展趨勢,本系統(tǒng)開發(fā)的意義以及系統(tǒng)開發(fā)的基礎(chǔ)。第二章 開發(fā)技術(shù)分析與研究, 包括系統(tǒng)開發(fā)模式分析, 開發(fā)工具 Delphi 概述, Delphi 中常用組件的屬性及事件,數(shù)據(jù)庫組件的用法, ADO 組件的用法等。第三章 系統(tǒng)的概要設(shè)計(jì)及分析,包括系統(tǒng)功能模塊設(shè)計(jì),系統(tǒng)流程分析。第四章 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),包括數(shù)據(jù)庫的設(shè)計(jì),系統(tǒng)工程框架的創(chuàng)建,基礎(chǔ)數(shù)據(jù)模塊設(shè)計(jì),采購信息管理模塊設(shè)計(jì),系統(tǒng)輔助管理模塊設(shè)計(jì)。第五章 系統(tǒng)的測試,包括系統(tǒng)的運(yùn)行流程,系統(tǒng)各個(gè)窗體的詳細(xì)測試。-精選文庫第 2章開發(fā)技術(shù)分析與研究2.1開發(fā)模式的分析目前,用于信息管理系統(tǒng)的開發(fā)工具有很多,如開發(fā)本系

8、統(tǒng)所用到的Delphi ,此外,還有諸如 VB 、VC 、ASP.net等等,而使用 Delphi 開發(fā)信息管理系統(tǒng)的優(yōu)點(diǎn)就是,它的界面很容易實(shí)現(xiàn),語法結(jié)構(gòu)也較簡單,而它的缺點(diǎn)就是不能很好的實(shí)現(xiàn) B/S 或者 C/S 的模式,而相比之下, ASP.net的優(yōu)點(diǎn)就是比較容易實(shí)現(xiàn)B/S 模式,這些都是由語言自身的特點(diǎn)來決定的。如今,在國內(nèi)外比較流行的兩種開發(fā)模式分別是:B/S 模式和 C/S 模式。 B/S是 Brower/Server 的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器( Browser),如 Netscape Navigator 或 Internet Explorer,服務(wù)器安裝 Oracle

9、、Sybase、Informix 或 SQL Server 等數(shù)據(jù)庫。瀏覽器通過 Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互; C/S 是 Client/Server 的縮寫,服務(wù)器通常采用高性能的 PC、工作站或小型機(jī), 并采用大型數(shù)據(jù)庫系統(tǒng),如 Oracle、 Sybase、 Informix 或 SQL Server。客戶端需要安裝專用的客戶端軟件。C/S 架構(gòu)的優(yōu)點(diǎn)主要是:第一、其應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)的負(fù)荷比較輕。第二、它的數(shù)據(jù)的儲(chǔ)存管理功能是比較透明的。但是C/S 架構(gòu)軟件的缺點(diǎn)是:其維護(hù)的成本比較大且投資也比較大,其次,對(duì)于傳統(tǒng)的 C/S 結(jié)構(gòu)的軟件,需要對(duì)不同的操作系統(tǒng)開發(fā)不同版本

10、的軟件,而由于產(chǎn)品的更新?lián)Q代速度非???,帶來很大的更新工作要做。所以,它的代價(jià)是很高的,相對(duì)很低的效率使得其已經(jīng)不適應(yīng)工作的需要了。特別是在像 JAVA 這樣的跨平臺(tái)語言出現(xiàn)了以后, B/S 架構(gòu)模式更是強(qiáng)烈的沖擊了 C/S 架構(gòu),并且對(duì)它形成了巨大的挑戰(zhàn)。 B/S 架構(gòu)軟件的優(yōu)點(diǎn)主要是:第一、其維護(hù)和升級(jí)方式比較簡單,第二、它的成本降低了,使得選擇變得更多一些 5 。本系統(tǒng)是一個(gè) C/S 模式的系統(tǒng),本系統(tǒng)使用了 Delphi7.0 的許多面向?qū)ο蟮慕M件,比如: ADODataSet 組件、 ADOtable 組件等,系統(tǒng)中還有 SQL 命令語句的應(yīng)用、跨表的查詢、分組的統(tǒng)計(jì)以及分組篩選等關(guān)

11、鍵技術(shù)。還有諸如建立主副明細(xì)表等等相關(guān)技術(shù)。要讓系統(tǒng)的管理具有良好的可操作性,系統(tǒng)的功能具有可擴(kuò)充性,并且盡量使系統(tǒng)的功能完善,這就是設(shè)計(jì)軟件系統(tǒng)的核心思想6 。用戶在進(jìn)入系統(tǒng)之前都要進(jìn)行權(quán)限的檢測,而在執(zhí)行各大模塊的相關(guān)功能時(shí)侯,也需要對(duì)操作的權(quán)限進(jìn)行判定和限制,系統(tǒng)的幾個(gè)模塊之間的關(guān)系也是密切的聯(lián)系的 7 。-精選文庫2.2開發(fā)工具 Delphi 7.0概述世界著名的 Borland 公司開發(fā)的 Delphi 7.0 是一種可視化的軟件開發(fā)工具為我們提供了一種方便、快捷的Windows 應(yīng)用程序開發(fā)工具,它使用了MicrosoftWindows 圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想。Del

12、phi 被稱為是第四代的編程語言,因?yàn)樗哂泻唵?、高效、功能?qiáng)大等特點(diǎn)。我們把Delphi 和 VC 相比,Delphi 更簡單、更易于掌握,而在功能上面卻是絲毫不遜色的; 和 VB 相比,Delphi功能更強(qiáng)大、更實(shí)用??梢哉f Delphi 同時(shí)兼?zhèn)淞?VC 功能強(qiáng)大的特點(diǎn)和 VB 簡單易學(xué)的特點(diǎn)。 Delphi 一直都是程序員最喜歡的編程工具。對(duì)于 Delphi 它具有以下的特點(diǎn),它是基于窗體的和采用了面向?qū)ο蟮姆椒?,其擁有高速的編譯器,并且還有強(qiáng)大的數(shù)據(jù)庫支持,它與 Windows 平臺(tái)編程緊密的結(jié)合,還有成熟的組件技術(shù)。然而最重要的還得是 Object Pascal語言,它才是一切的根

13、本。 Object Pascal語言是在 Pascal語言的基礎(chǔ)之上發(fā)展起來的,它簡單易學(xué)8 。在 Delphi 語言中,提供了多種開發(fā)工具,其中包括集成環(huán)境、圖像編輯,還有各種開發(fā)數(shù)據(jù)庫的應(yīng)用程序, 比如:DeskTopDatabase Expert等。并且除此之外,Delphi 還允許用戶掛接其它的應(yīng)用程序開發(fā)工具, 比如:掛接 Borland 公司的資源編輯器 Resourse Workshop等。 Delphi 有很多的優(yōu)勢,特別是它在數(shù)據(jù)庫方面的特長顯得特別突出,因?yàn)樗m應(yīng)于多種數(shù)據(jù)庫的結(jié)構(gòu),它不僅適合客戶機(jī) /服務(wù)器模式,它還支持多層數(shù)據(jù)結(jié)構(gòu)模式,它擁有高效率的數(shù)據(jù)庫管理系統(tǒng)以及新

14、一代的先進(jìn)的數(shù)據(jù)庫引擎,它還具有最新的數(shù)據(jù)分析手段,并且其還提供了大量的企業(yè)組件供開發(fā)者使用。2.3 Delphi中常用組件通用屬性及事件Delphi 中每個(gè)組件都有自己的屬性、事件和方法,而可視組件存在著一些共性的屬性和事件。可視組件的通用屬性如表 2-1 所示。表 2-1 通用屬性屬性設(shè)置說明適用于大部分組件。當(dāng)組件的父窗口的大小發(fā)生變化時(shí),該屬性值描述了組件的各邊與父窗口邊框的位置。參數(shù)有akLeft , akTop,AnchorsakBottom 和 akRight,把這些參數(shù)值設(shè)為True 后,分別說明組件的左邊、上邊、底邊和右邊相對(duì)父窗口的左、上、底、右邊框的距離不變BorderW

15、idth適用于窗口組件,定義窗口組件的寬度BoundsRect適用于所有組件,定義組件的邊框矩形,只用于運(yùn)行時(shí)-精選文庫Caption適用于大部分組件,說明組件的標(biāo)題Constraints適用于所有組件,確定組件改變大小時(shí)的最大尺寸和最小尺寸Color適用于大部分組件,確定組建的表面或者背景顏色Enable適用于所有組件,確定組件的功能是否被禁用Font適用于所有組件,確定組件內(nèi)字體Name適用于所有組件,組建的名稱,要區(qū)別于 CaptionPopupMenu適用于所有組件,定義當(dāng)用戶在組件上單擊鼠標(biāo)右鍵時(shí)的彈出菜單Visible適用于所有組件,確定組件是否可見可視組件的通用事件如表 2-2

16、所示。表 2-2 通用事件屬性設(shè)置說明OnChange適用于多數(shù)組件,在對(duì)象或其內(nèi)數(shù)據(jù)發(fā)生變化時(shí),如編輯框中的文本發(fā)生改變時(shí)OnClick適用于多數(shù)組件,此事件發(fā)生在用戶鼠標(biāo)左鍵單擊組件時(shí)OnDblClick適用于多數(shù)組件,此事件發(fā)生在用戶鼠標(biāo)雙擊組件時(shí)OnEnter適用于所有組件,此事件發(fā)生在當(dāng)此組件為激活狀態(tài)時(shí)OnExit適用于所有組件,此事件發(fā)生在當(dāng)此組件失去焦點(diǎn)時(shí)2.4數(shù)據(jù)庫控件的用法Delphi 使用可視化的控件創(chuàng)建數(shù)據(jù)庫應(yīng)用程序,數(shù)據(jù)庫控件都具備一定的屬性,程序設(shè)計(jì)人員在設(shè)計(jì)過程中設(shè)置控件的多種屬性,也可以在程序運(yùn)行過程中通過程序來設(shè)置部件的各種屬性??丶氖褂肁DO 控件又稱 A

17、DO 組件,最常用的ADO 對(duì)象是連接( Connection)、命令( Command)和數(shù)據(jù)集( RecordSet)對(duì)象,這些對(duì)象被相應(yīng)的封裝成為對(duì)應(yīng)的控件放置在 ADO 控件面板上, ADO 控件板如圖 2-1 所示。圖 2-1 ADO 數(shù)據(jù)集訪問控件板在 Delphi 的 ADO 面板中一共有 7 個(gè)主要組件,它們分別是:(1)ADOConnection 組件: ADOConnection 組件封裝了 ADO 連接對(duì)象,利用 ADOConnection 組件來連接 ADO 數(shù)據(jù)存儲(chǔ)。通過設(shè)置組件的屬性,使得單個(gè)ADOConnection 組件所提供的連接可以被多個(gè)ADO命令或數(shù)據(jù)集所

18、共享。-精選文庫ADOConnection 組件允許客戶端控制數(shù)據(jù)存儲(chǔ)的屬性和條件。 使用 ADOConnection 組件可以控制記錄枷鎖、記錄指針類型、隔離級(jí)別和連接超時(shí)等。該組件在它所連接的數(shù)據(jù)庫中提供事務(wù)管理和恢復(fù)原數(shù)據(jù)等操作。( 2) ADOdataSet 組件: ADOdataSet 組件時(shí)最常用的ADO 數(shù)據(jù)集組件。ADOdataSet 組件具有從一個(gè)或多個(gè) ADO 數(shù)據(jù)源中找到結(jié)果集的功能。結(jié)果集可以直接從數(shù)據(jù)表中讀取,也可以通過 SQL 語句從一個(gè)或多個(gè)數(shù)據(jù)表得到。在使用之 前 , 必 須 連 接 ADOdataSet 組 件 至 某 個(gè) 數(shù) 據(jù) 源 。 可 以 通 過 該

19、組 件 的 ConnectionString 屬 性寫 入相 關(guān)連 接 字符 ,也 可以在連 接屬 性中 指定 通過 ADOConnection 組件已經(jīng)建立的連接。使用 ADOdataSet 組件的 CommandText 屬性找到所需的數(shù)據(jù)集,可以指定一個(gè)數(shù)據(jù)表名,也可以寫入 SQL 語句(只限于 Select 查詢語句)。ADOdataSet 組件沒有處理 SQL 語句的數(shù)據(jù)操縱語言的功能,因?yàn)樗荒芊祷亟Y(jié)果集。(3)ADOtable 組件:ADOtable 組件主要是用于操作和提取單個(gè)基表的數(shù)據(jù), ADOtable 組件也可以直接連接到數(shù)據(jù)庫, 還可以通過 ADOConnection

20、連接到數(shù)據(jù)庫。(4)ADOquery 組件: ADOquery 組件用來在底層的 ADO 數(shù)據(jù)源中應(yīng)用 SQL 語言。使用該控件可以訪問多個(gè)表。使用 Select 語句從 ADO 數(shù)據(jù)源的數(shù)據(jù)表中讀取數(shù)據(jù)。在 ADO 數(shù)據(jù)源的數(shù)據(jù)表或其他源數(shù)據(jù)對(duì)象中執(zhí)行 Insert、Delete、Update、 Alter Table 以及 Create Table等操作。(5)ADOStoredProc 組件:當(dāng)客戶機(jī)端應(yīng)用程序要使用數(shù)據(jù)庫中的存儲(chǔ)過程時(shí),要使用 ADOStoredProc 組件。一個(gè)存儲(chǔ)過程是一組 SQL 命令語句的集合,作為源數(shù)據(jù)的一部分存儲(chǔ)在數(shù)據(jù)庫中,根據(jù)服務(wù)器上與數(shù)據(jù)庫相關(guān)的任務(wù)指

21、示執(zhí)行,并把執(zhí)行結(jié)果返回給客戶端。(6)ADOCommand 組件: ADOCommand 組件描述了 ADO 命令對(duì)象。利用 ADOCommand 空間可以通過 ADO 提供者來實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。 ADOCommand 組件執(zhí)行的是 CommandText屬性中的指定的命令,命令可能在執(zhí)行過程中需要某些參數(shù),如果命令包括有關(guān)參數(shù),則必須在 Parameters屬性中指定,命令通過調(diào)用 Execute 方法執(zhí)行有關(guān)命令。 ADOCommand 組件使用組件對(duì)象去連接一個(gè)數(shù)據(jù)源(通過它的連接屬性)或者直接連接到數(shù)據(jù)源,前提是連接信息在 ConnectionString 屬性中被指定。 ADOComm

22、and 組件常常被用于執(zhí)行 SQL 命令或者執(zhí)行一個(gè)不返回結(jié)果集的存儲(chǔ)過程。通過執(zhí)行 ADOCommand 組件的 Execute 方法可能返回一個(gè)結(jié)果集。為了使用這些結(jié)果集,需要一個(gè)獨(dú)立的 ADO 數(shù)據(jù)集組件。(7)RDSConnection 組件: RDSConnection 組件是連接一個(gè)進(jìn)程或一臺(tái)計(jì)算機(jī)傳遞到另一個(gè)進(jìn)程或計(jì)算機(jī)的數(shù)據(jù)集合。-精選文庫控件與 TDBGrid 控件TdataSource控件與 TDBGrid 控件在數(shù)據(jù)庫開發(fā)中經(jīng)常是成對(duì)出現(xiàn)的。 作為數(shù)據(jù)感應(yīng)控件, TDBGrid 控件的主要作用是通過 TdataSource 控件連接數(shù)據(jù)集(如TADOQuery ),以各種

23、方式顯示數(shù)據(jù)庫中的數(shù)據(jù),并提供客戶端瀏覽的界面。TdataSource 控件時(shí)不可視的,是聯(lián)系數(shù)據(jù)感應(yīng)控件(TDBGrid )和數(shù)據(jù)集( TADOQuery)的橋梁,它位于數(shù)據(jù)訪問控件板上,如圖2-2 所示。TdataSource控件對(duì)象圖 2-2 數(shù)據(jù)訪問控件板及 TdataSource 控件通過查看控件 TdataSource的 State 屬性值可以確定與一個(gè)數(shù)據(jù)源控件相連的數(shù)據(jù)集控件的當(dāng)前狀態(tài)。數(shù)據(jù)集控件的當(dāng)前狀態(tài)表明了對(duì)數(shù)據(jù)集的相應(yīng)操作。利用數(shù)據(jù)源控件可以更好的協(xié)調(diào)各個(gè)數(shù)據(jù)感應(yīng)控件,保持和數(shù)據(jù)集的一致,一般來說對(duì) TdataSource編寫代碼很少。使用時(shí)設(shè)置好DataSet屬性之后

24、,即可以將 TdataSource控件指定為數(shù)據(jù)感應(yīng)控件的 DataSource屬性值。TDBGrid 控件是顯示和編輯數(shù)據(jù)庫中表的重要控件,它是在數(shù)據(jù)庫應(yīng)用程序中使用最多最為靈活的一個(gè)控件,利用該控件可以設(shè)計(jì)一個(gè)靈活的用戶界面。控件與 TDataSetProvider控件對(duì)數(shù)據(jù)庫的操作封裝成類后,使用 TClientDataSet 控件和 TDataSetProvider控件來顯示數(shù)據(jù)的查詢結(jié)果就很方便。通過 TClientDataSet 控件可以建立客戶端的應(yīng)用程序,且數(shù)據(jù)執(zhí)行效率較高,但 TClientDataSet 控件不能和數(shù)據(jù)庫自動(dòng)連接,程序中必須指定TClientDataSet

25、控件如何獲取數(shù)據(jù)。一般情況下, TClientDataSet 控件獲取數(shù)據(jù)的方式主要有三種:從本地文件中獲取、從本地的另外一個(gè)數(shù)據(jù)集對(duì)象中獲取以及通過IAppServer 接口來獲取。 在實(shí)際應(yīng)用 TClientDataSet 控件時(shí)一般使用控件的屬性較多, 而該控件的事件很少應(yīng)用。TDataSetProvider 控件基于數(shù)據(jù)集為應(yīng)用程序中的其他控件提供數(shù)據(jù),并將對(duì)數(shù)據(jù)的更新傳回?cái)?shù)據(jù)集或者數(shù)據(jù)集相關(guān)的數(shù)據(jù)庫服務(wù)器。TDataSetProvider控件通常用于為 TClientDataSet 控件提供數(shù)據(jù), 可以是應(yīng)用程序的一部分, 也可以被放置在多層數(shù)據(jù)庫應(yīng)用服務(wù)器上,以充做遠(yuǎn)程數(shù)據(jù)庫服務(wù)器

26、和客戶端數(shù)據(jù)集的中介。-精選文庫2.5本章小結(jié)本章是對(duì)系統(tǒng)開發(fā)技術(shù)分析與研究,在開發(fā)模式上采用C/S 架構(gòu),并對(duì)開發(fā)工具 Delphi 進(jìn)行了深入的研究。本系統(tǒng)使用 SQL Server2000作為后臺(tái)的數(shù)據(jù)庫來管理系統(tǒng), 在前端使用 ADO 組件來訪問實(shí)際的數(shù)據(jù)庫內(nèi)容。 所以對(duì)基本的 SQL 語句需要熟悉, 比如添加、查詢、修改和刪除記錄語句等等。而對(duì) Delphi 中的數(shù)據(jù)庫組件的使用,也需要了解掌握。這些都是本系統(tǒng)中需要使用的相關(guān)知識(shí),熟練運(yùn)用這些知識(shí),有利于系統(tǒng)的設(shè)計(jì)與開發(fā)。-精選文庫第 3章系統(tǒng)概要設(shè)計(jì)及分析3.1系統(tǒng)功能模塊設(shè)計(jì)基礎(chǔ)信息管理系統(tǒng)的主要組成模塊包括:登錄模塊、基礎(chǔ)信息

27、設(shè)置模塊、采購信息設(shè)置模塊和系統(tǒng)輔助管理模塊四大模塊。最終實(shí)現(xiàn)功能模塊如圖3-1 所示。超市管理信息系統(tǒng)基采系礎(chǔ)購統(tǒng)數(shù)信輔據(jù)息助設(shè)管管置理理商廠職進(jìn)廠系用品商員貨單統(tǒng)戶基基基價(jià)錄數(shù)賬本本本格入據(jù)號(hào)信信信控備管息息息制份理圖 3-1系統(tǒng)功能模塊圖1.基礎(chǔ)信息管理基礎(chǔ)信息管理主要是對(duì)系統(tǒng)中要用到一些基礎(chǔ)信息進(jìn)行維護(hù)和管理,包括商品基本信息、廠商基本信息和職員基本信息?;拘畔⒐芾硪獙?shí)現(xiàn)以下的功能:添加、刪除、查詢和修改商品基礎(chǔ)信息,包括商品編號(hào)、商品名稱、供應(yīng)商編號(hào)和商品重量等。添加、刪除、查詢和修改廠商基礎(chǔ)信息,包括商品的供應(yīng)商信息,包括廠商編號(hào)、廠商名稱,廠商地址、聯(lián)系方式等。添加、刪除、查詢

28、和修改職員基礎(chǔ)信息,包括職員的編號(hào)、名稱、所在部門、-精選文庫聯(lián)系方式等。2.采購信息管理采購信息管理主要是對(duì)采購業(yè)務(wù)進(jìn)行管理,包括采購業(yè)務(wù)中所涉及到的價(jià)格控制、詢價(jià)以及廠單的錄入。采購信息管理要實(shí)現(xiàn)的功能有:進(jìn)貨價(jià)格控制,通過錄入進(jìn)貨價(jià)格和價(jià)格參數(shù)指定商品的銷售價(jià)格;廠單信息錄入,對(duì)采購的商品信息進(jìn)行錄入操作。3.系統(tǒng)輔助管理系統(tǒng)輔助管理主要有系統(tǒng)數(shù)據(jù)備份和用戶賬號(hào)管理兩大主要功能。3.2系統(tǒng)流程分析第一、用戶啟動(dòng)系統(tǒng),系統(tǒng)首先將進(jìn)行初始化。第二、系統(tǒng)將激活登陸口令界面,供用戶進(jìn)行登錄驗(yàn)證。第三、驗(yàn)證成功后,用戶便進(jìn)入系統(tǒng),根據(jù)管理的需要,超市管理信息系統(tǒng)有系統(tǒng)管理員和普通用戶兩種登錄賬號(hào),

29、不同的登錄賬號(hào)具有不同的操作權(quán)限,系統(tǒng)將通過事件驅(qū)動(dòng)機(jī)制來激活相應(yīng)的功能模塊,并且執(zhí)行其相應(yīng)的功能。系統(tǒng)流程圖如圖 3-2 所示啟動(dòng)程序重新登錄驗(yàn)證失敗用戶登錄1.查詢基礎(chǔ)數(shù)據(jù),包括商品信息、廠商信息和職員信息普通用戶2.查詢商品價(jià)格信息用戶權(quán)限3.查詢單據(jù)信息4.進(jìn)行銷售排行統(tǒng)計(jì)5.修改自己的賬號(hào)1.可以進(jìn)行基礎(chǔ)數(shù)據(jù)、采購信息、銷售信息的添加、 修改、系統(tǒng)管理員刪除和查詢操作2.管理所有用戶賬號(hào)3.系統(tǒng)數(shù)據(jù)備份圖 3-2系統(tǒng)流程圖-精選文庫3.3本章小結(jié)本章是對(duì)超市信息管理系統(tǒng)的概要設(shè)計(jì),畫出了系統(tǒng)功能模塊圖,對(duì)系統(tǒng)的處理流程做了一些分析。對(duì)于系統(tǒng)的功能模塊設(shè)計(jì),依照需求分析,將系統(tǒng)分為四大

30、主要模塊:分別是登錄模塊、基礎(chǔ)信息設(shè)置模塊、采購信息設(shè)置模塊和系統(tǒng)輔助管理模塊四大模塊。并且對(duì)每個(gè)模塊的內(nèi)部做了具體的設(shè)計(jì),每個(gè)模塊包含那些子模塊,都進(jìn)行了分析。-精選文庫第 4章系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)包括超市管理信息系統(tǒng)數(shù)據(jù)庫的創(chuàng)建、數(shù)據(jù)庫邏輯結(jié)構(gòu)的設(shè)計(jì)。創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫可以在企業(yè)管理器中直接創(chuàng)建,也可以在查詢分析器中通過輸入代碼來創(chuàng)建,在查詢分析器中輸入以下代碼:CREATE DATABASE TradeMGON(NAME=TradeMG,/設(shè)置數(shù)據(jù)庫名稱/以下設(shè)置數(shù)據(jù)數(shù)據(jù)文件的路徑、大小FILENAME= C:ProgramFilesMicrosoft SQL S

31、erverMSSQLdataTradeMG.MDF ,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=10MB)/以下設(shè)置數(shù)據(jù)庫日志文件的路徑、大小LOG ON(NAME=TradeMG_LOG,FILENAME= C:ProgramFilesMicrosoft SQL ServerMSSQLdataTradeMG_LOG.LDF ,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5MB)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)設(shè)計(jì)的要求對(duì)數(shù)據(jù)庫的邏輯結(jié)構(gòu)進(jìn)行設(shè)計(jì)。設(shè)計(jì)時(shí)既要考慮到前面的系統(tǒng)設(shè)計(jì)階段提出的要求,又要考慮到數(shù)據(jù)庫設(shè)計(jì)的一些規(guī)則,如關(guān)鍵字的設(shè)-精選文庫置和

32、外鍵的設(shè)置等。本系統(tǒng)包含9 張表:商品信息表(COMINFO )、商品銷售價(jià)格控制表( SALEPRICE )、商品進(jìn)貨價(jià)格控制表 (PURPRICE)、廠商信息表(CORPINFO)、客單信息明細(xì)表( CUSTLISTINFO )、廠單信息主表( CORPLIST)、廠單信息明細(xì)表( CORPLISTINFO )、職員信息表(OPERINFO)和用戶賬號(hào)表 (USERTABLE)。(1)商品信息表 COMINFO ,記錄商品的主要信息,結(jié)構(gòu)如表4-1 所示。表 4-1 表 COMINFO的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1COMIDVarchar(10)商品編號(hào),關(guān)鍵字2COMNAMEVarch

33、ar(20)商品名稱3UNITVarchar(6)商品單位4WEIGHTFloat商品重量5CORPIDVarchar(3)廠商編號(hào)6REMARKVarchar(255)備注(2)商品銷售價(jià)格控制表 SALEPRICE ,對(duì)商品的銷售價(jià)格進(jìn)行設(shè)置。結(jié)構(gòu)如表 4-2 所示。表 4-2 表 SALEPRICE的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1COMIDVarchar( 10)商品編號(hào),關(guān)鍵字2OUTPRICEMAXFloat最大銷售價(jià)格3OUTPRICEMINFloat最小銷售價(jià)格(3)商品進(jìn)貨價(jià)格控制表 PURPRICE,是對(duì)商品的進(jìn)貨價(jià)格及其允許的利潤率進(jìn)行設(shè)置,結(jié)構(gòu)如表 4-3 所示。表 4-

34、3 表 PURPRICE的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1COMIDVarchar( 10)商品編號(hào),關(guān)鍵字2INPRICEFloat進(jìn)貨價(jià)格3RATEMAXFloat最大利潤率4RATEMINFloat最小利潤率( 4)廠商信息表 CORPINFO,記錄商品所對(duì)應(yīng)廠商的基本信息,結(jié)構(gòu)如表 4-4 所示。表 4-4 表 CORPINFO的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1CORPIDVarchar(3)廠商編號(hào),關(guān)鍵字2CORPNAMEVarchar(30)廠商名稱3LINKMANVarchar(10)聯(lián)系人4LINKPHONEVarchar(12)聯(lián)系電話5ADDRESSVarchar(50)地址

35、6FAXVarchar(12)傳真-精選文庫(5)銷售信息表 CUSTLISTINFO ,主要記錄商品的銷售情況,結(jié)構(gòu)如表 4-5 所示。表 4-5 表 CUSTLISTINFO的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1RECORDNOInt記錄號(hào),關(guān)鍵字2COMIDVarchar( 10)商品編號(hào)3COMNUMInt商品數(shù)量4MONEYFloat金額5OPERATORVarchar( 10)經(jīng)手人6DATEDatetime銷售日期(6)廠單信息主表 CORPLIST ,廠單是指進(jìn)貨時(shí)與商品附在一起的單據(jù),其主要內(nèi)容有兩項(xiàng):廠單主信息和廠單明細(xì)信息。廠單主信息是指廠單信息主表所記錄的信息,廠單信息主表的

36、結(jié)構(gòu)如表 4-6 所示。表 4-6 表 CORPLIST的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1CORPLISTIDVarchar(12)廠單編號(hào),關(guān)鍵字2CORPLISTDATEDatetime進(jìn)貨日期3OPERATORVarchar(10)經(jīng)手人4CORPIDVarchar(3)廠商編號(hào)5GIVEDATEDatetime支付日期( 7)廠單信息明細(xì)表 CORPLISTINFO ,主要紀(jì)錄廠單明細(xì)信息,結(jié)構(gòu)如表 4-7 所示。表 4-7 表 CORPLISTINFO的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1RECORDNOInt記錄號(hào),關(guān)鍵字2CORPLISTIDVarchar( 12)廠單編號(hào)3COMIDV

37、archar( 10)商品編號(hào)4COMNUMInt商品數(shù)量5MONEYFloat金額6COMTIMESVarchar( 5)商品進(jìn)貨批次號(hào)(8)職員信息表 OPERINFO,主要記錄公司職員的基本信息,結(jié)構(gòu)如表 4-8 所示。表 4-8 表 OPERINFO的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1OPERIDVarchar( 5)職員編號(hào),關(guān)鍵字2OPERNAMEVarchar( 10)職員姓名3DEPARTMENTVarchar( 20)所在部門4LINKPHONEVarchar( 12)聯(lián)系電話(9)用戶賬號(hào)表 USERTABLE ,主要是對(duì)不同級(jí)別賬號(hào)進(jìn)行設(shè)置,結(jié)構(gòu)如表 4-9 所示。-精選文庫

38、表 4-9 表 USERTABLE的結(jié)構(gòu)編號(hào)字段名稱數(shù)據(jù)類型說明1USERNAMEVarchar( 20)用戶名2USERPWDVarchar( 20)用戶密碼3USERLEVELVarchar( 15)用戶級(jí)別4.2系統(tǒng)工程框架的創(chuàng)建系統(tǒng)框架包括創(chuàng)建工程項(xiàng)目、啟動(dòng)畫面、登錄窗體、數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)、系統(tǒng)主界面和工程項(xiàng)目的屬性設(shè)置等。創(chuàng)建工程項(xiàng)目及數(shù)據(jù)庫連接類工程項(xiàng)目創(chuàng)建的工程名為TradeMG.dpr。數(shù)據(jù)庫連接類可以通過拖放控件直接實(shí)現(xiàn),選擇FileNewData Module9 ,將該 Data Module 取名為 Trade_DateMod,其界面布局如圖4-1 所示。圖 4-1 Tra

39、de_DataMod 的界面布局圖Trade_DataMod 中使用的控件及其屬性設(shè)置如表4-10 所示。表 4-10數(shù)據(jù)庫連接類使用的控件及其屬性設(shè)置對(duì)象屬性屬性值A(chǔ)docon(ADOConnection 控件 )ConnectionString( 連接到服務(wù)器上的TradeMG 數(shù)據(jù)庫上 )Report_ado1(ADOQuery 控件 )ConnectionAdoconDsp1(DataSetProvider 控件 )DataSetAdoq1Adoq1(ADOQuery控件 )ConnectionAdoconAdoq2(ADOQuery控件 )Connectionadocon數(shù)據(jù)表操作類

40、的設(shè)計(jì)本系統(tǒng)中,對(duì)數(shù)據(jù)庫的連接和操作都被封裝成類,類名都以大寫的 “ T”開頭,-精選文庫后面加上對(duì)應(yīng)數(shù)據(jù)表名,類的單元文件名為數(shù)據(jù)表名后加上后綴名“ _unit”,例如數(shù)據(jù)表名為 cominfo ,對(duì)應(yīng)的類名為 Tcominfo,對(duì)應(yīng)的單元文件為 cominfo_unit 。每張數(shù)據(jù)表的操作都可以封裝到對(duì)應(yīng)類的方法和過程中,在使用類時(shí)要先實(shí)例化,使用完后要將實(shí)例釋放。創(chuàng)建啟動(dòng)畫面新建窗體 Firstfrm 作為啟動(dòng)畫面,啟動(dòng)畫面中控件的設(shè)置如表4-11 所示。表 4-11 窗體 Firstfrm的控件使用及其設(shè)置對(duì)象屬性屬性取值FormNameFirstfrmBorderStylebsNon

41、eLabel1Caption超市信息管理系統(tǒng)Label2Caption正在啟動(dòng)系統(tǒng),請(qǐng)稍候 Label3CaptionImage1Picture(選取準(zhǔn)備好的圖片)AlignalClient在窗體的 OnCreate事件中輸入以下代碼, 以在啟動(dòng)畫面上顯示啟動(dòng)時(shí)的日期:Label3.Caption:='今天是 '+datetostr(now);打開“ Project”菜單,選擇“ View Source”項(xiàng),在“ Application.Initialize; ”后添加以下內(nèi)容:Firstfrm:=tFirstfrm.Create(application); / 動(dòng)態(tài)創(chuàng)建啟動(dòng)畫

42、面Firstfrm.Show; / 顯示啟動(dòng)畫面Firstfrm.Update ; /更新啟動(dòng)畫面顯示sleep(2000); /調(diào)用 windows 函數(shù)所以要在 uses里加 windows接著在“ Application.Run; ”語句之前添加以下內(nèi)容。Firstfrm.Hide; / 隱藏啟動(dòng)畫面Firstfrm.Free; /釋放啟動(dòng)畫面創(chuàng)建登錄窗體新建窗體 Loginfrm 作為登錄窗體的界面,用戶通過在登錄窗體中輸入正確的用戶名和密碼后即可進(jìn)入系統(tǒng)。登錄窗體的布局效果如圖4-2 所示。-精選文庫圖 4-2登錄窗體布局效果圖登錄窗體調(diào)用了 Tusertable類,因此要在窗體代碼

43、的 uses語句中添加 Tusertable 類的單元文件 usertable_unit。同時(shí)要在窗體代碼 private 下聲明該窗體所調(diào)用類的實(shí)例名:PrivateUsertable:Tusertable;登錄窗體中主要實(shí)現(xiàn)對(duì)登錄用戶賬號(hào)的驗(yàn)證,該操作可以通過“確定”按鈕的 OnClick 事件來實(shí)現(xiàn),代碼如下:procedure TLoginfrm.Button1Click(Sender: TObject);varb1:bool;beginuser1:=Tusertable.create ;try / 判斷用戶名是否存在b1:=user1.UserRec(edit1.Text);exce

44、ptLoginfrm.Hide;databaselink.Show;exit;end;ifb1=falsethenbeginapplication.MessageBox('對(duì)不起,沒有這個(gè)用戶名!','提示: ',mb_ok);exit;endelsebegin-精選文庫if user1.GetUserPwd(edit1.Text)=edit2.Text then beginuserlevel:= user1.GetUserLevel(edit1.Text);if user1.GetUserLevel(edit1.Text)='系統(tǒng)管理員 ' t

45、hen beginLoginfrm.Hide ;mainfrm.Show;endelsebeginLoginfrm.Hide ;mainfrm.Show;end;endelsebeginapplication.MessageBox('對(duì)不起,你的密碼不對(duì)!','提示: ',mb_ok);edit2.SetFocus ;end;end;end;登錄系統(tǒng)時(shí)既要檢查用戶名是否存在,還要驗(yàn)證密碼是否正確,并獲取用戶的權(quán)限供后面窗體調(diào)用。連接數(shù)據(jù)庫并創(chuàng)建用戶表新建窗體 databaselink作為連接數(shù)據(jù)庫并初始化數(shù)據(jù)表的用戶操作界面。初次運(yùn)行系統(tǒng)時(shí)可以通過該用戶界面連接

46、到相應(yīng)的數(shù)據(jù)庫,并對(duì)用戶數(shù)據(jù)表進(jìn)行創(chuàng)建和初始化。窗體的布局效果如圖 4-3 所示。-精選文庫圖 4-3數(shù)據(jù)庫連接窗體數(shù)據(jù)庫連接窗體主要是連接數(shù)據(jù)庫并在指定數(shù)據(jù)庫里創(chuàng)建表。這里設(shè)計(jì)了用戶數(shù)據(jù)表生成文件 TradeTable.txt(創(chuàng)建數(shù)據(jù)表的腳本文件) ,連接數(shù)據(jù)庫時(shí)通過執(zhí)行該文件的代碼即可創(chuàng)建并初始化用戶數(shù)據(jù)表。創(chuàng)建用戶數(shù)據(jù)表的腳本語句存放在文本文件中,所以執(zhí)行這些腳本語句時(shí)需要讀取文本文件的內(nèi)容,函數(shù)代碼如下:function GetTextFromFile(AFile : String; var ReturnString : string) : boolean; varFileStrea

47、m : TFileStream;beginif not fileexists(AFile) then exit;FileStream := TFileStream.Create(AFile,fmOpenRead); tryif FileStream.Size > 0 thenbeginSetLength(ReturnString,FileStream.Size);FileStream.Read(ReturnString1,FileStream.Size);result := true;end;finallyFileStream.Free;end;end;讀出腳本語句后,程序需要連接數(shù)據(jù)庫

48、,并在指定的數(shù)據(jù)庫中執(zhí)行腳本以創(chuàng)建表,從而完成數(shù)據(jù)庫的初始化。該過程在連接數(shù)據(jù)庫窗體的“連接”按鈕中實(shí)現(xiàn),實(shí)現(xiàn)代碼如下:-精選文庫procedure Tdatabaselink.Button1Click(Sender: TObject); varstrCreateDB:string;beginuser1:=Tusertable.create ;trysetupfile:=tinifile.create(extractfiledir(application.ExeName)+'setup.ini'); setupfile.Writestring('system','USERNAME',edit1.Text); setupfile.Writestring('system','USERPWD'

溫馨提示

  • 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)論