伊桂芬
摘要:隨著信息時(shí)代的到來,人們的生活節(jié)奏越來越快,日常要處理的事務(wù)也越來越復(fù)雜,手工勞動(dòng)也越來越不能滿足現(xiàn)代社會(huì)的要求,用計(jì)算機(jī)處理日常事務(wù)已成必然趨勢(shì)。因此,超市營運(yùn)系統(tǒng)在超市管理領(lǐng)域得到廣泛的應(yīng)用。我們開發(fā)的超市營運(yùn)系統(tǒng)采用的開發(fā)工具是Visual Basic+SQL Server 2000,主要包括系統(tǒng)管理、銷售、員工管理、統(tǒng)計(jì)、倉庫管理和打印六大功能模塊。
關(guān)鍵詞:VB ADO數(shù)據(jù)庫記錄集
隨著人們的生活水平和消費(fèi)水平的提高,超級(jí)市場(chǎng)已成為我們生活中不可缺少的
部分。超級(jí)市場(chǎng)具有營業(yè)面積大、商品陳列直觀、營業(yè)人員少、流通成本低、節(jié)約購買時(shí)問、刺激消費(fèi)欲望、避免人際磨擦等特點(diǎn),因而對(duì)消費(fèi)者和零售企業(yè)都有很強(qiáng)的吸引力。隨著超級(jí)市場(chǎng)在都市中的崛起和超市對(duì)管理現(xiàn)代化的要求,要求把計(jì)算機(jī)應(yīng)用到超市管理領(lǐng)域的要求日益膨脹,這就為應(yīng)用于超級(jí)市場(chǎng)的管理系統(tǒng)的開發(fā)提供了廣闊的天地。
一、系統(tǒng)實(shí)現(xiàn)
(一)配置服務(wù)器
當(dāng)用戶第一次使用本系統(tǒng)時(shí),系統(tǒng)會(huì)提示用戶輸入要連接的數(shù)據(jù)庫服務(wù)器的信息,包括:服務(wù)器名、登陸到服務(wù)器的用戶名和該用戶所對(duì)應(yīng)的密碼。如果本系統(tǒng)的用戶是系統(tǒng)管理員,系統(tǒng)還允許管理員修改服務(wù)器的連接信息,
(二)登陸
當(dāng)用戶使用本系統(tǒng)時(shí),系統(tǒng)首先要求用戶輸入其工號(hào)和該工號(hào)對(duì)應(yīng)的密碼,然后系統(tǒng)從操作系統(tǒng)的注冊(cè)表中讀入數(shù)據(jù)庫服務(wù)器的連接信息,把讀入的密碼進(jìn)行解密,解密的過程與加密時(shí)類似,不過順序要顛倒。接著系統(tǒng)根據(jù)服務(wù)器的連接信息與服務(wù)器進(jìn)行連接。
如果無法正確連接到服務(wù)器,系統(tǒng)將提示用戶連接錯(cuò)誤,詢問用戶是否需要重新配置服務(wù)器的連接信息,如果能成功連接到服務(wù)器,系統(tǒng)將對(duì)數(shù)據(jù)庫中的員工表進(jìn)行查詢。如果用戶輸入的用戶名和密碼與員工表中的用戶名和密碼匹配,則根據(jù)用戶的權(quán)限來登陸到不同的用戶界面,并把用戶的登陸信息保存到系統(tǒng)的全局變量中,以便在程序中調(diào)用。
(三)修改當(dāng)前用戶密碼
用戶正確登陸到系統(tǒng)后,用戶可以通過相應(yīng)界面的選項(xiàng)中調(diào)用密碼修改模塊,當(dāng)用戶點(diǎn)擊“修改密碼”時(shí),系統(tǒng)要求用戶輸入用戶當(dāng)前的密碼和將要修改的新密碼,在用戶點(diǎn)擊“確定”后,系統(tǒng)檢查用兩次戶輸入的新密碼是否致,如果不致就提示用戶重新輸入新密碼,如果致,則根據(jù)用戶登陸時(shí)的信息(用戶工號(hào)),在數(shù)據(jù)庫的員工表中查找該用戶的記錄,然后比較用戶輸入的當(dāng)前密碼是否與該用戶在數(shù)據(jù)庫中的密碼樣,如果樣就更新該用戶的登陸密碼,如果不樣就提示用戶輸入的當(dāng)前密碼輸入錯(cuò)誤,要求用戶重新輸入。
(四)商品銷售
如果用戶以收銀員的身份等份登陸,系統(tǒng)將直接調(diào)用商品銷售模塊,如果用戶以系統(tǒng)管理員的身份登陸,則可通過在總控界面中通過相應(yīng)的菜單調(diào)用該模塊。
在登陸到商品銷售模塊后當(dāng)用戶點(diǎn)擊“購物”的按鈕時(shí),系統(tǒng)就會(huì)彈出
個(gè)對(duì)話框,要求用戶輸入客戶購買的商品代號(hào),當(dāng)用戶輸入了個(gè)商品代號(hào)后,點(diǎn)擊“添加”按鈕或直接按回車鍵,系統(tǒng)就會(huì)查詢數(shù)據(jù)庫中的商品表,如果商品表中存在與該商品代號(hào)匹配的記錄時(shí),系統(tǒng)就把商品的相關(guān)信息顯示到銷售模塊的主窗口的表格中,如果商品表中不存在相應(yīng)的記錄,則提示用戶該上商品在系統(tǒng)中沒有相應(yīng)的記錄,要求用戶重新輸入。接著在用戶輸入的過程中,系統(tǒng)都要檢查用戶輸入的商品代號(hào)對(duì)應(yīng)的商品是否已經(jīng)顯示在銷售主窗口的表格中,如果存在就只更新商品的銷售數(shù)量,其它的信息都不做任何改變,如果不存在就通過查詢數(shù)據(jù)庫,判斷用戶輸入的商品代號(hào)是否在數(shù)據(jù)庫中有相應(yīng)記錄,如果有相應(yīng)的記錄就把該商品代號(hào)對(duì)應(yīng)的商品信息添加到表格中。這樣不斷重復(fù)操作,直到用戶點(diǎn)擊“完成”按鈕返回銷售主窗口。
(五)銷售記錄管理
當(dāng)用戶選擇了銷售記錄管理時(shí),系統(tǒng)將顯示以上窗口,供用戶選擇要?jiǎng)h除的銷售記錄。如果用戶選擇了刪除年的銷售記錄,則選擇月份的下拉列表框?qū)⒆優(yōu)椴豢捎?。用戶選擇要?jiǎng)h除的銷售記錄后點(diǎn)擊“刪除”按鈕時(shí),系統(tǒng)就查詢是否存在該時(shí)問的銷售記錄,如果存在就從銷售記錄表中刪除該記錄,如果不存在,則提示用戶銷售記錄不存在。
(六)統(tǒng)計(jì)
統(tǒng)計(jì)的過程是通過對(duì)數(shù)據(jù)庫的多次查詢,然后把幾次查詢的結(jié)果再進(jìn)行處理,最后才得到統(tǒng)計(jì)的結(jié)果。實(shí)現(xiàn)過程比較麻煩,無法只通過一次查詢來得到結(jié)果。下面以本月的按商品代號(hào)統(tǒng)計(jì)的過程為例,說明統(tǒng)計(jì)的實(shí)現(xiàn)過程。
統(tǒng)計(jì)的過程是首先從操作系統(tǒng)中得到當(dāng)前的日期,經(jīng)過系列的字符處理,就可以得到本月第一天的日期(上述代碼中的A變量的最終值)。接著就通過執(zhí)行下面的SQL語句:
select gid,sum(s-quantity)asquantity from sell where s-date>=Agroup by gid就得到了一個(gè)關(guān)于本月每種商品的銷售量的一個(gè)RecordSet。然后以本月商品的銷售量的RecordSet為基礎(chǔ),對(duì)商品表進(jìn)行查詢。即在本月商品的銷售量的RecordSet中取條記錄,在商品表中查詢?cè)撚涗泴?duì)應(yīng)商品的進(jìn)價(jià)和售價(jià),這樣就可以算出售出個(gè)該商品的盈利,然后把該商品的單個(gè)盈利乘以當(dāng)前月商品的銷售量就可以得到該商品本月的總盈利。通過對(duì)本月商品的銷售量的RecordSet進(jìn)行遍歷,直到前月商品的銷售量的RecordSet遍歷完成,就可以得到當(dāng)前月銷售的每種商品的總盈利。
二、結(jié)束語
經(jīng)過一個(gè)多月時(shí)問的設(shè)計(jì)和開發(fā),超市營運(yùn)系統(tǒng)基本開發(fā)完成,其功能基本上能滿足大部分超市的需求。不過由于設(shè)計(jì)時(shí)間比較短,我們所開發(fā)的超市營運(yùn)系統(tǒng)還存在著不少不足的地方,比如沒有聯(lián)機(jī)幫助文檔,對(duì)即將過期的商品的打折問題還沒有解決好,用戶界面不夠美觀,出錯(cuò)處理方面還做得不夠等,不過我們會(huì)針對(duì)這些問題對(duì)系統(tǒng)作進(jìn)步改進(jìn)。