4S店管理系统课程设计报告.doc

上传人:土8路 文档编号:10304752 上传时间:2021-05-07 格式:DOC 页数:14 大小:494.50KB
返回 下载 相关 举报
4S店管理系统课程设计报告.doc_第1页
第1页 / 共14页
4S店管理系统课程设计报告.doc_第2页
第2页 / 共14页
4S店管理系统课程设计报告.doc_第3页
第3页 / 共14页
4S店管理系统课程设计报告.doc_第4页
第4页 / 共14页
4S店管理系统课程设计报告.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《4S店管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《4S店管理系统课程设计报告.doc(14页珍藏版)》请在三一文库上搜索。

1、课程设计报告2010/2011学年 第一学期课程名称: 数据库设计 专业班级: 计算机0801 姓 名: 王健松 学 号: 080405009 指导教师: 张胜男 课程设计指导教师评语 成 绩:_ 指导教师签字:_4S店管理系统1引言设计并开发4s店销售与售后服务系统软件,实现汽车销售,零件销售,售后服务,库存管理等功能2 总体设计2.1系统运行环境 1)操作系统:windows xp 2)数据库:SQL Sever2000 3)前端开发软件:Power Builder9.02.2软件功能描述 系统功能可概括分为5个模块,12个小模块,即:整车销售模块,零配件模块,售后服务模块,系统管理模块,

2、基本信息模块;整车销售管理模块,整车进货管理模块,整车库存管理模块,零配件销售管理模块,零配件进货管理模块,零配件库存管理模块,维修管理模块,整车信息,零配件信息,供应商信息,客户信息,用户管理模块。系统功能模块,如图2所示:(1) 整车销售1) 整车销售管理:记录整车的销售信息,实现增,删,改,查等功能2) 整车进货管理模块:记录整车进货的管理信息,实现对进货单的增删改查等功能3) 整车库存管理:记录整车的库存管理信息(2) 零配件1) 零配件销售管理:记录零配件的销售信息,实现增,删,改,查等功能2) 零配件进货管理:记录零配件进货的管理信息,实现对进货单的增删改查等功能3) 零配件库存管

3、理:记录零配件的库存管理信息(3) 售后服务 1)维修管理:对已售车辆的维修数据进行管理(4) 基本信息1) 整车信息:存储整车的信息2) 零配件信息:存储零配件的信息3) 客户信息:存储客户的信息4) 供应商信息:存储供应商的信息(5) 系统管理1) 用户管理:对用户信息进行管理4数据库结构4.1.数据字典(见图3)表2.1 数据库表清单表名说明jbxx_khxx (基本信息_客户信息)jbxx_zcxx(基本信息_整车信息)jhgl_zcjhd(进货管理_整车进货单)xsgl_zcxs(销售管理_整车销售)wxd维修单kcgl_pjkc(配件库存)jbxx_khxx (基本信息_客户信息)

4、jbxx_gysxx (基本信息_供应商信息)jbxx_pjxx(基本信息_配件信息)jhgl_pjjhd(进货管理_配件进货单)xsgl_pjxs(销售管理_配件销售)yhxx(用户信息)kcgl_zckc(整车库存)jbxx_gysxx (基本信息_供应商信息)jbxx_pjxx(基本信息_配件信息)表格设计在系统设计报告出此处不再列出。5详细设计 5.1用户登录窗口5.1.1界面与功能描述 用户登录窗口的运行界面如图4所示图4 用户登录窗口该模块主要用来验证用户是否合法,以及合法用户对自己密码的修改。用户输入用户号和密码后,点击“确定”按钮,如果数据库中有相应数据,则说明为合法用户,就可

5、以进入到下一个页面。5.1.2 关键代码分析 1确定按钮的clicked事件 这里用到了动态SQL语句,用于检查输入数据与表数据的比较查询,以此实现(1) 用户是否存在(2) 用户输入密码是否正确(3) 存在的用户名,若密码输入3次不正确着退出系统 具体代码如下: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(信息,请输入帐号密码)returnend ifif ls_userid=5 thenmessagebox(信息,测试页面)open(w_zmain)returnend ifstring ls_yhmc /游标的使用从此开始long ls_js=0declare yhxxcursor cursor forselect yhxx_yhm from yhxx; open yhxxcursor; if sqlca.sqlcode=-1 thenmes

7、sagebox(sql错误,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错误,string(sqlca.sqldbcode)+:+sqlca.sqlerrtext)end ifend ifclose yhxxcursor; /游标语句结束处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)=采购部 thenmessagebox(信息,欢迎进

9、入采购管理系统) open(w_cgmain)close(w_login) return elseif trim(ls_yhbm)=销售部 thenmessagebox(信息,欢迎进入销售管理系统) open(w_xsmain)close(w_login) return elseif trim(ls_yhbm)=高层 then messagebox(信息,欢迎进入4S店管理系统)open(w_main)close(w_login)returnelseif trim(ls_yhbm)=维修部 then messagebox(信息,欢迎进入维修管理系统)open(w_wxmain)close(w_

10、login)return end ifelseg_cs=g_cs + 1 messagebox(错误信息,密码或用户名错误,请重新输入)if g_cs=3 then messagebox(错误信息,连续三次密码输入错误,退出程序) close(parent) return end ifend ifsle_password.text=sle_password.setfocus()用游标是为了实现用户名是否存在;三次输入不多则退出是设了一个全局变量,由此得以实现;部门判断则是检索表中信息匹配着打开相应窗口5.2车辆销售窗口5.2.1界面与功能描述 用户管理窗口的运行界面如图5所示图5 用户管理窗口

11、 操作用户信息,并可实现指定列的模糊以及精确查询。5.2.2关键代码分析 (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() /检索数据,将符合条件的数据显示在数据窗口中使用到两个函数:Setfilter(),retrieve()函数。Setfilter函数中语句格式符合动态SQL语句查询格式,其用于对涉及的表中的数据进行筛选,然后用retrieve函数返回筛选后的结果5.3 库存管理窗口5.3.

13、1界面与功能描述 库存管理窗口的运行界面如图6所示图6 (整车)库存管理窗口 库存分为配件库存与整车库存。他们结构与功能实现相同。在此演示整车库存。 此用于整车的库存管理,可查看商品库存数量并且添加库存提示。5.3.2 具体代码分析 数据窗口中库存提示的动态显示:在数据窗口中建立了一个文本框,然后点击属性里text栏旁边的一个按钮,然后在其中添加if函数,进行对其文本内容的动态修改5.4 进货(销售)盘点窗口5.4.1界面与功能描述 整车进货(销售)盘点窗口的运行界面如图7,8所示图7 整车进货盘点窗口图8 整车销售盘点窗口 整车与配件的进货与销售盘点结构与功能构成都基本相似(整车或配件的进货

14、盘点中是看进货单数据入库没,整车或配件的销售盘点中是看销售单数据提货没。入库与提货都会对库存的商品的数量产生影响)。在此展示整车进货盘点。在进货(销售)盘点中,可以查看进货单(销售单)中商品是否入库(提货)。 5.4.2 具体代码分析 1入库按钮的clicked事件 g_row=dw_1.getrow () /g_row为全局变量 if g_row=0 thenmessagebox(提示,没有数据)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(提示信息,入库已操作成功+string(jh_sl)+,+string(jh_sl_jh) jh_rkf=是 UPDATE jhgl_zcjhd SET rkf=:j

16、h_rkf where zcjhd_zcmc=:jh_zcmc;elsemessageBox(提示信息,已入库) end ifdw_1.settransobject( sqlca )dw_1.retrieve()涉及的数据窗口是整车进货单表。 利用数据窗口函数getrow获得所点击的条状数据行的行号。再由函数getitemstring或者getitemstring获取选中行第几列的数据。本代码中先判断所选数据条是否入库。判断后,若为“否”着获取其中数量再获得库存数量,在算数操作后将修改的数据传回数据库;若为“是”,则产生提示“已入库”。6出现的问题及解决方法(1) 多数表中如供应商信息,整车信

17、息,配件信息,销售单信息中编号,自动生成不同编号(主键)这类表中的主键信息因为要满足唯一的要求,所以通常应该程序自动生成主键信息(如编号)。这样就可以防止数据无法录入,录入错误导致数据混乱的错误。同时这类主键信息为通常为CHAR类型,主键最好是字母与数字的结合。这样便于识别,区分与查询。利用的解决技术是PB自带的字符处理函数,实现中可以人为设定主键字符部分,然后对主键数值部分进行操作,以生成各不相同的主键(例如:编号)。在此以配件信息录入窗口为例,实现此功能。在窗口的open事件中,假如如下代码片段:string ls_zdbh1,ls_zdbh,ls_zdbh2select pjxx_bh

18、into :ls_zdbh1 from jbxx_pjxx;/此语句用于检查表是否为空if ls_zdbh1= thenls_zdbh=pjxx1st_pjbh.text=ls_zdbhreturnend ifselect max (jbxx_pjxx.pjxx_bh) into :ls_zdbh2 from jbxx_pjxx; /检索表中主键列做大项,完成不同主键的生成ls_zdbh=mid(trim(ls_zdbh2),5) /用于取主键数值部分ls_zdbh=string(long(ls_zdbh)+1)ls_zdbh=pjxx+trim(ls_zdbh) st_pjbh.text=l

19、s_zdbh /在指定控件中显示用到的主要函数是mid函数,用于区主键信息的数值部分。取得数值部分后对数值部分采取加一操作,生成唯一的主键。7参考资料1 王珊数据库系统概论(第四版)北京:高等教育出版社,20062 陈永强PowerBuilder数据库开发经典实例精解北京:机械工业出版社,20078总结此次实验反映了很多问题,放映出了当前作为计算机系学生我的状态。不足的地方:工具使用不熟悉,问题出现时不能有效缩小问题范围,问题解决效率不高;由于需求分析,结构设计方面没有做到充分和深入,以至系统功能缺失;小组成员之间的交流不够,任务分配没有细化,成员之间思想没有得到很好的融合。值得肯定的地方:基本完成了最初构想的系统,付出了努力,感觉到收获,尤其是几个关键问题的突破,让自己体会倒了作为程序员才能体会的那种喜悦。最后通过本次课程设计让我体会到,程序就是做出来了,只停留在理论阶段不能锻炼自身真正的能力。同时也由此此实验感觉,程序设计与实践于经验的多少息息相关。当熟悉了不管是编程工具还好,还是系统结构,那都能加快问题的解决速度。实践经验与理论相结合才能真正提升自己的能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1