版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB.NET程序设计实训教程第12章综合应用12.1系统概述12.2重点模块设计12.1数据库系统简介本系统有“系统管理员”、“进货管理员”、“销售管理员”、“仓库管理员”和“总经理”五个不同的用户,每个用户的权限不同,功能实现上有所不同。登录系统时首先要在用户登录界面选择用户身份,如图所示。系统采用SQLServer2005软件设计数据库。数据库中包含10个基本表,分别为:User表、Order表、Product表、Sale表、Store表、Supplier表、Type表和Warehouse表、getmoney表和paymoney表。当以“总经理”登录时,显示的登录界面如图所示,输入正确的密码,单击“确定”按钮即可进入系统主界面。系统中“总经理”具有全部权限,如果以“总经理”登录将显示全部功能菜单。在主界面中设计了6个功能菜单。1.用户登录子模块的设计用户登录是用户管理模块的子模块。用户管理模块主要完成用户的添加、删除、修改等操作。用户登录子模块按照登录系统的用户名和密码来完成登录系统主界面的任务。(1)界面设计:用户登录窗体如图12-1所示。使用组合框控件显示User表中的用户名,使用文本框控件接收输入的密码。(2)用户登录窗体中“确定”按钮单击事件的过程代码: IfUser.LoginConfirmThen '传递用户权限到主窗体 mdiMain.Privilege=User.Privilege.Trim() '传递用户姓名到主窗体 mdiMain.UserName=comboUserName.Text mdiMain.Show() Finalize()Else '如果用户验证失败,则将登录次数加一 Times=Times+112.2重点模块设计'如果用户输入错误的用户名和密码超过三次,提示错误并退出系统IfTimes>2ThenMsgBox("您输入用户名和密码错误已经超过三次,您无权登录此系统!", MsgBoxStyle.Exclamation,"用户登录")Close()ElseMsgBox("用户名或密码输入不正确,请重试",MsgBoxStyle.Exclamation,"用户登录") ExitSubEndIf2.权限管理功能的设计(1)设计思想:用户权限在登录窗体界面中通过语句mdiMain.Privilege=User.Privilege.Trim()传递到主窗体mdiMain.vb中。例如,权限为“系统管理员”,只能使用“用户管理”功能,增、删、改、查用户,而不能使用其他功能。所以要设计只有“用户管理”菜单可见,其余四个主菜单不可见。即设置不可见的菜单其Visible属性值为False,程序代码为:If_privilege="系统管理员"ThenOrderManageMenuItem.Visible=FalseStoreManageMenuItem.Visible=FalseSaleManageMenuItem.Visible=FalseInfoManageMenuItem.Visible=False说明:其中OrderManageMenuItem、StoreManageMenuItem、SaleManageMenuItem、InfoManageMenuItem分别为订货管理菜单、入库管理菜单、出库管理菜单和商品信息管理菜单。3.数据库连接模块的设计在系统中要访问数据库,就要创建数据库连接相关的类和对象。编程建立DBConfig命名空间,在DBConfig命名空间中建立如图所示的类。可以看到DBConfig命名空间中包含七个类。其中DBDataTable、DBCommand、DBDataReader和DBDataRelation都是继承自DBConnection类的子类。所有使用数据库连接的其他类在类文件的开头只需使用Imports语句引入DBConfig命名空间,就可以使用命名空间中的任意类,这样做既规范简化了编程,同时也有利于项目的维护。4.出库管理模块的设计以“出库管理模块”为例说明系统怎样实现增、删、改、查功能。出库管理模块实现了“添加出库单”、“修改出库单”、“删除和查询出库单”功能。添加出库单子模块设计'判断销售量是否小于库存IfInteger.Parse(txtCount.Text)>MaxCountThenMessageBox.Show("库存不足!","添加出库记录",MessageBoxButtons.OK,MessageBoxIcon.Error)ReturnEndIf'计算总价DimsumAsDouble=Double.Parse(txtPrice.Text)*Integer.Parse(txtCount.Text)DimcmdAsDBCommand=NewDBCommand(NewConnectionString().ConnectionInfo)'设置SQL语句向Sale表插入记录DimSQLStringAsString="InsertIntoSaleValues('"&txtSaleDate.Text&"','"&TxtSaler.Text&"',"&comboProductID.Text&",'"&txtProductName.Text&"',"&txtCount.Text&","&txtPrice.Text&","&sum.ToString()&")“'如果Insert方法返回值大于0表示插入记录成功,否则表示插入记录失败Ifcmd.Insert(strSQL)>0Then'生成出库单后向getmoney表中插入包含收款总金额的记录SQLString="InsertIntogetmoney(日期,金额,导购员)Values('"&txtSaleDate.Text&"',"&sum.ToString()&",'"&TxtSaler.Text&"')"cmd.Insert(SQLString)'得到该商品的剩余数量DimCountAsInteger=MaxCount-Integer.Parse(txtCount.Text)IfCount>0Then'如果商品销售后还有库存,修改Product表中“数量”和“售价”字段的值cmd.Update("Product","数量="&Count,"编号",comboProductID.Text)cmd.Update("Product","售价="&txtPrice.Text,"编号",comboProductID.Text)Else'如果商品全部售罄,则从Product表中删除该商品记录cmd.Delete("Product","编号",comboProductID.Text)EndIf MsgBox("添加出库信息成功!",MsgBoxStyle.OkOnly,"添加出库表")Else MsgBox("添加出库信息失败!",MsgBoxStyle.Critical,"添加出库表")EndIf(2)修改出库单子模块设计①代码设计:'修改出库单窗体中“读取”按钮单击事件的过程代码:PrivateSubRead_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesRead.ClickDataBinding.FillTextBox(TxtSaler,"sale","导购员",NewConnectionString().ConnectionInfo,"编号",txtSaleID.Text)DataBinding.FillTextBox(txtSaleDate,"sale","日期",NewConnectionString().ConnectionInfo,"编号", txtSaleID.Text)DataBinding.FillTextBox(txtProductID,"sale","商品编号",NewConnectionString().ConnectionInfo,"编号", txtSaleID.Text)DataBinding.FillTextBox(txtProductName,"sale","商品名称", NewConnectionString().ConnectionInfo,"编号",txtSaleID.Text)DataBinding.FillTextBox(txtCount,"sale","商品数量",NewConnectionString().ConnectionInfo,"编号",txtSaleID.Text)DataBinding.FillTextBox(txtPrice,"sale","商品售价", NewConnectionString().ConnectionInfo,"编号",txtSaleID.Text)'读取信息后,出库单编号不能再修改txtSaleID.ReadOnly=TrueEndSub'修改出库单窗体中“确定”按钮单击事件的过程代码:DimcmdAsDBCommand=NewDBCommand(NewConnectionString().ConnectionInfo)'计算总价DimsumAsDouble=Double.Parse(txtPrice.Text)*Integer.Parse(txtCount.Text)'设置更新的内容字符串DimstringCont="导购员='"&ComSaler.Text&"',商品数量="&Integer.Parse(txtCount.Text)&",总计="&sum.ToString()'执行更新命令Ifcmd.Update("sale",stringCont,"编号",txtSaleID.Text)>0ThenMsgBox("修改出货单成功!",MsgBoxStyle.OkOnly,"修改出货单")ElseMsgBox("修改出货单失败!",MsgBoxStyle.Critical,"修改出货单")EndIf(3)删除和查询出库单子模块设计‘“查询”按钮单击事件的过程代码:DimstringFieldAsStringDimstringValueAsString'根据单选按钮的选择状态得到查询字段,根据文本框中的输入值得到查询关键字IfRadioButton1.CheckedThenstringField="编号"stringValue=TextBox1.TextElsestringField="导购员"stringValue="'"&TextBox1.Text&"'"EndIfListView1.Items.Clear()'在ListView1中显示满足查询条件的所有记录DataBinding.FillListView(ListView1,"sale",8, NewConnectionString().ConnectionInfo,stringField,"=",stringValue)'“删除”按钮单击事件的过程代码:PrivateSubDelete_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesDelete.ClickDimcmdAsDBCommand=NewDBCommand(NewConnectionString().ConnectionInfo)'执行删除操作Ifcmd.Delete("sale","编号",ListView1.SelectedItems(0).Text)>0ThenMsgBox("删除出库单成功!",MsgBoxStyle.OkOnly,"删除出库单")ElseMsgBox("删除出库单失败!",MsgBoxStyle.Critical,"删除出库单")EndIf'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度影视作品主演演出合同(独家版)3篇
- 2025年建筑涂料研发与试用合同2篇
- 事业单位专任人员2024河南聘用协议模板版B版
- 个性化煤炭免税票销售协议模板版A版
- 中等教育的教育过程与教学设计考核试卷
- 2006年江西省中考满分作文《淡妆浓抹总相宜》
- 2006年江苏无锡中考满分作文《门其实开着》6
- 《第一单元 在线学习生活:1 在线社会悄然而至》说课稿-2024-2025学年苏科版信息技术三年级上册
- 互联网+环境监测与污染防控考核试卷
- 2025年人教A新版九年级生物下册月考试卷含答案
- 《那一刻我长大了》五年级语文下册作文12篇
- 南充化工码头管网施工方案(初稿)
- 2023年消防接警员岗位理论知识考试参考题库(浓缩500题)
- GB/T 30285-2013信息安全技术灾难恢复中心建设与运维管理规范
- 鲁滨逊漂流记阅读任务单
- 第一章 运营管理概论1
- 《创意绘画在小学美术教育中的应用(论文)6000字》
- 主体结构验收汇报材料T图文并茂
- 管理学原理(南大马工程)
- 过一个有意义的寒假课件
- 施工现场装配式集装箱活动板房验收表
评论
0/150
提交评论