【正文】
各個(gè)字段值 */ saldat smalldatetime , salemp varchar (10), salqua smallint , salprc smallmoney , salmemo varchar (100) as declare prdid int /*銷售單中原始銷售商品的編號(hào) */ declare salqua int /*銷售單中原始商品銷售數(shù)量需要進(jìn)行更新 */ 超市管理系統(tǒng) 33 declare prdqua int /*原始商品庫(kù)存數(shù)量需要進(jìn)行更新 */ declare newprdqua int /*新商品庫(kù)存數(shù)量需要進(jìn)行更新 */ select prdid = prdid from saleproduct where sallistid= sallistid select salqua=salqua from saleproduct where sallistid=sallistid select prdqua=prdqua from productlist where prdid=prdid select newprdqua=prdqua from productlist where prdid=prdid update saleproduct set prdid=prdid ,saldat=saldat,salemp=salemp,salqua=salqua, salprc=salprc,salmemo=salmemo where sallistid= sallistid update productlist set prdqua = prdqua + salqua where prdid=prdid /*商品庫(kù)存數(shù)量需要進(jìn)行更新 =原始商品庫(kù)存數(shù)量 +原始銷售單中的商品銷售數(shù)量 */ update productlist set prdqua =prdqua salqua where prdid = prdid /*新商品庫(kù)存數(shù)量需要進(jìn)行更新 =原始商品庫(kù)存數(shù)量 +原始銷售單的商品銷售數(shù)量 */ return GO ★銷售單的刪除操作對(duì)應(yīng)的存儲(chǔ)過程 spDelSal 的腳本代碼如下。 Public Shared connStr As String = server=E48EEF0FB970403。提示用戶并刪除數(shù)據(jù), TabName表中 KeyCol列值 KeyVal 的紀(jì)錄 If MsgBox(數(shù)據(jù)刪除后不可恢復(fù),確定要?jiǎng)h除嗎? , + ) = Then Exit Function Dim dbobj As New Dim strSQL As String strSQL = delete from amp。 Dim Re As String = (strSQL) If Re = Y Then MsgBox(數(shù)據(jù) 刪除成功! , ) Return True Else MsgBox(數(shù)據(jù)刪除錯(cuò)誤,錯(cuò)誤原因: amp。 存 儲(chǔ)分配:在用戶按下確定按鈕時(shí),將讀取存儲(chǔ)用戶名和密碼的數(shù)據(jù)表,以對(duì)用戶名和密碼進(jìn)行驗(yàn)證。 ★ 單擊“增加”按鈕響應(yīng)程序 Private Sub btnAdd_Click(ByVal sender As , ByVal e As ) Handles If = Then MsgBox(姓名不能為空! , ) Else If = Then MsgBox(密碼不能為空! , ) Else If (Trim(), ().ToString) Then MsgBox(該賬號(hào)已經(jīng)存在! , ) Else If (Trim(), Trim(), ().ToString) Then MsgBox(員工信息添加成功! , ) End If 超市管理系統(tǒng) 41 End If End If End If FreshFrm() End Sub ★ 單 擊“修改”按鈕響應(yīng)程序 Private Sub btnEdt_Click(ByVal sender As , ByVal e As ) Handles If = Then MsgBox(姓名不能為空! , ) Else If = Then MsgBox(密碼不能為空! , ) Else If Not (Trim()) Then MsgBox(用戶不存在! , ) Else If (Trim(), Trim(), ().ToString) Then MsgBox(員工信息修改成功! , ) End If End If End If End If FreshFrm() End Sub ★ 單擊“刪除”按鈕響應(yīng)程序 Private Sub btnDel_Click(ByVal sender As , ByVal e As ) Handles If = Then MsgBox(姓名不能為空! , ) Else If Not (Trim(), ().ToString) Then 超市管理系統(tǒng) 42 MsgBox(該用戶不存在,無(wú)法進(jìn)行刪除操作! , ) Else If (Trim(), ().ToString) Then MsgBox(員工信息刪除成功! , ) End If End If End If FreshFrm() End Sub 銷售單 信息管理 界面 本模塊的主要功能是把銷售信息寫入銷售清單,同時(shí)對(duì)庫(kù)存數(shù)據(jù)進(jìn)行跟新,以備用戶將來對(duì)銷售信息和庫(kù)存信息進(jìn)行查詢和打印。主要包括數(shù)據(jù)表刷新、銷售單的增加、刪除和修改,以及商品編號(hào)到商品名稱的轉(zhuǎn)換等幾個(gè)功能 。具體的輸入 如下圖所示: 超市管理系統(tǒng) 43 存儲(chǔ)分配 商品銷售模塊主要的是進(jìn)行商品銷售情況統(tǒng)計(jì)并登記入庫(kù),當(dāng)商品銷售業(yè)務(wù)發(fā)生后,營(yíng)業(yè)員將打開銷售管理模塊對(duì)商品銷售情況進(jìn)行登記入庫(kù),調(diào)用數(shù)據(jù)庫(kù)中的銷售表,等待數(shù)據(jù)錄入,等營(yíng)業(yè)員將相應(yīng)數(shù)據(jù)輸入 后,點(diǎn)提交按扭將完成數(shù)據(jù)的存儲(chǔ)。 員工信息管理 在系統(tǒng)開發(fā)中,為解決 超市 人員流動(dòng)問題,在系統(tǒng)中增添了員工管理子模塊,用來對(duì) 超市 的辦事員工和管理人員進(jìn)行信息化管理,以此來提高員工的辦事效率,節(jié)約人力資源。并在輸入了錯(cuò)誤的或者是不存在的用戶名和密碼時(shí),系統(tǒng)會(huì)給出出錯(cuò)信息提示,指明登陸過程中的錯(cuò)誤輸入或錯(cuò)誤操作,以便用戶進(jìn)行正確的登陸。 =39。其中 公用業(yè)務(wù)處理部分包括:記錄的增加、修改和刪除,特殊 字符串替換,以及數(shù)據(jù)報(bào)表的打??;專用業(yè)務(wù)處理部分就是各個(gè)功能模塊對(duì)應(yīng)的業(yè)務(wù)處理類,完成模塊中的數(shù)據(jù) 驗(yàn)證 、數(shù)據(jù)處理、數(shù)據(jù)提交等業(yè)務(wù)功能。 spDelDam的腳本代碼 CREATE procedure spDelDam /*此存儲(chǔ)用于刪除報(bào)損單時(shí)候更新報(bào)損單,并對(duì)商品列表中庫(kù)存數(shù)量進(jìn)行更新 */ damlistid int /*需要更新的報(bào)損單編號(hào) */ as declare prdid int /*報(bào)損單中商品的編號(hào) */ declare damqua int /*報(bào)損單中報(bào)損商品的數(shù)量,這個(gè)數(shù)量還需要去相應(yīng)商品的表中對(duì)庫(kù)存數(shù)量進(jìn)行更新 */ declare prdqua int /*原始商品庫(kù)存數(shù)量 */ select prdid=prdid from damlist where damlistid = damlistid select damqua=damqua from damlist where damlistid = damlistid select prdqua=prdqua from productlist where prdid=prdid delete from damlist where damlistid = damlistid update productlist set prdqua = prdqua+damqua where prdid = prdid return GO 第 5 章 系統(tǒng)的實(shí)現(xiàn) 開發(fā)數(shù)據(jù)庫(kù)訪問類庫(kù) 數(shù)據(jù)庫(kù)訪問類庫(kù) DB 是用來進(jìn)行數(shù)據(jù)庫(kù)操作的,主要包括數(shù)據(jù)表的調(diào)用和數(shù)據(jù)表的更新兩種功能。 spAddPur的腳本代碼 CREATE PROCEDURE spAddPur /*此存儲(chǔ)過程用于增加采購(gòu)單 并對(duì)商品列表中的庫(kù)存數(shù)量進(jìn)行更新 */ prdid int , supid int , purdat smalldatetime, puremp varchar (10), purqua smallint, purprc smallmoney , purmemo varchar (100) AS declare prdqua int /*原始商品庫(kù)存數(shù)量需要更新 */ select prdqua=prdqua from productlist where prdid=prdid insert into purchaseproduct (prdid ,supid, purdat,puremp,purqua,purprc,purmemo) values(prdid, supid,purdat,puremp ,purqua ,purprc,purmemo) update productlist set prdqua = prdqua+ purqua where prdid=prdid RETURN GO ★采購(gòu)單的修改操作對(duì)應(yīng)的存儲(chǔ)過程 spEdtPur 的腳本代碼如下。 表 商品銷售信息表 列名 名稱 數(shù)據(jù)類型 長(zhǎng)度 允許為空 備注 SalListID 銷售單編號(hào) Int 4 N 主鍵、自動(dòng)生成 超市管理系統(tǒng) 29 PrdID 商品編號(hào) Int 4 N SalDat 銷售日期 smalldatetir 4 Y SalEmp 銷售經(jīng)手人 varchar 10 Y SalQua 銷售數(shù)量 Smallint 2 N SalPrc 銷售價(jià)格 Smallmoney 4 N SalMemo 銷售說明 varchar 100 Y 表 為供應(yīng)商信息表。 ★ 員工信息,包括的數(shù)據(jù)項(xiàng)有:?jiǎn)T工編號(hào)、員工姓名、密碼和權(quán)限等。 ★ 需要對(duì)進(jìn)貨、銷售、庫(kù)存、報(bào)損等操作生成相應(yīng)的報(bào)表。 ★ 需要記錄企業(yè)的供應(yīng)商信息。 第 4 章 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率及實(shí)現(xiàn)的效果產(chǎn)生影響。 “ 進(jìn)銷存匯總 ” 用于查詢本次結(jié)帳的結(jié)果。 “ 已收款明細(xì) ” 用于查詢企業(yè)歷史的所有已收回的款項(xiàng)。 “ 歷史查詢 ” 用于查詢付款單歷史。 “ 采購(gòu)合同管理 ” 用于維護(hù)企業(yè)與供貨商簽定的采購(gòu)合同,內(nèi)容包括供貨商號(hào)、貨號(hào)、進(jìn)價(jià)、簽訂日期、合同期限等。其中拼音編碼是商品名稱的拼音簡(jiǎn)稱,目的是在程序中可通過拼音碼方便地查詢到所需要的商品。 ( 2)分層的模塊化程序設(shè)計(jì)思想,整個(gè)系統(tǒng)采用模塊化機(jī)構(gòu)設(shè)計(jì)。下面從分層設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì)來分析本系統(tǒng)的設(shè)計(jì)思想。問題產(chǎn)生的原因有的是屬于現(xiàn)行管理混亂,數(shù)據(jù)處理流程本身有問題,有的也可能是我們調(diào)查了解數(shù)據(jù)流程有誤或作圖有誤。 ★ 銷售過程中, 如果有商品損壞,就要進(jìn)入報(bào)損處理模塊根據(jù)商品的損壞原因來做報(bào)損登記。 ★ 簽訂完采購(gòu)合同,就要根據(jù)采購(gòu)合同來進(jìn)行進(jìn)貨處理。 超市管理系統(tǒng)的用戶需求分析 超市的發(fā)展必需要解決以下問題: 一、 物流管理方式落后,很難根據(jù)銷售、庫(kù)存情況,及時(shí)進(jìn)行配貨、補(bǔ)貨、退貨、調(diào)撥。