




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告2010/2011學(xué)年 第一學(xué)期課程名稱: 數(shù)據(jù)庫(kù)設(shè)計(jì) 專業(yè)班級(jí): 計(jì)算機(jī)0801 姓 名: 王健松 學(xué) 號(hào): 080405009 指導(dǎo)教師: 張勝男 課程設(shè)計(jì)指導(dǎo)教師評(píng)語(yǔ) 成 績(jī):_ 指導(dǎo)教師簽字:_4s店管理系統(tǒng)1引言設(shè)計(jì)并開(kāi)發(fā)4s店銷售與售后服務(wù)系統(tǒng)軟件,實(shí)現(xiàn)汽車銷售,零件銷售,售后服務(wù),庫(kù)存管理等功能2 總體設(shè)計(jì)2.1系統(tǒng)運(yùn)行環(huán)境 1)操作系統(tǒng):windows xp 2)數(shù)據(jù)庫(kù):sql sever2000 3)前端開(kāi)發(fā)軟件:power builder9.02.2軟件功能描述 系統(tǒng)功能可概括分為5個(gè)模塊,12個(gè)小模塊,即:整車銷售模塊,零配件模塊,售后服務(wù)模塊,系統(tǒng)管理模塊,
2、基本信息模塊;整車銷售管理模塊,整車進(jìn)貨管理模塊,整車庫(kù)存管理模塊,零配件銷售管理模塊,零配件進(jìn)貨管理模塊,零配件庫(kù)存管理模塊,維修管理模塊,整車信息,零配件信息,供應(yīng)商信息,客戶信息,用戶管理模塊。系統(tǒng)功能模塊,如圖2所示:(1) 整車銷售1) 整車銷售管理:記錄整車的銷售信息,實(shí)現(xiàn)增,刪,改,查等功能2) 整車進(jìn)貨管理模塊:記錄整車進(jìn)貨的管理信息,實(shí)現(xiàn)對(duì)進(jìn)貨單的增刪改查等功能3) 整車庫(kù)存管理:記錄整車的庫(kù)存管理信息(2) 零配件1) 零配件銷售管理:記錄零配件的銷售信息,實(shí)現(xiàn)增,刪,改,查等功能2) 零配件進(jìn)貨管理:記錄零配件進(jìn)貨的管理信息,實(shí)現(xiàn)對(duì)進(jìn)貨單的增刪改查等功能3) 零配件庫(kù)存管
3、理:記錄零配件的庫(kù)存管理信息(3) 售后服務(wù) 1)維修管理:對(duì)已售車輛的維修數(shù)據(jù)進(jìn)行管理(4) 基本信息1) 整車信息:存儲(chǔ)整車的信息2) 零配件信息:存儲(chǔ)零配件的信息3) 客戶信息:存儲(chǔ)客戶的信息4) 供應(yīng)商信息:存儲(chǔ)供應(yīng)商的信息(5) 系統(tǒng)管理1) 用戶管理:對(duì)用戶信息進(jìn)行管理4數(shù)據(jù)庫(kù)結(jié)構(gòu)4.1.數(shù)據(jù)字典(見(jiàn)圖3)表2.1 數(shù)據(jù)庫(kù)表清單表名說(shuō)明jbxx_khxx (基本信息_客戶信息)jbxx_zcxx(基本信息_整車信息)jhgl_zcjhd(進(jìn)貨管理_整車進(jìn)貨單)xsgl_zcxs(銷售管理_整車銷售)wxd維修單kcgl_pjkc(配件庫(kù)存)jbxx_khxx (基本信息_客戶信息)
4、jbxx_gysxx (基本信息_供應(yīng)商信息)jbxx_pjxx(基本信息_配件信息)jhgl_pjjhd(進(jìn)貨管理_配件進(jìn)貨單)xsgl_pjxs(銷售管理_配件銷售)yhxx(用戶信息)kcgl_zckc(整車庫(kù)存)jbxx_gysxx (基本信息_供應(yīng)商信息)jbxx_pjxx(基本信息_配件信息)表格設(shè)計(jì)在系統(tǒng)設(shè)計(jì)報(bào)告出此處不再列出。5詳細(xì)設(shè)計(jì) 5.1用戶登錄窗口5.1.1界面與功能描述 用戶登錄窗口的運(yùn)行界面如圖4所示圖4 用戶登錄窗口該模塊主要用來(lái)驗(yàn)證用戶是否合法,以及合法用戶對(duì)自己密碼的修改。用戶輸入用戶號(hào)和密碼后,點(diǎn)擊“確定”按鈕,如果數(shù)據(jù)庫(kù)中有相應(yīng)數(shù)據(jù),則說(shuō)明為合法用戶,就可
5、以進(jìn)入到下一個(gè)頁(yè)面。5.1.2 關(guān)鍵代碼分析 1確定按鈕的clicked事件 這里用到了動(dòng)態(tài)sql語(yǔ)句,用于檢查輸入數(shù)據(jù)與表數(shù)據(jù)的比較查詢,以此實(shí)現(xiàn)(1) 用戶是否存在(2) 用戶輸入密碼是否正確(3) 存在的用戶名,若密碼輸入3次不正確著退出系統(tǒng) 具體代碼如下:string password,userpasswordstring ls_yhbm,ls_userid,ls_passwordls_userid=sle_userid.textls_password=sle_password.textg_userid=sle_userid.text /g_userid為全局變量g_userpassw
6、ord=sle_password.text /g_userpassword為全局變量if sle_userid.text= thenmessagebox(信息,請(qǐng)輸入帳號(hào)密碼)returnend ifif ls_userid=5 thenmessagebox(信息,測(cè)試頁(yè)面)open(w_zmain)returnend ifstring ls_yhmc /游標(biāo)的使用從此開(kāi)始long ls_js=0declare yhxxcursor cursor forselect yhxx_yhm from yhxx; open yhxxcursor; if sqlca.sqlcode=-1 thenmes
7、sagebox(sql錯(cuò)誤,string(sqlca.sqldbcode)+:+sqlca.sqlerrtext)elsels_yhmc=dofetch yhxxcursor into:ls_yhmc;if trim(ls_yhmc)=ls_userid thenls_js=1exitend ifloop while sqlca.sqlcode=0if sqlca.sqlcode=-1 thenmessagebox(sql錯(cuò)誤,string(sqlca.sqldbcode)+:+sqlca.sqlerrtext)end ifend ifclose yhxxcursor; /游標(biāo)語(yǔ)句結(jié)束處if
8、ls_js=0 thenmessagebox(信息,用戶不存在)sle_userid.text=sle_userid.setfocus()returnend ifselect yhxx_yhmm into :userpassword from yhxx where yhxx_yhm=:ls_userid;if ls_password=trim(userpassword) thenselect yhxx_yhbm into :ls_yhbm from yhxx where yhxx_yhm=:ls_userid;if trim(ls_yhbm)=采購(gòu)部 thenmessagebox(信息,歡迎進(jìn)
9、入采購(gòu)管理系統(tǒng)) open(w_cgmain)close(w_login) return elseif trim(ls_yhbm)=銷售部 thenmessagebox(信息,歡迎進(jìn)入銷售管理系統(tǒng)) open(w_xsmain)close(w_login) return elseif trim(ls_yhbm)=高層 then messagebox(信息,歡迎進(jìn)入4s店管理系統(tǒng))open(w_main)close(w_login)returnelseif trim(ls_yhbm)=維修部 then messagebox(信息,歡迎進(jìn)入維修管理系統(tǒng))open(w_wxmain)close(w_
10、login)return end ifelseg_cs=g_cs + 1 messagebox(錯(cuò)誤信息,密碼或用戶名錯(cuò)誤,請(qǐng)重新輸入)if g_cs=3 then messagebox(錯(cuò)誤信息,連續(xù)三次密碼輸入錯(cuò)誤,退出程序) close(parent) return end ifend ifsle_password.text=sle_password.setfocus()用游標(biāo)是為了實(shí)現(xiàn)用戶名是否存在;三次輸入不多則退出是設(shè)了一個(gè)全局變量,由此得以實(shí)現(xiàn);部門判斷則是檢索表中信息匹配著打開(kāi)相應(yīng)窗口5.2車輛銷售窗口5.2.1界面與功能描述 用戶管理窗口的運(yùn)行界面如圖5所示圖5 用戶管理窗口
11、 操作用戶信息,并可實(shí)現(xiàn)指定列的模糊以及精確查詢。5.2.2關(guān)鍵代碼分析 (1)查詢按鈕的clicked事件dw_1.setfilter()if rb_1.checked=true then/精確查詢模式程序choose case ddplb_1.text case 用戶名dw_1.setfilter(用戶名=+sle_1.text+)case 部門dw_1.setfilter(部門=+sle_1.text+)case 角色dw_1.setfilter(角色=+sle_1.text+)end chooseelse/模糊查詢模式程序choose case ddplb_1.textcase 用戶名
12、 dw_1.setfilter(用戶名 like+%+sle_1.text+%)case 部門dw_1.setfilter(部門 like+%+sle_1.text+%)case 角色dw_1.setfilter(角色 like+%+sle_1.text+%)end chooseend if dw_1.retrieve() /檢索數(shù)據(jù),將符合條件的數(shù)據(jù)顯示在數(shù)據(jù)窗口中使用到兩個(gè)函數(shù):setfilter(),retrieve()函數(shù)。setfilter函數(shù)中語(yǔ)句格式符合動(dòng)態(tài)sql語(yǔ)句查詢格式,其用于對(duì)涉及的表中的數(shù)據(jù)進(jìn)行篩選,然后用retrieve函數(shù)返回篩選后的結(jié)果5.3 庫(kù)存管理窗口5.3.
13、1界面與功能描述 庫(kù)存管理窗口的運(yùn)行界面如圖6所示圖6 (整車)庫(kù)存管理窗口 庫(kù)存分為配件庫(kù)存與整車庫(kù)存。他們結(jié)構(gòu)與功能實(shí)現(xiàn)相同。在此演示整車庫(kù)存。 此用于整車的庫(kù)存管理,可查看商品庫(kù)存數(shù)量并且添加庫(kù)存提示。5.3.2 具體代碼分析 數(shù)據(jù)窗口中庫(kù)存提示的動(dòng)態(tài)顯示:在數(shù)據(jù)窗口中建立了一個(gè)文本框,然后點(diǎn)擊屬性里text欄旁邊的一個(gè)按鈕,然后在其中添加if函數(shù),進(jìn)行對(duì)其文本內(nèi)容的動(dòng)態(tài)修改5.4 進(jìn)貨(銷售)盤點(diǎn)窗口5.4.1界面與功能描述 整車進(jìn)貨(銷售)盤點(diǎn)窗口的運(yùn)行界面如圖7,8所示圖7 整車進(jìn)貨盤點(diǎn)窗口圖8 整車銷售盤點(diǎn)窗口 整車與配件的進(jìn)貨與銷售盤點(diǎn)結(jié)構(gòu)與功能構(gòu)成都基本相似(整車或配件的進(jìn)貨
14、盤點(diǎn)中是看進(jìn)貨單數(shù)據(jù)入庫(kù)沒(méi),整車或配件的銷售盤點(diǎn)中是看銷售單數(shù)據(jù)提貨沒(méi)。入庫(kù)與提貨都會(huì)對(duì)庫(kù)存的商品的數(shù)量產(chǎn)生影響)。在此展示整車進(jìn)貨盤點(diǎn)。在進(jìn)貨(銷售)盤點(diǎn)中,可以查看進(jìn)貨單(銷售單)中商品是否入庫(kù)(提貨)。 5.4.2 具體代碼分析 1入庫(kù)按鈕的clicked事件 g_row=dw_1.getrow () /g_row為全局變量 if g_row=0 thenmessagebox(提示,沒(méi)有數(shù)據(jù))returnend if jh_sl_jh=dw_1.getitemnumber (g_row,8) jh_zcmc=dw_1.getitemstring (g_row,3) jh_rkf=dw_1
15、.getitemstring(g_row,1) if trim(jh_rkf)=否 then select zckc_kcsl into :jh_sl from kcgl_zckc where zckc_zcmc=:jh_zcmc; jh_sl=jh_sl - jh_sl_jh update kcgl_zckc set zckc_kcsl = :jh_sl where zckc_zcmc=:jh_zcmc; messagebox(提示信息,入庫(kù)已操作成功+string(jh_sl)+,+string(jh_sl_jh) jh_rkf=是 update jhgl_zcjhd set rkf=:j
16、h_rkf where zcjhd_zcmc=:jh_zcmc;elsemessagebox(提示信息,已入庫(kù)) end ifdw_1.settransobject( sqlca )dw_1.retrieve()涉及的數(shù)據(jù)窗口是整車進(jìn)貨單表。 利用數(shù)據(jù)窗口函數(shù)getrow獲得所點(diǎn)擊的條狀數(shù)據(jù)行的行號(hào)。再由函數(shù)getitemstring或者getitemstring獲取選中行第幾列的數(shù)據(jù)。本代碼中先判斷所選數(shù)據(jù)條是否入庫(kù)。判斷后,若為“否”著獲取其中數(shù)量再獲得庫(kù)存數(shù)量,在算數(shù)操作后將修改的數(shù)據(jù)傳回?cái)?shù)據(jù)庫(kù);若為“是”,則產(chǎn)生提示“已入庫(kù)”。6出現(xiàn)的問(wèn)題及解決方法(1) 多數(shù)表中如供應(yīng)商信息,整車信
17、息,配件信息,銷售單信息中編號(hào),自動(dòng)生成不同編號(hào)(主鍵)這類表中的主鍵信息因?yàn)橐獫M足唯一的要求,所以通常應(yīng)該程序自動(dòng)生成主鍵信息(如編號(hào))。這樣就可以防止數(shù)據(jù)無(wú)法錄入,錄入錯(cuò)誤導(dǎo)致數(shù)據(jù)混亂的錯(cuò)誤。同時(shí)這類主鍵信息為通常為char類型,主鍵最好是字母與數(shù)字的結(jié)合。這樣便于識(shí)別,區(qū)分與查詢。利用的解決技術(shù)是pb自帶的字符處理函數(shù),實(shí)現(xiàn)中可以人為設(shè)定主鍵字符部分,然后對(duì)主鍵數(shù)值部分進(jìn)行操作,以生成各不相同的主鍵(例如:編號(hào))。在此以配件信息錄入窗口為例,實(shí)現(xiàn)此功能。在窗口的open事件中,假如如下代碼片段:string ls_zdbh1,ls_zdbh,ls_zdbh2select pjxx_bh
18、into :ls_zdbh1 from jbxx_pjxx;/此語(yǔ)句用于檢查表是否為空if ls_zdbh1= thenls_zdbh=pjxx1st_pjbh.text=ls_zdbhreturnend ifselect max (jbxx_pjxx.pjxx_bh) into :ls_zdbh2 from jbxx_pjxx; /檢索表中主鍵列做大項(xiàng),完成不同主鍵的生成ls_zdbh=mid(trim(ls_zdbh2),5) /用于取主鍵數(shù)值部分ls_zdbh=string(long(ls_zdbh)+1)ls_zdbh=pjxx+trim(ls_zdbh) st_pjbh.text=ls_zdbh /在指定控件中顯示用到的主要函數(shù)是mid函數(shù),用于區(qū)主鍵信息的數(shù)值部分。取得數(shù)值部分后對(duì)數(shù)值部分采取加一操作,生成唯一的主鍵。7參考資料1 王珊數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版)北京:高等教育出版社,20062 陳永強(qiáng)powerbuilder數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)典實(shí)例精解北京:機(jī)械工業(yè)出版社,20078總結(jié)此次實(shí)驗(yàn)反映了很多問(wèn)題,放映出了當(dāng)前作為計(jì)算機(jī)系學(xué)生我的狀態(tài)。不足的地方:工具使用不熟
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 興趣班合同范例
- 全椒農(nóng)場(chǎng)轉(zhuǎn)讓合同范例
- 供銷社土地租賃合同范例
- 兩兄弟建房合同范例
- 企業(yè)貸購(gòu)銷合同范本
- bto項(xiàng)目合同范例
- 加工中心保養(yǎng)合同范例
- KTV店勞務(wù)合同范例
- 個(gè)人兼職加工合同范例
- 劇本殺店合同范例
- 2024年南信語(yǔ)文數(shù)學(xué)試卷(含答案)
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 材料大課堂鈦合金(課堂PPT)
- NRC蛋雞飼養(yǎng)標(biāo)準(zhǔn)
- 高數(shù)常微分方程-高階微分方程
- 項(xiàng)目總工崗位職責(zé)
- 【最新】中考?xì)v史專題復(fù)習(xí) 中外科技發(fā)展課件 新人教-新人教初中九年級(jí)全冊(cè)歷史課件
- 最新-路面標(biāo)線技術(shù)交底
- 醫(yī)院卒中質(zhì)量控制考核方案
- 立風(fēng)井瓦斯管路安裝施工組織設(shè)計(jì)
- 附件 流動(dòng)人員人事檔案轉(zhuǎn)遞通知單存根
評(píng)論
0/150
提交評(píng)論