企业管理软件设计开发部门维护系统设计文档_第1页
企业管理软件设计开发部门维护系统设计文档_第2页
企业管理软件设计开发部门维护系统设计文档_第3页
企业管理软件设计开发部门维护系统设计文档_第4页
企业管理软件设计开发部门维护系统设计文档_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、企业管理软件设计开发(部门维护系统)设计文档设计者:罗红亮时间:2009-5-6第1页共12页目录1 系统介绍 31.1 软件操作流程图 31.2 VB 下方法调用流程图 42 数据库操作部分 52.1 数据库连接 52.2 VB下对数据库操作语句(提取、插入、删除等) 53 部门数据编辑操作部分 63.1 在选中部门下添加部门信息 63.2 修改选中部门信息 73.3 删除选中部门信息 84 部门信息保存操作部分 105 关于该系统 115.1 系统所存在的不足 116 设计总结 12第 2 页 共 12 页1 刖言1.1软件操作流程图交件漏辑互看留口帮助第5页共12页蛆织机构0100E Q

2、1OE oioe E2E0E oeaiE ocoeE 0203E (RME oeasE (BAG0300E 0301E 0302匏门编号部门名称02000的102020203020402050206部部部.部部部场划施发术试市规实开技测备注上级部门上级部门编号织舟舟舟舟舟o o O o o O O 2 2 o o O020 0 0o o O2 2 2 o o O图1.1软件图形界面编辑/删除选中部门信息图1.2软件操作流程图1.2 VB下方法调用流程视图图1.3方法调用流程图2 数据库操作部分2.1 数据库连接在软件打开时界面所有控件内容为空,通过 “文件 /连接数据库”从数据库下载数据到Tr

3、eeView控件和MSFlexGrid控件,从而有如图1.1所示的效果。 连接数据库通过如下配置实现:Public conn As Variant'定义数据库连接字符Public rs As Variant'定义创建Recordset 对象Set conn = New ADODB.ConnectionSet rs = New ADODB.RecordsetSet rs1 = New ADODB.Recordsetconn.ConnectionString = "Driver=sqlserver;server=USER-EF373E3BAF;uid=sa;pwd=123

4、456;database=BMDB"conn.ConnectionTimeout = 30conn.Open在连接数据库前首先要在VB菜单中“工程/引用”从中选择microsoftactiveX Data objects 2.6 library 和 microsoft activeX Data objects recordset2.8 library 两个组件,这是在连接数据前所必做的工作。目的要为接下来定义ADO的连接对象做好准备。2.2 VB 下对数据库操作语句(提取、插入、删除等)提取语句:rs.Open "select * from BMDM", conn

5、, adOpenStatic, adLockReadOnly, adCmdText插入语句:sql = "insert into BMDM( 表元素 ) values (待插入值)conn.Execute (sql)'执行上面的sql 语句删除语句:sql = "delete from BMDM where 条件表达式"conn.Execute (sql)第 13 页 共 12 页3 部门数据编辑操作部分3.1 在选中部门下添加部门信息部分程序如下:判断部门编号在组织机构中是否有同编号处理代码:rs.Open "select * from BMD

6、M", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFIf txt5 = "0000" ThenBMID_Flag = TrueEnd IfIf txt5 = rs("BMID") ThenBMID_Flag = TrueEnd Ifrs.MoveNextWendrs.Close判断部门名称在同级下是否同名处理代码:rs.Open "select BMMC from BMDM where SJBMID='" & BMWH.TV_Sel

7、ect & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFIf txt6 = rs("BMMC") ThenBMMC_Flag = TrueEnd Ifrs.MoveNextWendrs.Close做插入处理部分代码:If BMID_Flag = True ThenMsgBox " 部门编号在组织机构中有同编号的同名冲突,请重设!", vbOKOnly, " 冲突提示"txt(5).Text = "&qu

8、ot;txt(5).SetFocusBMID_Flag = FalseElseIf BMMC_Flag = True ThenMsgBox " 部门名称与同级目录下部门名称有同名冲突,请重设!", vbOKOnly, " 冲突提示"txt(6).Text = ""txt(6).SetFocusBMMC_Flag = FalseElseIf txt5 = "" ThenMsgBox " 部门编号不能为空,请设置!", vbOKOnly, " 非空提示"txt(5).SetFoc

9、usElseIf txt6 = "" ThenMsgBox " 部门名称不能为空,请设置!", vbOKOnly, " 非空提示"txt(6).SetFocusElsesql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & txt5 & "' , '" & txt6& "','" & txt7 & "'

10、,'" & txt8 & "','" & txt9 & "')"conn.Execute (sql)txt(5).Text = ""txt(6).Text = ""txt(7).Text = ""MsgBox " 部门已经成功添加!", vbOKOnly, "OK"BMWH.Form_LoadUnload MeEnd IfEnd IfEnd IfEnd If先判断整个组织机构中是否有

11、同编号,如果有则将存在同编号标志BMID_Flag置为True,然后再判断同级下是否有同部门名称,如果有则将同部门名称标志置 BMMC_Flag置为True。接下来就根据标志位的取值做部门的插入操作。3.2 修改选中部门信息做修改处理部分代码:If BMID_Flag = True ThenMsgBox " 部门编号在组织机构中有同编号的同名冲突,请重设!", vbOKOnly, " 冲突提示"Txt(5).Text = txt5Txt(5).SetFocusBMID_Flag = FalseElseIf BMMC_Flag = True ThenMsg

12、Box " 部门名称与同级目录下部门名称有同名冲突,请重设!", vbOKOnly, " 冲突提示"Txt(6).Text = txt6Txt(6).SetFocusBMMC_Flag = FalseElseIf txt5 = "" ThenMsgBox " 部门编号不能为空,请设置!", vbOKOnly, " 非空提示"Txt(5).SetFocusElseIf txt6 = "" ThenMsgBox " 部门名称不能为空,请设置!", vbOKOn

13、ly, " 非空提示"Txt(6).SetFocusElse'sql = "update BMDM set BMID='" & txt5 & "',BMMC='" & txt6 & "',BZ='" & txt7 &"' where BMID='" & txt5 & "'"rs.Open "select * from BMDM wh

14、ere SJBMID='" & Txt(0).Text & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOF'将其子部门的SJBMID 对应的修改成修改项txt0 = rs("BMID")txt1 = rs("BMMC")txt2 = rs("BZ")txt3 = rs("SJBM")txt4 = txt5sql = "delete from BMDM

15、where BMID='" & txt0 & "'"conn.Execute (sql)sql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & txt0 & "' , '" & txt1 & "','" & txt2 & "','" & txt3 & "&#

16、39;,'" & txt4 & "')"conn.Execute (sql)rs.MoveNextWendrs.Closesql = "delete from BMDM where BMID='" & Txt(0).Text & "'"conn.Execute (sql)sql = "insert into BMDM(BMID,BMMC,BZ,SJBM,SJBMID) values ('" & Txt(5).Text&

17、 "' , '" & Txt(6).Text & "','" & Txt(7).Text & "','" & Txt(8).Text & "','" & Txt(9).Text & "')"conn.Execute (sql)BMWH.Form_LoadMsgBox " 部门已经成功修改!", vbOKOnly, "OK"

18、Unload MeEnd IfEnd IfEnd IfEnd If在做修改操作之前也和插入操作一样要做组织机构是否有同编号判断和同级下是否有同部门名称判断,然后再依据判断得到的标志位进行修改操作。3.3 删除选中部门信息做删除处理部分代码:将确定待删除的数据以数组的形式存储下来:rs.Open "select BMID from BMDM where SJBMID='" & txt1 & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFI

19、= I + 1ReDim Preserve DelSQL(I)DelSQL(I - 1) = rs("BMID")rs.MoveNextWendrs.Close n = II = 1'从第二个数据开始遍历While I < nrs.Open "select BMID from BMDM where SJBMID='" & DelSQL(I) & "'", conn, adOpenStatic, adLockReadOnly, adCmdTextWhile Not rs.EOFn = n +

20、 1ReDim Preserve DelSQL(n)'数据再次加载DelSQL(n - 1) = rs("BMID")rs.MoveNextWendrs.CloseI = I + 1Wend做删除处理部分代码:While I < nsql = "delete from BMDM where BMID='" & DelSQL(I) & "'"'逐个删除记录conn.Execute (sql)I = I + 1Wend其实在做这一块的时候最重要的是要加载选中部门的下级部门信息,然后再做

21、级联删除,完成这一块所用到的一个处理方法是通过数组多次加载来实现。具体做法是先将数组的第一个数据保存为当前获取的部门编号信息,然后通过遍历数组中的部门编号信息从数据库中查找到上级部门编号与当前遍历到的数组中编号相匹配的部门信息,然后扩大数组空间,将查找到的匹配的部门编号信息再加载到数组中,直到数据库遍历结束,这样所有待删除的信息也就全部加载到数组中了,然后要做的工作就是逐个删除与数组中编号相同的数据库信息了。4 部门信息保存操作部分做保存处理部分代码:rs.Open "select * from BMDM", conn, adOpenStatic, adLockReadOn

22、ly, adCmdTextCommD.CancelError = TrueOn Error GoTo ErrHandle ' "取消"异常处理CommD.FileName = "BMWH"CommD.DefaultExt = "BMWH"CommD.Filter = "(*.doc)|*.doc"CommD.InitDir = "C:Documents and SettingsAll UsersDocuments"CommD.Action = 2Open CommD.FileName For Output As #1While Not rs.EOFPrint #1, " 部门编号:", rs("BMID")Print #1, " 部门名称:", rs("BMMC")Print #1, " 备注:", rs("BZ")Print #1, "上级部门名称:"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论