【文章內(nèi)容簡介】
量kyshuliang整型4虧盈數(shù)量beizhu文本16備注(10)客戶分類表(Khfenlei)記錄客戶類型的基本信息,其各字段和相關(guān)參數(shù)如表210所示。表210 客戶分類表字段名類型長度鍵說明Id整型4序號fenleiname字符16主鍵客戶分類名fenleimatou字符4客戶分類碼頭beizhu文本16備注(11)客戶信息表(Kehu)記錄客戶的基本信息,其各字段和相關(guān)參數(shù)如表211所示。表211 客戶信息表字段名類型長度鍵說明Id整型4序號khbianhao字符16主鍵客戶編號khname字符30客戶名稱khdizhi字符40客戶地址khyoubian字符6客戶郵編lianxiren字符20聯(lián)系人khdianhua字符16聯(lián)系電話khchuanzhen字符16傳真kh字符20電子郵箱續(xù)表211字段名類型長度鍵說明khwangzhi字符20客戶網(wǎng)址khfenleiname字符16客戶分類名beizhu文本16備注(12)商品銷售表 (Xiaoshoudan)記錄商品銷售的詳細(xì)信息,其各字段和相關(guān)參數(shù)如表212所示。表212 商品銷售表字段名類型長度鍵說明Id整型4序號xsdanhao字符16復(fù)合主鍵銷售單號xsriqi日期8銷售日期xsspbianhao字符16復(fù)合主鍵商品編號xsspname字符20商品名稱xsfenleiname字符16商品分類名xsspxinghao字符16商品型號xsspdanwei字符6單位xsshuliang整型4銷售數(shù)量xsjiage貨幣8銷售單價xszhekou字符4銷售折扣xsheji貨幣8金額合計(jì)(13)商品銷售基本資料表(Xiaoshoujiben)記錄商品銷售的基本信息,其各字段和相關(guān)參數(shù)如表213所示。表213 商品銷售基本資料表字段名類型長度鍵說明Id整型4序號xsdanhao字符16主鍵銷售單號xsriqi日期8銷售日期kaidanren字符20開單人yingyeyuan字符20營業(yè)員xsfangshi字符8付款方式xsflag字符2是否已審核xszongji貨幣8金額合計(jì)beizhu文本16備注(14)賬套備份表(Beifen)記錄賬套備份信息,其各字段和相關(guān)參數(shù)如表214所示。表214 賬套備份表字段名類型長度鍵說明Id整型4序號bfname字符20主鍵備份文件名bfpath字符100存放路徑bfdate日期8備份日期(15)用戶權(quán)限表(Quanxian)記錄系統(tǒng)用戶權(quán)限的基本信息,其各字段和相關(guān)參數(shù)如表215所示。表215 用戶權(quán)限表字段名類型長度鍵說明Id整型4序號gonghao字符16主鍵員工工號name字符20員工姓名LoginId字符16登錄賬號Spxq整型1商品詳情Spfl整型1商品分類Spzj整型1商品增加Spxg整型1商品修改Spsc整型1商品刪除Spcx整型1商品查詢Khlx整型1客戶類型Khxq整型1客戶詳情Khzj整型1客戶增加Khcx整型1客戶查詢Sprk整型1商品入庫Rksh整型1入庫審核Spth整型1商品退貨Kcjs整型1庫存警示Jhcx整型1進(jìn)貨查詢Thcx整型1退貨查詢Kccx整型1庫存查詢Kcpd整型1庫存盤點(diǎn)Xsjg整型1銷售價格Xskd整型1銷售開單Xssh整型1銷售審核Xscx整型1銷售查詢Dysj整型1打印收據(jù)Ygxx整型1員工信息續(xù)表215字段名類型長度鍵說明Zjyg整型1增加員工Txl整型1通訊錄Xsbb整型1銷售報(bào)表Jhbb整型1進(jìn)貨報(bào)表Thbb整型1退貨報(bào)表Kcbb整型1庫存報(bào)表Mmsz整型1密碼設(shè)置Qxsz整型1權(quán)限設(shè)置Ztbf整型1賬套備份Zthy整型1賬套還原Sjqk整型1數(shù)據(jù)清空Xtkj整型1系統(tǒng)空間Xtcs整型1系統(tǒng)參數(shù)3 系統(tǒng)實(shí)現(xiàn)根據(jù)以上的系統(tǒng)各個功能模塊的設(shè)計(jì)要求,系統(tǒng)開發(fā)采用ASP作為開發(fā)語言和SQL SERVER 2000作為數(shù)據(jù)庫。由于整個系統(tǒng)較大,涉及頁面較多,而篇幅有限,所以只選取關(guān)鍵的一些部分進(jìn)行詳細(xì)介紹。 系統(tǒng)主界面的實(shí)現(xiàn)圖31 系統(tǒng)主界面考慮到系統(tǒng)方便用戶使用,以人為本的思想,整個系統(tǒng)的操作均在一個界面中完成,使用了框架式設(shè)計(jì),使整個系統(tǒng)界面更加友好。左邊框架是一個導(dǎo)航式的控制面板,包括所有的系統(tǒng)操作選項(xiàng),可根據(jù)用戶喜好來顯式或隱藏控制面板;右邊框架則是相應(yīng)的具體操作的平臺,整個界面布局合理,使用方便。其實(shí)際效果如圖31所示。 ASP訪問數(shù)據(jù)庫的實(shí)現(xiàn)ASP訪問數(shù)據(jù)庫的一個關(guān)鍵技術(shù)是ADO技術(shù)。ADO的全稱即activex data object(activex數(shù)據(jù)對象),是微軟公司開發(fā)的一組優(yōu)化的訪問數(shù)據(jù)庫的專用對象集,它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關(guān)于SQL的知識不是必要的,但是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行。它為ASP提供了完整的站點(diǎn)數(shù)據(jù)庫解決方案,它作用在服務(wù)器端,提供含有數(shù)據(jù)庫信息的主頁內(nèi)容,通過執(zhí)行sql命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點(diǎn)數(shù)據(jù)庫的信息。系統(tǒng)與數(shù)據(jù)庫的連接使用ADO的connection對象,該對象提供了一種高效方便安全的數(shù)據(jù)庫連接方案。本系統(tǒng)由于很多模塊都需要連接數(shù)據(jù)庫,故將連接數(shù)據(jù)庫的代碼單獨(dú)存放在\INC目錄下。并且為了方便每次使用完后關(guān)閉連接,因此在該文件中用函數(shù)endconn()來實(shí)現(xiàn)關(guān)閉數(shù)據(jù)庫的連接。其代碼如下。%dbname=scglxt 39。 數(shù)據(jù)庫名Dim strConn,connSet conn = ()strconn=DRIVER={SQLServer}。SERVER=edison。UID=sa。PWD=sa。DATABASE=amp。dbname strconnsub endconn() 39。關(guān)閉連接函數(shù) set conn=nothingend sub% 用戶登錄模塊的實(shí)現(xiàn)用戶登錄時采用的身份驗(yàn)證算法如圖32所示。,其關(guān)鍵代碼為:% = 1if request(Action)=Sys_LoginCheck thenusername=trim((username)) 39。獲取用戶名password=replace(trim((password)),39。,39。39。) 39。獲取密碼,并加密Md5_Pass=passwordSys_CheckCode=replace(trim(Request(Sys_CheckCode)),39。,) 39。獲取驗(yàn)證碼if username= or password= then 39。判斷用戶名和密碼是否正確scriptalert(用戶名和密碼不能為空!)。 =。/scriptend ifif Sys_CheckCodeCStr(session(CheckCode)) then scriptalert(驗(yàn)證碼不正確,請刷新后重新登陸! )。 =。/scriptend ifset rs=() sql=select * from Users where loginid=39。amp。usernameamp。39。and pwd=39。amp。Md5_Passamp。39。 sql,conn,1,3if not then 39。登錄成功 gonghaoID=Rs(gonghao) =120Session(AdminID)=gonghaoID39。保存員工工號Session(adminName)=Rs(name) 39。保存員工姓名Session(adminLoginId)=Rs(loginid) 39。保存員工登錄帳號名 set rst=() 39。讀取權(quán)限 sql=select * from Quanxian where gonghao=39。amp。gonghaoIDamp。39。 sql,conn,1,3 if not () then LoginArray= () Session(LoginArray)=LoginArray 39。用數(shù)組方式保存員工操作權(quán)限 else scriptalert(權(quán)限讀取錯誤!)。 =。/script end if set rst=nothing () 39。驗(yàn)證成功,跳轉(zhuǎn)主頁面else 39。登錄失敗scriptalert(密碼錯誤或者無此用戶! )。 =。/script end ifset rs=nothingend ifif request(Action)=LoginOut then Session(AdminID)= 39。用戶安全注銷,結(jié)束會話Session(adminName)= Session(adminLoginId)= Session(LoginArray)= script=javascript:()。/scriptend if %跳轉(zhuǎn)到系統(tǒng)主頁輸入用戶名和密碼及驗(yàn)證碼用戶名或密碼是否為空驗(yàn)證碼是否正確用戶名或密碼是否正確用戶信息數(shù)據(jù)庫密碼錯誤或者無此用戶商品信息數(shù)據(jù)庫驗(yàn)證錯誤,請重新登錄密碼或用戶名不能為空是否否是是否圖32 用戶身份驗(yàn)證算法 商品信息管理模塊的實(shí)現(xiàn) 商品分類對商品分類可以便于對商品的管理,本系統(tǒng)中采用二級商品分類的方法,一級類別描述產(chǎn)品所屬的大致類別,二級類別則在一級類別的基礎(chǔ)上,對商品進(jìn)行細(xì)致的劃分。商品分類包括對商品類型的增加,修改和刪除,商品類型增加的界面如圖33所示。圖33 增加商品類型用戶輸入類型信息增加后會在數(shù)據(jù)庫中增加相應(yīng)的記錄,其實(shí)現(xiàn)代碼是:set rst=() sql=insert into Spfenlei(fenleiname,fenleimatou,beizhu)amp。_ values(39。amp。fenleinameamp。39。,upper(39。amp。fenleimatouamp。39。),39。amp。beizhuamp。39。) sql,Conn用戶輸入類型信息修改后會在數(shù)據(jù)庫中對相應(yīng)的記錄進(jìn)行更新,其實(shí)現(xiàn)代碼是:sql=update Spfenlei set fenleiname=39。amp。fenleinameamp。39。,amp。_fenleimatou=upper(39。amp。fenleimatouamp。39。), beizhu=39。amp。beizhuamp。39。 where amp。_id=39。amp。idamp。39。 sql,Conn刪除商品類型的實(shí)現(xiàn)代碼是: sql=Delete From Spfenlei Where id=39。amp。idamp。39。 sql,Conn 商品增加用戶在系統(tǒng)初期時會錄入商品詳細(xì)信息,其錄入界面如圖34所示。商品編號是根據(jù)當(dāng)前日期自動生成的唯一編號,不能由用戶修改。類型為商品的實(shí)際類型,如果當(dāng)前列表中無該類型可點(diǎn)擊右邊的[增加類型]增加商品類型。商品供貨商可以直接雙擊選擇相應(yīng)的供貨商,該供貨商是已經(jīng)在客戶管理中增加的。商品增加是將商品信息增加到數(shù)據(jù)庫中,首先是檢查該商品是否已經(jīng)存在,其實(shí)現(xiàn)代碼是:set rs=(select * from [Shangpin] where bianhao =39。amp。bianhaoamp。39。) if not ( or ) then ... 39。報(bào)錯處理如果沒有該商品就將其添加到商品信息表中和商品倉庫表中,代碼是: sql=insert int