【正文】
kj 整型 1 系統(tǒng)空間 Xtcs 整型 1 系統(tǒng) 參數(shù) 3 系統(tǒng)實(shí)現(xiàn) 根據(jù)以上的系統(tǒng)各個(gè)功能模塊的設(shè)計(jì)要求,系統(tǒng)開發(fā)采用 ASP 作為開發(fā)語言和 SQL SERVER 2021 作為數(shù)據(jù)庫。 系統(tǒng)主界面的實(shí)現(xiàn) 圖 31 系統(tǒng)主界面 考慮到系統(tǒng)方便用戶使用,以人為本的思想,整個(gè)系統(tǒng)的操作均在一個(gè)界面中 完成,使用了框架式設(shè)計(jì),使整個(gè)系統(tǒng)界面更加友好。其實(shí)際效果如圖 31所示。 ADO 的全 稱即 activex data object(activex 數(shù)據(jù)對象 ),是 微軟公司開發(fā)的一組優(yōu)化的訪問數(shù)據(jù)庫的專用對象集, 它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB 的 一個(gè)中間層。訪問 數(shù)據(jù)庫 的時(shí)候,關(guān)于 SQL 的知識不是必要的,但是特定數(shù)據(jù)庫支持的 SQL命令仍可以通過 ADO 中的命令對象來執(zhí)行。 系統(tǒng)與數(shù)據(jù)庫的連接使用 ADO 的 connection 對象,該對象提供了一種高效方便安全的數(shù)據(jù)庫連接方案。并且為了方便每次使用完后關(guān)閉連接,因此在該文件中用函數(shù) endconn()來實(shí)現(xiàn)關(guān)閉數(shù)據(jù)庫的連接。 % dbname=scglxt 39。SERVER=edison。PWD=sa。dbname strconn sub endconn() 39。 根據(jù)以上算法設(shè)計(jì)出 頁面,其關(guān)鍵代碼為: % = 1 if request(Action)=Sys_LoginCheck then username=trim((username)) 39。,39。) 39。,) 39。判斷用戶名和密碼是否正確 scriptalert( 用 戶 名 和 密 碼 不 能 為 空 ! )。/script end if if Sys_CheckCodeCStr(session(CheckCode)) then scriptalert(驗(yàn)證碼不正確,請刷新后重新登陸 ! )。/script end if set rs=() sql=select * from Users where loginid=39。usernameamp。and pwd=39。Md5_Passamp。 sql,conn,1,3 if not then 39。保存員工工號 Session(adminName)=Rs(name) 39。保存員工登錄帳號名 set rst=() 39。amp。39。用數(shù)組方式保存員工操作權(quán)限 else scriptalert( 權(quán) 限 讀 取 錯(cuò) 誤 !)。/script end if set rst=nothing () 39。登錄失敗 scriptalert( 密碼錯(cuò)誤或者無此用戶! )。/script end if set rs=nothing end if if request(Action)=LoginOut then Session(AdminID)= 39。 跳轉(zhuǎn)到系統(tǒng)主頁 輸入用戶名和密碼及驗(yàn)證碼 用戶名或密碼 是否為空 驗(yàn)證碼是否正確 用戶名或密碼 是否 正確 用戶信息數(shù)據(jù)庫 密碼錯(cuò)誤或者無此用戶 商品 信息數(shù)據(jù)庫 驗(yàn)證錯(cuò)誤,請重新登錄 密碼或 用戶名不能為空 是 否 否 是 是 否 商品分類包括對商品類型的增加,修改和刪除, 商品類型增加的界面如圖33 所示。_ values(39。fenleinameamp。,upper(39。fenleimatouamp。),39。beizhuamp。) sql,Conn 用戶輸入類型信息修改后會在數(shù)據(jù)庫中對相應(yīng)的記錄進(jìn)行更新,其實(shí)現(xiàn)代碼是: sql=update Spfenlei set fenleiname=39。fenleinameamp。,amp。amp。39。amp。39。_ id=39。idamp。 sql,Conn 刪除商品類型的實(shí)現(xiàn)代碼是: sql=Delete From Spfenlei Where id=39。idamp。 sql,Conn 商品增加 用戶在系統(tǒng)初期時(shí)會錄入商品詳細(xì)信息,其錄入界面如圖 34所示。類型為商品的實(shí)際類型,如果當(dāng)前列表中無該類型可點(diǎn)擊右邊的 [增加類型 ]增加商品類型。商品增加是將商品信息增加到數(shù)據(jù)庫中,首先是檢查該商品是否已經(jīng)存在,其實(shí)現(xiàn)代碼是: set rs=(select * from [Shangpin] where bianhao =39。bianhaoamp。) if not ( or ) then ... 39。_ gonghuoshang,beizhu) values(39。fenleiname amp。,39。bianhao amp。,39。nameamp。39。 amp。39。 amp。39。 amp。39。 amp。39。增加商品信息表資料 sqlck=insert into Spcangku(bianhao,name,fenleiname,xinghao,danwei,amp。amp。39。_ 39。nameamp。,39。fenleinameamp。,39。xinghaoamp。,39。danweiamp。,39。gonghuoshangamp。39。amp。39。jiageamp。jiageheamp。amp。39。增加商品倉庫信息表資料 圖 34 商品增加 商品修改 商品修改可以在商品列表中選擇對應(yīng)的商品進(jìn)行修改,商品修改界面如圖35 所示。amp。39。amp。_ amp。,xinghao=39。xinghaoamp。,danwei=39。danweiamp。,gonghuoshang=39。gonghuoshamp。39。amp。39。amp。 39。修改商品信息表資料 sql=update Spcangku set name=39。nameamp。,fenleiname=39。fenleinameamp。39。amp。39。amp。39。amp。_ hangamp。,beizhu=39。beizhuamp。 where bianhao=39。bianhaoamp。 sql,Conn 39。amp。39。刪除商品信息表資料 sql=delete from spcangku where bianhao=39。bianhaoamp。 sql,Conn 39。其查詢界面如圖 36所示 。關(guān)鍵字 name=Trim(Request(name)) 39。nameamp。%amp。%39。_ desc sql,conn,0,2,1 else 39。 圖 37 商品入庫 在該界面中可以一次為同一供貨商提供的商品添加最多 10 條商品記錄,而且分別添加到商品入庫單中和入庫基本信息表中,其實(shí)現(xiàn)代碼是: set rck=()39。_ rkflag,rkcaigouyuan,rkfangshi,rkzongji,beizhu) values( 39。rkbianhaoamp。,amp。amp。39。amp。39。amp。39。amp。39。amp。_ igouyuanamp。,39。rkfangshiamp。,convert(money,39。rkzongjiamp。),39。beizhuamp。) sql,Conn 因?yàn)樽疃嗫赏瑫r(shí)為同一供貨商提供的商品添加 10 條記錄,所以當(dāng)不足 10條記錄時(shí)在增加時(shí)會產(chǎn)生空值,所以添加記錄時(shí)排除空值記錄,其代碼如下: for i=1 to 10 39。當(dāng)?shù)?N條記錄為空時(shí) ,直接跳出循環(huán) ,無需插入無效記錄! set rst=() sql=insert into Rukudan(rkbianhao,rkshangpinbianhao,rkshangpinname,amp。_ gehe) values(39。rkbianhaoamp。,39。rkshangpinbianhao([i])amp。,39。rkshangamp。39。amp。39。amp。39。_ 39。rkshangpindanwei([i])amp。,39。rkshuliang([i])amp。,convert(money,39。rkjiamp。39。amp。39。 if rkflag=是 then set rs = () sql=select * from Rukudan where rkbianhao=39。rkbianhaoamp。 sql,conn,0,2,1 for i=1 to 10 if or then exit for bianhao=rs(rkshangpinbianhao) shuliang=rs(rkshuliang) jiage=rs(rkjiage) set rst=() sql=update Spcangku set shuliang=shuliang+39。shuliangamp。,amp。jiageamp。amp。39。_ 39。bianhaoamp。 sql ,conn set rst=nothing next end if 商品 入庫審核 商品入庫審核可對商品入庫操作進(jìn)行再次審核,以保證商品的正確入庫,如果審核不通過可刪除本次入庫操作。 入庫審核的實(shí)現(xiàn)代碼如下: set rst=() 39。amp。39。_ amp。 where bianhao=39。bianhaoamp。 sql ,conn sql=update Spcangku set jiagehe=jiage*shuliang where bianhao=amp。amp。39。對通過審核的入庫單增加標(biāo)志“是” sql=update rukujiben set rkflag=39。flagamp。 where rkbianhao=amp。amp。39。amp。39。其實(shí)現(xiàn)代碼為: sql=select * from Spcangku where shuliangshangxian1 or shuliangxiaxianamp。顯示庫存超過或者低于預(yù)先設(shè)定好的限值 sql,conn,0,2,1 ?? 39。當(dāng)前庫存量 shangxian=rs(shangxian)1 39。庫存下限 if shuliangxiaxian then (短線 ) else (超儲 ) end if 初次商品添加時(shí)會自動將庫存上限設(shè)置為 10000,下限設(shè)置為 0,所以用戶要根據(jù)實(shí)際情況修改限值。商品銷售價(jià)格設(shè)置界面如圖 38 所示。商品編號 lsjiage=(lsjiage) 39。lsjiageamp。amp。 39。_ 39。 bianhao amp。 sql,Conn 商品 銷售開單 商品銷售開單實(shí)現(xiàn)前臺面向顧客銷售商品,將銷售信息錄入數(shù)據(jù)庫,并且可根據(jù)促銷活動對商品打折。銷售開單的界面以及實(shí)現(xiàn)代碼和商品入庫的類似,只是所操作的數(shù)據(jù)庫不同,在此省略。 按商品銷售單號查詢的實(shí)現(xiàn)代碼是: sql=select * from Xiaoshoujiben where amp。 like 39。 key amp。 and xsflagamp。是 39。_ 39。date1amp。