版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、小型超市管理系統(tǒng)小型超市管理系統(tǒng)摘要:小型超市管理系統(tǒng)在現(xiàn)代社會中的應(yīng)用十分廣泛,它是用delphi開發(fā)的基于windows的小型數(shù)據(jù)庫管理軟件。后臺數(shù)據(jù)庫的設(shè)計(jì)采用SQL server 2000,這些流行軟件的應(yīng)用也使系統(tǒng)更容易維護(hù)。該系統(tǒng)使用結(jié)構(gòu)化方法,按照系統(tǒng)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施的步驟,采用結(jié)構(gòu)化的編程方法而完成的。在設(shè)計(jì)中,對系統(tǒng)總體方案的設(shè)計(jì),采用了“自上而下”的方法,而對于信息系統(tǒng)具體業(yè)務(wù)采用了“自下而上”的方法。尤其是數(shù)據(jù)窗口這一方便而簡潔操縱數(shù)據(jù)庫的智能化對象,從而建立一套完善科學(xué)的管理信息系統(tǒng),對超市進(jìn)行進(jìn)貨、銷售發(fā)貨、庫存等實(shí)現(xiàn)全面、動態(tài)、及時(shí)的管理。因此,該
2、設(shè)計(jì)的方案基本上滿足了系統(tǒng)的業(yè)務(wù)需求,具有一定的可用性。關(guān)鍵詞: 數(shù)據(jù)表;SQL server 2000;控件綁定ODBC數(shù)據(jù)源1、 需求分析1.1應(yīng)用背景最初的超市資料管理,都是靠人力來完成的。但近幾年我國超市經(jīng)營規(guī)模日趨擴(kuò)大,銷售額和門店數(shù)量大幅度增加,而且許多超市正在突破以食品為主的傳統(tǒng)格局,向品種多樣化發(fā)展。小型超市在業(yè)務(wù)上需要處理大量的庫存信息,還要時(shí)刻更新產(chǎn)品的銷售信息,不斷添加商品信息,并對商品各種信息進(jìn)行統(tǒng)計(jì)分析。因此,在超市管理中引進(jìn)現(xiàn)代化的辦公軟件,實(shí)現(xiàn)超市龐大商品的控制和傳輸,從而方便銷售行業(yè)的管理和決策,為超市和超市管理人員解除后顧之憂。1.2設(shè)計(jì)目標(biāo)開發(fā)這個(gè)系統(tǒng)的目的
3、就是幫助超市管理部門提高工作效率。通過本管理系統(tǒng)軟件,能幫助超市工作人員利用計(jì)算機(jī),極為方便的對超市的有關(guān)數(shù)據(jù)進(jìn)行管理、輸入、輸出、查找等有關(guān)操作,使雜亂的超市數(shù)據(jù)能夠具體化、直觀化、合理化等。2、總體方案設(shè)計(jì)2.1系統(tǒng)的目標(biāo)小型超市管理系統(tǒng)能減少很多不必要的資源,不用象以前那樣用冗余的紙張式管理。大大節(jié)省了管理人員的工作量,并且計(jì)算機(jī)的存儲與系統(tǒng)快速查詢功能大大提高了,提高管理人員的效率。方便快捷的操作界面,提高工作效率。2.2系統(tǒng)處理流程1.啟動系統(tǒng),激活登陸口令界面;2.通過驗(yàn)證后,對系統(tǒng)進(jìn)行初始化;3. 進(jìn)入系統(tǒng),通過事件驅(qū)動機(jī)制激活相應(yīng)的功能模塊,并執(zhí)行相應(yīng)的功能;4.通過關(guān)閉系統(tǒng)事
4、件,激活關(guān)閉系統(tǒng)模塊,退出系統(tǒng)。系統(tǒng)處理流程如圖2.2所示:啟動系統(tǒng)登陸口令界面 否密碼 是通過事件驅(qū)動機(jī)制激活相應(yīng)的 功 能 模 塊,并 執(zhí) 行 相 應(yīng) 的 功 能退出系統(tǒng)圖2.2系統(tǒng)處理流程圖2.3系統(tǒng)功能模塊設(shè)計(jì)通過對上面有關(guān)小型超市管理系統(tǒng)的功能需求分析以后,可知小型超市管理系統(tǒng)的功能有:系統(tǒng)管理,商品管理,銷售管理。系統(tǒng)功能菜單按以下方法進(jìn)行設(shè)計(jì)。小型超市管理系統(tǒng)系統(tǒng)管理 用戶管理 備份管理-退出系統(tǒng)商品管理 商品管理 商品報(bào)表銷售管理銷售商品銷售報(bào)表銷售歷史-今日盤點(diǎn)系統(tǒng)功能模塊設(shè)計(jì)如圖2.3所示:小型超市管理系統(tǒng)銷售管理商品管理系統(tǒng)管理今日盤點(diǎn)銷售歷史銷售報(bào)表銷售商品商品報(bào)表商品
5、管理退出系統(tǒng)備份管理用戶管理圖2.3 系統(tǒng)功能模塊設(shè)計(jì)層次圖2.4系統(tǒng)設(shè)計(jì)分析 用戶管理:添加用戶賬號,密碼,類型等信息。 備份管理:數(shù)據(jù)庫的備份,數(shù)據(jù)庫還原。商品管理:商品的信息錄入,包括商品的編號、名稱、單價(jià)、單位等。銷售管理:商品的銷售信息,銷售金額等。銷售歷史:商品的銷售時(shí)間,銷售數(shù)量等。今日盤點(diǎn):商品的當(dāng)日銷售總額。3、數(shù)據(jù)庫設(shè)計(jì)作為Windows數(shù)據(jù)庫家族中出類拔萃的成員,SQL Server2000這種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)能夠滿足各種類型的企業(yè)客戶和獨(dú)立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需要。SQL的主要功能之一是實(shí)現(xiàn)數(shù)據(jù)庫查詢。你使用查詢來取得滿足特定條件的信息。在邏輯查詢中,你可以
6、包括特殊的運(yùn)算符如AND、OR和NOT,你使用這些運(yùn)算符來選擇特定的記錄。例如,你可以用AND來限制查詢結(jié)果。SQL的另一主要功能是數(shù)據(jù)更新,它通過INSERT、DELETE、UPDATE等語句實(shí)現(xiàn)。另外,利用SQL Server我們可以很輕松地進(jìn)行建表、維護(hù)等數(shù)據(jù)庫操作。23.1 系統(tǒng)數(shù)據(jù)流程圖描述系統(tǒng)數(shù)據(jù)流程圖分別由圖3.1所示。商品基本信息超市管理人員數(shù)據(jù)庫商品報(bào)表商品銷售信息銷售報(bào)表商品銷售歷史信息圖3.1 瀏覽與錄入管理3.2數(shù)據(jù)字典:是關(guān)于數(shù)據(jù)的信息的集合,對數(shù)據(jù)流程圖中的各個(gè)元素做完整的定義與說明。下面是超市管理系統(tǒng)幾個(gè)數(shù)據(jù)元素的字典卡片與具體數(shù)據(jù)卡片的含義:名稱:商品信息表描述
7、:商品的基本信息定義:編號+名稱+單價(jià)+單位+貨架號+庫存+銷售名稱: 商品銷售報(bào)表描述:商品銷售情況定義:商品編號+商品名稱+價(jià)格+數(shù)量+銷售時(shí)間3.3系統(tǒng)設(shè)計(jì)具體實(shí)現(xiàn)目的:設(shè)計(jì)系統(tǒng)結(jié)構(gòu),根據(jù)需求分析給出的功能得出系統(tǒng)體系結(jié)構(gòu)。如劃分模塊。目標(biāo):通過本系統(tǒng)軟件,能幫助超市管理人員利用計(jì)算機(jī),快速方便的對商品信息管理進(jìn)行維護(hù)、輸入、輸出、查找的所需操作。運(yùn)行環(huán)境操作系統(tǒng):Windows2000/XP或更高的版本。支持環(huán)境:Borland Delphi7。3.4模塊具體分析商品信息數(shù)據(jù)錄入模塊:主要用于商品基本信息的錄入與初始化。實(shí)體E-R圖如下:商品信息錄入商品名稱商品單價(jià)單位 商品庫存商品銷
8、量3.4商品信息數(shù)據(jù)E-R圖3.5出錯(cuò)處理設(shè)計(jì)本系統(tǒng)采用了典型的人-機(jī)對話模式,若操作失敗則彈出對話框(如:出錯(cuò)信息等)。出錯(cuò)處理對策:用戶可以根據(jù)彈出的對話框的提示信息進(jìn)行相應(yīng)的處理。安全保密設(shè)計(jì):本系統(tǒng)設(shè)計(jì)了密碼驗(yàn)證登陸窗口,具有權(quán)限控制。3.6 程序邏輯模塊功能實(shí)現(xiàn)的算法流程圖(數(shù)據(jù)錄入)。輸入信息條件數(shù)據(jù) 庫顯示提示信息退出不符合條 件圖3.6數(shù)據(jù)錄入模塊流程圖4.1功能模塊簡介4.1.1 系統(tǒng)功能維護(hù)模塊用戶管理:設(shè)定本系統(tǒng)的系統(tǒng)操作員,可以一個(gè)也可以多個(gè)管理員??诹罟芾恚涸诓煌顺鱿到y(tǒng)的情況下,憑借原來的密碼,可以修改管理員密碼。退出系統(tǒng):在使用完系統(tǒng)之后,可以退出系統(tǒng)。4.1.2
9、基本資料管理模塊 商品資料管理:商品資料的添加、刪除、編輯。 資料管理:新增、刪除和編輯。 初期建帳:對采集到的數(shù)據(jù)在后臺進(jìn)行數(shù)據(jù)庫管理。4.1.3 商品流通管理模塊進(jìn)貨管理:當(dāng)超市進(jìn)貨的時(shí)候,分為以下幾個(gè)步驟:商品編號錄入后臺數(shù)據(jù)庫 在價(jià)格定義模塊中使商品編號碼和價(jià)格相對應(yīng),即使商品編號碼一個(gè)碼一個(gè)價(jià)格,保存之后,后臺數(shù)據(jù)庫中庫存自動更新。庫存管理:當(dāng)進(jìn)貨時(shí),庫存自動增加,當(dāng)銷售時(shí),庫存自動減少。庫存報(bào)警:設(shè)定庫存的上限和下限值之后,當(dāng)庫存不符合要求的時(shí)候,系統(tǒng)報(bào)警。盤點(diǎn)管理:系統(tǒng)自動產(chǎn)生盤點(diǎn)信息。4.1.4 銷售實(shí)時(shí)控制模塊由于超市要實(shí)時(shí)交易,所以對交易有一個(gè)界面實(shí)時(shí)控制商品的流出,當(dāng)操作
10、員掃描一個(gè)物品的條形碼之后,輸入數(shù)量,再掃描下一個(gè)物品,輸入數(shù)量,直到客戶需要的物品輸入完之后,點(diǎn)擊一個(gè)按鈕,系統(tǒng)自動產(chǎn)生每個(gè)貨物應(yīng)付款,總應(yīng)收款,實(shí)收款和找零信息,并控制打印機(jī)打印一張熱敏紙收據(jù)。此時(shí),在系統(tǒng)的后臺數(shù)據(jù)庫中自動減少相應(yīng)庫存。4.1.5 報(bào)表生成模塊報(bào)表生成模塊將擔(dān)當(dāng)起智能化的報(bào)表生成的任務(wù)。此模塊將利用SQL server 2000和數(shù)據(jù)庫功能,一步一步地完成所要求的動態(tài)統(tǒng)計(jì)結(jié)果??梢酝瓿缮唐坊拘畔?bào)表、銷售報(bào)表等不同條件下任意組合而成的報(bào)表,能夠以快速、準(zhǔn)確等優(yōu)點(diǎn)取代人工操作,提高了管理工作效率。4.1.6 查詢模塊 可以根據(jù)某個(gè)條件進(jìn)行查詢,如:日期產(chǎn)品等,查詢?nèi)珍N售量
11、產(chǎn)品銷售量等。4.1.7本軟件可以實(shí)現(xiàn)的功能如下:用戶管理,包括用戶的添加、刪除、密碼和權(quán)限的修改;商品管理,商品的添加、刪除、修改、銷量統(tǒng)計(jì)和分類查詢;商品報(bào)表;銷售商品:通過輸入貨物編號和數(shù)量實(shí)現(xiàn)商品銷售,并提供庫存判斷、找零計(jì)算等功能;銷售報(bào)表和銷售歷史; 今日盤點(diǎn),告訴用戶當(dāng)天的銷售額是多少;5、系統(tǒng)運(yùn)行與調(diào)試5.1數(shù)據(jù)復(fù)制數(shù)據(jù)復(fù)制實(shí)際上是為了提高查詢處理的本地性,對同一數(shù)據(jù)復(fù)制多個(gè)副本,根據(jù)需要將副本存放在不同的電腦中 數(shù)據(jù)信息包括商品名、庫存量、銷售量、商品單價(jià)、生產(chǎn)日期、生產(chǎn)廠家等通過事務(wù)提交的方式保證避免由于其它一些電腦故障造成的在數(shù)據(jù)庫更新過程中數(shù)據(jù)的不一致5.2.
12、數(shù)據(jù)庫備份對數(shù)據(jù)庫進(jìn)行備份是一項(xiàng)很重要的工作,本系統(tǒng)采用在啟動數(shù)據(jù)上傳模塊的同時(shí)自動備份數(shù)據(jù)庫的方法,從而既提高了數(shù)據(jù)庫的可靠性和安全性,同時(shí)也減輕了數(shù)據(jù)庫管理員的工作,降低了備份的復(fù)雜性當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)遭到破壞需要恢復(fù)時(shí),可以從自動備份中恢復(fù)本系統(tǒng)利用SQL DMO(DatabaseManagement Object)實(shí)現(xiàn)數(shù)據(jù)庫備份SQLDistributed Management Framework(SQLDMF,即SQL分布式管理框架)是一組集成API 和服務(wù), 用與管理SQLServerSQL_DMO是SQL_DMF中的一個(gè)組件本系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)庫備份程序示例如下:Dim mySvr As
13、 New SQLDMOSQLServerDim myDB As SQLDMODatabaseDimmyBKAs New SQLDMOBackupDim myDv As NewSQLDMOBaekupDeviceSet mySvr=New SQLDMOSQLServermySvrConnect”DAQING”,”8a”,”1111”生成SQLSerwr對象,傳遞服務(wù)器名、用戶名和口令Set myDB=mySwDatabases(”DAQING”)MyDv Type=SQLDMODevice_DiskDump備份設(shè)備的類型myDvName = ”ZxDB_ baekup”myDvPhysicall
14、ocation=”D:中心數(shù)據(jù)庫備份ZxDBbackUp” 備份設(shè)備的邏輯位置On ErrorResume NextmySvrBackupDevicesAdd myDvOn Error GoTo 0myBKDatabase=”DAQING”myBKDevices = “ZxDB_backup”myBKInitialize = TruemyBKSQLBackup mySvrmySvr.BackupDcwicesRemove ”DB_backup”mySwDisConnect5.3 系統(tǒng)測試5.3.1 測試的意義在開發(fā)軟件系統(tǒng)的過程中,面對錯(cuò)綜復(fù)雜的問題,人的主觀認(rèn)識不可能完全符合客觀現(xiàn)象,與工程
15、密切相關(guān)的各類人員之間的通訊和配合也不可能完美無缺,因此,在軟件生命周期的每個(gè)階段都不可避免地會產(chǎn)生錯(cuò)誤。在每個(gè)階段結(jié)束之前通嚴(yán)格的技術(shù)審查,盡可能早的發(fā)現(xiàn)所有差錯(cuò)。此外,在編碼過程中還會不可避免地引入新的錯(cuò)誤。測試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。5.3.2 本系統(tǒng)的測試結(jié)果登錄界面測試運(yùn)行本軟件后,首先出現(xiàn)登錄界面,后臺連接數(shù)據(jù)庫成功后,進(jìn)入登錄界面。測試時(shí),先輸入錯(cuò)誤的用戶名或密碼,此時(shí)系統(tǒng)給用戶提示小相應(yīng)的錯(cuò)誤信息,然后輸入不同的正確用戶名和密碼,系統(tǒng)根據(jù)不同的用戶給予不同的使用權(quán)限,這在進(jìn)入程序主界面后,從菜單中可以看出使用權(quán)限的不同。無操作權(quán)限的菜單暗
16、色顯示,不可操作。因此測試成功,功能基本實(shí)現(xiàn)。3各子系統(tǒng)的測試進(jìn)入主界面后,對不同的子系統(tǒng)進(jìn)行操作。先正確輸入各項(xiàng)信息,點(diǎn)擊運(yùn)行按鈕后,發(fā)現(xiàn)系統(tǒng)運(yùn)行正常,結(jié)果顯示正確;然后錯(cuò)誤輸入某些信息,或者進(jìn)行某些錯(cuò)誤操作,發(fā)現(xiàn)有的能夠給出錯(cuò)誤提示,并返回讓用戶重新操作,有的則直接顯示錯(cuò)誤信息,而后自動退出系統(tǒng)。這說明軟件的某些地方容錯(cuò)性不夠完善,影響了它的易操作性。于是著手進(jìn)行修改。后重新進(jìn)行測試,結(jié)果顯示軟件的容錯(cuò)性基本達(dá)到了用戶要求。經(jīng)過對各個(gè)子系統(tǒng)全部功能項(xiàng)的不同測試,結(jié)果顯示以基本達(dá)到設(shè)計(jì)要求。6.結(jié)束語經(jīng)過1個(gè)多月的調(diào)查與研究,小型超市管理系統(tǒng)基本完成。它的特點(diǎn)是實(shí)時(shí)性強(qiáng),能夠幫助超市管理人員
17、及時(shí)方便地管理超市信息。但由于開發(fā)者水平有限,仍存在系統(tǒng)功能不夠完善,設(shè)計(jì)步驟欠完整等不足,這些需要在今后的設(shè)計(jì)中加以改進(jìn)。參考文獻(xiàn)1許志清,趙博.精通SQL SERVER 2005 數(shù)據(jù)庫系統(tǒng)管理. M北京:北京電子工業(yè)出版社,20062 王晟, 馬里杰SQL Server數(shù)據(jù)庫開發(fā)經(jīng)典案例解M.北京:清華大學(xué)出版社,20063常利,肖立洪Delphi 6 編程-數(shù)據(jù)庫篇M.中國電力出版社,2002附錄:主要程序清單用戶登陸unit UnitLogin;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics
18、, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ADODB, jpeg, DB;type TForm1 = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; ADOQuery1: TADOQuery; procedure FormCreate(Sender: TObject); procedur
19、e Image5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image4Click(Sender: TObject); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Image1MouseMove(Sender: TObject; Shift: TSh
20、iftState; X, Y: Integer); procedure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1; LogTimes: Integer; UserType: String; ExeRoot: String; DataFile: String; UserName: String;implementationuses UnitMai
21、n;$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);begin LogTimes := 0;end;procedure TForm1.Image5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin application.Terminate;end;procedure TForm1.Image4Click(Sender: TObject);var ADOQuery1: TADOQuery;begin if (e
22、dit1.Text<>'') and (edit2.Text<>'') then begin ChDir(ExtractFilePath(Application.ExeName); ChDir('.'); ExeRoot := GetCurrentDir; DataFile := GetCurrentDir+'Datadzyv1.mdb' ADOQuery1:= TADOQuery.Create(self); ADOQuery1.ConnectionString := 'Provider=Micro
23、soft.Jet.OLEDB.4.0;Data Source='+DataFile+'Persist Security Info=False;' ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from t_user where user_name="'+edit2.Text+'" and user_pass="'+edit1.Text+'" '); ADOQuery1.Open; if ADOQuery1.Eof then begi
24、n LogTimes := LogTimes+1; if messagebox(handle,'您填寫的用戶或密碼有錯(cuò)誤!是否重新輸入?','出錯(cuò)提示',mb_iconinformation+mb_okcancel)=IDcancel then application.Terminate; if LogTimes>=3 then begin messagebox(handle,'對不起,登錄次數(shù)超過3次,程序自動關(guān)閉!','非法登錄',MB_ICONWARNING+mb_ok); application.Terminate;
25、 end; end else begin UserType := ADOQuery1.FieldByName('user_type').AsString; UserName := ADOQuery1.FieldByName('user_name').AsString; LogTimes := 0; ADOQuery1.Free; Form1.Hide; form2.ShowModal; end; end else messagebox(handle,'您沒有填寫用戶和密碼!','出錯(cuò)提示',mb_iconinformation+m
26、b_ok)end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);begin if key=#13 then Edit1.SetFocus;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if key=#13 then Image4Click(self);end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Inte
27、ger);begin if (ssleft in shift) then begin releasecapture; perform(wm_syscommand, $f012, 0); end;end;procedure TForm1.Image2Click(Sender: TObject);begin application.Terminate;end;procedure TForm1.Image3Click(Sender: TObject);begin application.Minimize;end;end.數(shù)據(jù)庫還原,備份unit UnitDbBuckup;interfaceuses
28、Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Gauges, ExtCtrls, StdCtrls;type TFrameDbBuckup = class(TFrame) Image1: TImage; GroupBox1: TGroupBox; Image2: TImage; Image3: TImage; SaveDialog1: TSaveDialog; Gauge1: TGauge; OpenDialog1: TOpenDialog; proce
29、dure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); private Private declarations public Public declarations end;implementationuses UnitLogin;$R *.dfmprocedure TFrameDbBuckup.Image2Click(Sender: TObject);var i: integer;begin try if not savedialog1.Execute then exit; if FileExis
30、ts(savedialog1.FileName+'.mdb') then begin if Messagebox(handle,'存在數(shù)據(jù)庫重名,是否覆蓋?','存盤選項(xiàng)',mb_iconquestion+mb_yesno)=IDNo then Exit; end else begin for i:=Gauge1.MinValue to Gauge1.MaxValue do Gauge1.Progress := i; CopyFile(PChar(DataFile),PChar(SaveDialog1.FileName+'.mdb'
31、;),True); Messagebox(handle,'數(shù)據(jù)庫備份成功!','備份數(shù)據(jù)',mb_iconinformation+mb_ok); end; except Messagebox(handle,'警告:數(shù)據(jù)庫備份失?。?#39;,'存盤錯(cuò)誤',mb_iconwarning+mb_ok); end;end;procedure TFrameDbBuckup.Image3Click(Sender: TObject);var i: integer;begin try if not opendialog1.Execute then ex
32、it; if Messagebox(handle,'警告:現(xiàn)有數(shù)據(jù)有可能丟失,確定還原?','確定還原',mb_iconquestion+mb_yesno)=IDNo then Exit; for i:=Gauge1.MinValue to Gauge1.MaxValue do Gauge1.Progress := i; Messagebox(handle,'數(shù)據(jù)庫還原成功!','還原數(shù)據(jù)',mb_iconinformation+mb_ok); except Messagebox(handle,'警告:數(shù)據(jù)庫還原失??!
33、39;,'讀取錯(cuò)誤',mb_iconwarning+mb_ok); end;end;end.商品信息unit UnitProdList;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, ExtCtrls, StdCtrls, Mask, DBCtrls;type TFrameProdList = class(TFrame) Image1: TImage; ADOQuery1: TA
34、DOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; GroupBox1: TGroupBox; Image2: TImage; Image3: TImage; Image4: TImage; Label1: TLabel; DBEdit1: TDBEdit; Label2: TLabel; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Label3: TLabel; DBEdit4: TDBEdit; Label4: TLabel; DBEdit5: TDBEdit; Label5: TLabel; Image5:
35、 TImage; Image6: TImage; GroupBox2: TGroupBox; Label6: TLabel; Edit1: TEdit; Image7: TImage; Label7: TLabel; procedure Image2Click(Sender: TObject); procedure Image5Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); procedure Image6Click(Sender: T
36、Object); procedure Image7Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); function IsAllNum(s:string):bool; procedure Label7Click(Sender: TObject); procedure DBEdit1KeyPress(Sender: TObject; var Key: Char); procedure DBEdit2KeyPress(Sender: TObject; var Key: Char); pr
37、ocedure DBEdit3KeyPress(Sender: TObject; var Key: Char); procedure DBEdit4KeyPress(Sender: TObject; var Key: Char); procedure DBEdit5KeyPress(Sender: TObject; var Key: Char); private Private declarations public Public declarations end;implementation$R *.dfmprocedure TFrameProdList.Image2Click(Sender
38、: TObject);begin 添加商品 Image2.Enabled := False; Image3.Enabled := False; Image4.Enabled := False; DBEdit1.Color := clWhite; DBEdit2.Color := clWhite; DBEdit3.Color := clWhite; DBEdit4.Color := clWhite; DBEdit5.Color := clWhite; DBEdit1.Enabled := True; DBEdit2.Enabled := True; DBEdit3.Enabled := True
39、; DBEdit4.Enabled := True; DBEdit5.Enabled := True; Image5.Visible := True; Image6.Visible := True; DBEdit1.SetFocus; ADOQuery1.Append;end;procedure TFrameProdList.Image5Click(Sender: TObject);begin 提交數(shù)據(jù) if (DBEdit1.Text<>'') and (DBEdit2.Text<>'') and (DBEdit3.Text<&g
40、t;'') and (DBEdit4.Text<>'') and (DBEdit5.Text<>'') then ADOQuery1.Post else if messagebox(handle,'您的輸入不正確(空值),放棄輸入?','檢查輸入',mb_iconquestion+mb_yesno)=IDyes then ADOQuery1.Cancel else exit; Image2.Enabled := True; Image3.Enabled := True; Image4.Ena
41、bled := True; DBEdit1.Color := $00FFF0DC; DBEdit2.Color := $00FFF0DC; DBEdit3.Color := $00FFF0DC; DBEdit4.Color := $00FFF0DC; DBEdit5.Color := $00FFF0DC; DBEdit1.Enabled := False; DBEdit2.Enabled := False; DBEdit3.Enabled := False; DBEdit4.Enabled := False; DBEdit5.Enabled := False; Image5.Visible :
42、= False; Image6.Visible := False;end;procedure TFrameProdList.Image3Click(Sender: TObject);begin if messagebox(handle,'刪除的商品不能被恢復(fù),是否刪除?','確認(rèn)刪除',mb_iconquestion+mb_yesno)=IDyes then ADOQuery1.Delete;end;procedure TFrameProdList.Image4Click(Sender: TObject);begin 修改用戶 Image2.Enabled :=
43、 False; Image3.Enabled := False; Image4.Enabled := False; DBEdit1.Color := clWhite; DBEdit2.Color := clWhite; DBEdit3.Color := clWhite; DBEdit4.Color := clWhite; DBEdit5.Color := clWhite; DBEdit1.Enabled := True; DBEdit2.Enabled := True; DBEdit3.Enabled := True; DBEdit4.Enabled := True; DBEdit5.Enab
44、led := True; Image5.Visible := True; Image6.Visible := True; DBEdit1.SetFocus; ADOQuery1.Edit;end;procedure TFrameProdList.Image6Click(Sender: TObject);begin 放棄提交 ADOQuery1.Cancel; Image2.Enabled := True; Image3.Enabled := True; Image4.Enabled := True; DBEdit1.Color := $00FFF0DC; DBEdit2.Color := $0
45、0FFF0DC; DBEdit3.Color := $00FFF0DC; DBEdit4.Color := $00FFF0DC; DBEdit5.Color := $00FFF0DC; DBEdit1.Enabled := False; DBEdit2.Enabled := False; DBEdit3.Enabled := False; DBEdit4.Enabled := False; DBEdit5.Enabled := False; Image5.Visible := False; Image6.Visible := False;end;procedure TFrameProdList.Image7Click(Sender: TObject);var sqlstr:string;begin if Ed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同意簽訂合同的紀(jì)要
- 《夏商周秦漢大事》課件
- 2025年海南貨運(yùn)從業(yè)資格證恢復(fù)考試題
- 2025年濱州貨運(yùn)資格證考試真題
- 2025年山東貨運(yùn)上崗證模擬考試0題
- 2025年江西貨運(yùn)從業(yè)資證孝試模似題庫
- 2025年達(dá)州道路運(yùn)輸從業(yè)資格證考試模擬試題
- 治安院務(wù)公開管理辦法
- 智能家居大白施工合同
- 航空航天木地板施工合同
- 2024落實(shí)意識形態(tài)責(zé)任清單及風(fēng)險(xiǎn)點(diǎn)臺賬
- 2024年度護(hù)士長工作總結(jié)
- 《籃球:原地持球交叉步突破》教案(三篇)
- 稀土新材料在新能源技術(shù)領(lǐng)域的應(yīng)用
- 2024年無人駕駛航空植保技能大賽理論考試題庫(含答案)
- 2024山東高速集團(tuán)社會招聘189人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024年人教部編本七年級上冊教學(xué)比賽說課材料16《誡子書》說課稿
- PLC入門課程課件
- 2025年研究生考試考研法律碩士綜合(非法學(xué)498)試卷及解答參考
- 2024年《妊娠期肝內(nèi)膽汁淤積癥臨床診治和管理指南》解讀
- 2024秋國家開放大學(xué)《形勢與政策》大作業(yè)參考答案
評論
0/150
提交評論