版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统原理课程设计报告-平面设计公司业务管理系统目 录第一章 概述21.1项目背景21.2编写目的21.3开发环境2第二章 需求分析21.1业务系统管理员对功能的需求32.1.1 员工信息管理32.1.2 客户信息管理32.1.3公司管理32、员工功能的需求32.2.1 个人信息32.2.2 业务33、客户功能要求3第三章 系统分析43.1 系统功能模块的划分43.1.1 系统主页43.1.3员工信息管理模块53.1.4客户管理模块63.1.5业务管理模块73.1.6公司管理模块73.1.7客户查询模块83.1.8 修改密码83.2 系统流程分析9第四章 系统设计9在,4.1数据库逻辑结构
2、设计104.1.1 表设计104.1.2 系统基本实体关系图设计134.2 创建数据库144.2.1数据表14第五章 主要模块设计及代码165.1 业务管理系统登陆模块实现165.2各主要功能实现185.2.1 员工信息添加功能实现185.2.2 员工信息删除功能实现195.2.3 员工信息修改功能实现215.2.4 客户货单查询225.2.5 密码修改功能实现235.2.6 工资发放24第六章 总结27第七章 参考文献27第一章 概述1.1项目背景 随着公司业务的飞速发展传统的手工记录信息已不适应现代信息的管理需求。为了满足平面设计公司业务管理的要求,及时、准确、全方位地展示公司的信息,必需
3、用现代化的电脑自动化管理系统来处理繁重的业务,对干大型的设计公司 已是必备的管理方式。1.2编写目的 方便公司的各种信息及业务管理,满足公司的日常需要。使信息管理更准确,更快速。1.3开发环境系统环境 windows xp开发软件 microsoft. visual studio 2005 c#数据库 microsoft. sql server 2005第二章 需求分析 广告公司在正常运营中需要对客户信息,业务管理,利用信息的及时,高效,提高了管理的效率。 系统开发的总体任务是实现平面广告公司信息的系统化,规范化和自动化。主要包括公司管理员对功能的需求、员工对功能的需求和客户查询三个部分。1.
4、1业务系统管理员对功能的需求2.1.1 员工信息管理(1)添加员工(2)修改员工信息(3)删除员工信息(4)修改密码2.1.2 客户信息管理(1)添加客户信息(2)修改客户信息(2)删除客户信息2.1.3公司管理(1)公司业务管理 (2)工资发放2、员工功能的需求2.2.1 个人信息(1)个人信息查询(2)修改密码(3)工资查询2.2.2 业务(1)添加稿件(2)送货单3、客户功能要求 (1)查询第三章 系统分析3.1 系统功能模块的划分 公司业务管理系统所需要实现的功能可以细分为几个模块:登陆、员工管理、客户管理、业务管理、公司管理、客户查询模块。3.1.1 系统主页3.1.2 登陆模块 图
5、3-2 用户登陆3.1.3员工信息管理模块该模块负责所有参与公司运作的员工信息。主要功能包括添加、删除、修改、查询员工信息。员工工资查询。图3- 添加员工图3- 3 删除员工图3-修改员工信息图3- 4 员工查询图3-5 员工工资查询3.1.4客户管理模块该模块负责管理与本公司所涉及的客户信息。主要功能包括添加、删除、修改、查询客户信息。图3-7 添加客户信息 图3-8 删除客户信息3.1.5业务管理模块该模块负责管理所有货单信息。主要功能包括 添加货单信息,生成送货单 添加货单信息图38 添加稿件信息生成送货单:3.1.6公司管理模块 该模块负责管理公司业务信息。主要功能包括查询与本公司有业
6、务来往的客户和工资发放。3.1.7客户查询模块该模块主要提供客户对货单的查询。3.1.8 修改密码3.2 系统流程分析 为了更清楚地说明系统框架,以便更好地设计系统的解决方案,建立一个系统流程图。主页系统登陆 员工界面后台管理管理员页面员工信息管理客户信息管理公司管理 个人信息业务货单查询客户 图3-1 系统流程图 从流程图可以看出,用户首先登陆到系统进行身份验证,验证通过后,系统会根据该用户的账号信息进行授权。如果系管理员的话,则被系统引导到管理员页面,提供了员工信息管理、客户信息管理、和公司管理三个模块的使用权限。如果是职工的话就进入员工界面,提供了个人信息和业务两个模块。客户可以直接在首
7、页查询货单信息。第四章 系统设计4.1数据库逻辑结构设计4.1.1 各部分(e-r)图员工信息员工编号电话性别职位部门姓名密 码用户名添加时间学历表4-1 用户表客户信息地址客户编号客户名联系人联系电话传 真邮 箱添加时间表4-2 客户信息稿 件稿件号落单日期页数输出机型色数规格长度宽度专色稿件名单价打样小计业务员编号表4-3 稿件稿件名稿件号完成时间设计员编号在建单在建单号表4-4 在建单 送货单送货时间联系电话送货单号客户名送货地址稿件名称备注说明 送货员编号表4-5 送货单历史单时间在建单编号稿件编号历史单编号送货单号客户名表4-6 历史单 部 门基本工资部门编号名称人数表4-7 部门薪
8、 酬工薪编号职工编号姓名基本工资奖金扣 除发放时间提成应得工资 备注说明表4-8 薪酬4.1.2 系统基本实体关系图设计客 户创建稿件11n在建单组成n1送货单设计设计员1m1历史单送货送货员1n员工信息业务员nnn薪酬信息部门获得1n属于1m表4-9 系统基本(e-r )图(1)员工信息(序号、员工编号 、用户名、密码、姓名、部门、职位、性别、电话、权限、学历、添加时间)(2)客户信息(客户编号 、客户名、联系人、地址,联系电话、传真,邮箱、添加时间)(3)稿件 (稿件号 、稿件名、长度宽度、规格、色数、输出机型、页数、单价、小计、打样、专色、落单时期、送货日期)(4)在建单 (在建单编号
9、、稿件号、稿件名、设计员编号、完成时间)(5)送货单 (送货单编号 、稿件号、客户名、送货员编号、送货地址、联系电话、送货时间、备注说明)(6)历史单 (历史单号 、稿件号、在建单号、送货单号、客户名、时间)(7)部门 (部门编号 、名称、人数、基本工资)(8)薪酬信息(薪酬编号 、职工编号、姓名、基本工资、提成、资金、扣除、应得工资、发放时间、备注说明)4.2 创建数据库 4.2.1 数据表 (1)用户信息表图4-10 用户信息表(2)客户信息表图4-11 客户信息表(3)稿件信息表图4-12 稿件信息表(4)在建单信息表图4-13 在建单信息表(5)送货单信息表图4-14 送货单信息表(6
10、)历史单信息表图4-15 历史单信息表(7) 部门信息表图4-16 部门信息表(8)薪酬信息表图4-17 薪酬信息表第五章 主要模块设计及代码5.1 业务管理系统登陆模块实现 在usercontrol中自定义一个用户登陆控件,在后台中,系统默认用了一些必要的名称空间,这里还要引入的名称空间:using system.data;using system.data.sqlclient;using system.web.sessionstate;其中,上面两个是在数据库操作时使有的名称空间,而引用using system.web.sessionstate 是为了实现对httpsessionstate
11、类的访问,通过session变量记录用户的编号和身份。下面的方法于响应“登陆”按钮的单击事件,以完成对用户名、密码信息的提交。代码如下:public partial class userlogin : system.web.ui.usercontrol protected void page_load(object sender, eventargs e) protected void button1_click(object sender, eventargs e) string username = request"username" /连接到本地计算机的 yuwu数据
12、库 sqlconnection cn = new sqlconnection("data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true"); cn.open(); /构造sql语句,该语句检查用户名数据库中是否存在 string mysql = "select*from user where username='" + textbox1.text + "' and userpwd='" + tex
13、tbox2.text + "'and level='" + dropdownlist1.selecteditem + "'" sqlcommand cm = new sqlcommand(mysql, cn); /创建 command对象 sqldatareader dr = cm.executereader();/执行executereader()方法 if (dr.read() session"username" = dr"username".tostring(); session&qu
14、ot;userpwd" = dr"userpwd".tostring(); session"levle" = dr"levle".tostring(); if (session"level".tostring() = "管理员") /进入公司管理界面 response.redirect("/admin/default.aspx"); else if (session"level".tostring() = "员工") resp
15、onse.redirect("/user/default.aspx"); sqlcommand scd = new sqlcommand("select count(*)from user where username='" + this.textbox1.text.trim() + "' and userpwd='" + this.textbox2.text.trim() + "'and level='" + this.dropdownlist1.selecteditem.
16、tostring(); int count = convert.toint32(scd.executescalar(); if (count > 0) session"username" = this.textbox1.text; response.redirect("default.aspx"); else response.write("<script>alert('用户名或者密码错误,请重新输入!');history.back()</script>"); return; dr.clo
17、se(); cn.close(); protected void button2_click(object sender, eventargs e) this.textbox1.text = "" this.textbox2.text = "" 5.2各主要功能实现 5.2.1 员工信息添加功能实现 在page_load()事件中,对datagrid控件的数据绑定bind()方法进行调用,代码如下:protected void page_load(object sender, eventargs e) if (!ispostback) this.bind
18、(); bind()方法的实现过程,通过连接数据库,使用存储过程取出用户表里面的信息,并在datagrid控件上显示。代码如下: public sqlconnection getconnection() /连接到本地计算机的 yuwu数据库string mystr = "data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true" sqlconnection myconn = new sqlconnection(mystr); return myconn; pro
19、tected void bind() sqlconnection myconn = getconnection(); myconn.open(); string sqlstr = "select * from user " /创建sqldataadapter对象,调用sql语句 sqldataadapter myda = new sqldataadapter(sqlstr, myconn); dataset myds = new dataset(); myda.fill(myds); gridview1.datasource = myds; gridview1.databi
20、nd(); myda.dispose(); myds.dispose(); myconn.close(); 当用户单击“添加”按钮后,触发添加事件,代码为: protected void btnadd_click(object sender, eventargs e) if (this.textbox1.text != "") sqlconnection myconn = getconnection(); myconn.open();/ 往数据库插入信息 string sqlstr = "insert into user ( username, userpwd ,
21、realname,bianhao,bumen,zhiwei,sex,level ,phone,addtime, xueli)values('" + this.textbox1.text.trim() + "','" + this.textbox2.text.trim() + "','" + this.textbox3.text.trim() + "','" + this.textbox4.text.trim() + "','" + t
22、his.textbox11.text.trim() + "','"+ this.textbox5.text.trim() + "','" + this.textbox6.text.trim() + "','" + this.textbox7.text.trim() + "','" + this.textbox8.text.trim() + "','" + this.textbox9.text.trim() + &qu
23、ot;','" + this.textbox10.text.trim() + "')" sqlcommand mycmd = new sqlcommand(sqlstr, myconn); mycmd.executenonquery(); myconn.close(); /关闭连接 this.bind(); try showmsg.text = "添加成功" showmsg.style"color" = "green" catch (sqlexception error) show
24、msg.text = "添加失败,请稍后再试:" + error.message; showmsg.style"color" = "red" else this.bind();5.2.2 员工信息删除功能实现public partial class admin_deleteuser : system.web.ui.page protected void page_load(object sender, eventargs e) if (!ispostback) this.bind(); public sqlconnection get
25、connection() sqlconnection myconn = new sqlconnection("data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true");/数据连接代码 return myconn;/存储过程个取出信息,并显示 protected void bind() sqlconnection myconn = getconnection(); myconn.open(); string sqlstr = "select * fr
26、om user " sqldataadapter myda = new sqldataadapter(sqlstr, myconn); dataset myds = new dataset(); myda.fill(myds); gridview1.datasource = myds; gridview1.datakeynames = new string "bianhao" ; gridview1.databind(); myda.dispose(); myds.dispose(); myconn.close(); /删除数据 protected void gr
27、idview1_rowdeleting(object sender, gridviewdeleteeventargs e) int bianhao = convert.toint32(gridview1.datakeyse.rowindex.value.tostring(); string sqlstr = "delete from user where bianhao=" + bianhao; sqlconnection myconn = getconnection(); myconn.open(); sqlcommand mycmd = new sqlcommand(s
28、qlstr, myconn); mycmd.executenonquery(); mycmd.dispose(); myconn.close(); gridview1.editindex = -1; this.bind(); protected void gridview1_rowdatabound(object sender, gridviewroweventargs e) if (e.row.rowtype = datacontrolrowtype.datarow) (linkbutton)e.row.cells0.controls0).attributes.add("oncli
29、ck", "return confirm('确定要删除吗?')"); 5.2.3 员工信息修改功能实现该代码这实现信息修改 protected void bind() sqlconnection myconn = getconnection(); myconn.open(); string sqlstr = "select * from user " sqldataadapter myda = new sqldataadapter(sqlstr, myconn); dataset myds = new dataset(); my
30、da.fill(myds); gridview1.datasource = myds; gridview1.datakeynames = new string "bianhao" ; gridview1.databind(); myda.dispose(); myds.dispose(); myconn.close(); protected void gridview1_rowediting(object sender, gridviewediteventargs e) gridview1.editindex = e.neweditindex; this.bind(); p
31、rotected void gridview1_rowupdating(object sender, gridviewupdateeventargs e) int bianhao = convert.toint32(gridview1.datakeyse.rowindex.value.tostring();string username = (textbox)(gridview1.rowse.rowindex.cells0.controls1).text.tostring();string userpwd = (textbox)(gridview1.rowse.rowindex.cells0.
32、controls2).text.tostring(); string realname = (textbox)(gridview1.rowse.rowindex.cells0.controls3).text.tostring(); string zhiwei = (textbox)(gridview1.rowse.rowindex.cells0.controls4).text.tostring(); string sex = (textbox)(gridview1.rowse.rowindex.cells0.controls6).text.tostring(); string level =
33、(textbox)(gridview1.rowse.rowindex.cells0.controls7).text.tostring(); string phone = (textbox)(gridview1.rowse.rowindex.cells0.controls8).text.tostring(); string addtime = (textbox)(gridview1.rowse.rowindex.cells0.controls9).text.tostring(); string xueli = (textbox)(gridview1.rowse.rowindex.cells0.c
34、ontrols10).text.tostring(); string sqlstr = "update user set username='" + username + "'userpwd='" + userpwd + "'realname='" + realname + "'zhiwei='" + zhiwei + "'sex='" + sex + "'level='" + level
35、 + "'phone='" + phone + "'addtime='" + addtime + "'xueli='" + xueli + "' where bianhao=" + bianhao; sqlconnection myconn = getconnection(); myconn.open(); sqlcommand mycmd = new sqlcommand(sqlstr, myconn); mycmd.executenonquery(); m
36、ycmd.dispose(); myconn.close(); gridview1.editindex = -1; this.bind(); protected void gridview1_rowcancelingedit(object sender, gridviewcancelediteventargs e) gridview1.editindex = -1; this.bind(); 由于添加,修改,删除的代码都大同小异,这里就不一一列出了,查询功能的代码见5.3 客户货单查询。5.2.4 客户货单查询该模块主要提供客户查询,主要代码如下: public sqlconnection g
37、etconnection() sqlconnection myconn = new sqlconnection("data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true"); return myconn; protected void bind() /存储过程个取出信息,并显示 sqlconnection myconn = getconnection(); myconn.open(); string sqlstr = "select * from g
38、aojian " sqldataadapter myda = new sqldataadapter(sqlstr, myconn); dataset myds = new dataset(); myda.fill(myds); gridview1.datasource = myds; gridview1.databind(); myda.dispose(); myds.dispose(); myconn.close(); protected void btnselect_click(object sender, eventargs e) if (this.txtname.text !
39、= "") sqlconnection myconn = getconnection(); myconn.open(); /查询数据表,并填充 string sqlstr = "select * from gaojian where cname=cname" sqlcommand mycmd = new sqlcommand(sqlstr, myconn); mycmd.parameters.add("cname", sqldbtype.varchar, 20).value = this.txtname.text.trim(); sq
40、ldataadapter myda = new sqldataadapter(mycmd); dataset myds = new dataset(); myda.fill(myds); if (myds.tables0.rows.count > 0) gridview1.datasource = myds; gridview1.databind(); else response.write("<script>alert('没有相关记录')</script>"); myda.dispose(); myds.dispose();
41、myconn.close(); else this.bind(); 5.2.5 密码修改功能实现public partial class admin_editpwd : system.web.ui.page protected void imagebutton2_click(object sender, imageclickeventargs e)/数据库连接 string strconstring = "data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true"
42、; /创建sql数据库连接对象 sqlconnection conn = new sqlconnection(); conn.connectionstring = strconstring; conn.open(); try /利用command 对象调用存储过程 sqlcommand selectedcmd = new sqlcommand("select from user where uid='" + session"uid".tostring() + "'and userpwd='" + oldpwd.
43、text.trim() + "'", conn); sqldatareader sdr = selectedcmd.executereader(); if (sdr.read() sqlcommand updatecmd = new sqlcommand("update user set userpwd='" + newpwd.text.trim() + "'where uid='" + session"uid".tostring() + "'", con
44、n); int i = updatecmd.executenonquery(); if (i = 1) response.write("<script language =javascript>alert('密码修改成功')</script>"); else response.write("<script language =javascript>alert('密码修改失败')</script>"); else response.write("<script
45、language =javascript>alert('原密码错误')</script>"); catch (system.exception ee) /提示信息 response.write("<script language =javascript>alert('" + ee.message.tostring() + "')</script>"); finally conn.close(); 5.2.6 生成送货单 该代码主要是用于生成送货单public partia
46、l class shdan : system.web.ui.page public void khxx() /加载单据日期、联系电话、送货单号、备注说明,送货地址 string sql = "select * from shoudan where cname='" + kh.text.tostring() + "' " string mystr = "data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true"
47、; sqlconnection con = new sqlconnection(mystr); con.open(); sqlcommand cmd = new sqlcommand(sql, con); sqldatareader sdr = cmd.executereader(); while (sdr.read() this.lx.text = sdr"name_phone".tostring(); this.danhao.text = sdr"sid".tostring(); this.dizhi.text = sdr"caddress
48、".tostring(); this.time.text = (datetime)sdr"time").toshortdatestring(); this.beizu.text = sdr"beizu".tostring(); sdr.close(); con.close(); protected void page_load(object sender, eventargs e) if (!ispostback) this.bind(); public sqlconnection getconnection() /建立数据库连接 sqlcon
49、nection myconn = new sqlconnection("data source=niugu;initial catalog=yewu;user id=sa;pwd=123456;integrated security=true"); return myconn; protected void bind() /存储过程个取出信息,并显示 sqlconnection myconn = getconnection(); myconn.open(); string sqlstr = "select * from gaojian " sqldataadapter myda = new sqldataadapter(sqlstr, myconn); dataset myds = new dataset(); myda.fill(myds); gridview1.datasource = myds; gridview1.databind(); myda.dispose(); myds.dispose(); myconn.close(); protected void button1_click(object sender, eventargs e) this.kh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高效节能消防泵房建设及维护服务合同范本3篇
- 专家讲座服务合同:2024年高端讲座邀请函一
- 二手房交易北京协议样式2024年版版
- 2025年度金融服务合同信贷风险管理3篇
- 二零二五年度房地产人才招聘经纪服务合同2篇
- 2025年中国女士内衣行业市场发展监测及投资策略研究报告
- 2024海上货物运输保险合同范本
- 2025年快速贷款协议2篇
- 2024股权操作指南:详尽转让与托管合同版B版
- 2025年房屋及土地使用权租赁协议2篇
- 2025年护理质量与安全管理工作计划
- (T8联考)2025届高三部分重点中学12月第一次联考评物理试卷(含答案详解)
- 工程施工扬尘防治教育培训
- 红薯采购合同模板
- 2023年河南省公务员录用考试《行测》真题及答案解析
- 2024年安徽省公务员录用考试《行测》真题及答案解析
- 山西省太原市重点中学2025届物理高一第一学期期末统考试题含解析
- 充电桩项目运营方案
- 2024年农民职业农业素质技能考试题库(附含答案)
- 高考对联题(对联知识、高考真题及答案、对应练习题)
- 新版《铁道概论》考试复习试题库(含答案)
评论
0/150
提交评论