信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发

上传人:仙*** 文档编号:35980132 上传时间:2021-10-29 格式:DOC 页数:44 大小:913.50KB
收藏 版权申诉 举报 下载
信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发_第1页
第1页 / 共44页
信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发_第2页
第2页 / 共44页
信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发_第3页
第3页 / 共44页
资源描述:

《信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发》由会员分享,可在线阅读,更多相关《信息管理专业毕业论文基于.NET的家庭成员管理系统的设计与开发(44页珍藏版)》请在装配图网上搜索。

1、I基于.NET 的家庭成员管理系统的设计与开发摘 要长期以来,中国人记录家庭、家族事项的方法不外乎两种:一种是日记,一种是家谱。前者太琐碎,现代人都很忙,工作多压力大,时间似乎永远不够用;后者工程浩大,非倾一人一家之力便可轻易完成。对于家谱来说,专门整理自己家庭的经历与事迹,除非声名显赫,谁也不可能单独为一个人或者一个家庭留下片言只语。详细地记载自己的家,记载家中每一个成员生命中的重要事项,是每一个中国人的梦想。利用计算机技术把家庭成员按辈分排序构成了一个树的模型,每个树中的成员可以找到与其他相关树中的同一个人联接起来,共同构成一个巨大的数字家谱。人们可以通过软件去寻求自己家庭和家族的起源和历

2、程、查阅家庭成员的信息,这已成为当今社会的一种趋势。如何构建一个功能较为全面的、低成本、高效益、可扩展的家庭成员管理系统成为当前需要研究的问题。论文对整个系统的分析、设计和实现做了详细的描述。本系统基于 C/S 结构模式,客户端采用 visual studio 2008 作为开发工具,后台数据库管理系统采用 SQL Server 2005。由于本系统的数据不是通常的线性结构,因此数据处理具有较大难度,很多处理都需要自己设计算法来实现。系统实现了家谱视图、留言板、相册管理、用户管理和系统用户管理等功能模块。系统操作简便、界面友好、灵活、实用。该系统稍加完善就可以投入家庭进行使用,随着功能的逐步完

3、善,系统的推广很有应用前景。关键词: 家谱;家庭成员管理;.NET;C/S 管理模式;VS 2008IIDevelopment and Design of Family Tree Information Management System Based on .Net TechnologyABSTRACTFor a long time, Chinese records of the family, family means no more than two issues: one is the diary; the other is the family tree. Former is too

4、trivial, modern people are busy, work and more pressure, it seems, never enough time; the latter is a huge project, not the power of one person one can easily finish it。For the family tree is dedicated to organize their own family experiences and stories, unless prominent, who can not separate a per

5、son or a family to leave a word. Recorded in detail his home, records every member of the family of important issues in life, is the dream of every Chinese.Family members use computer technology to sort by seniority in the family constitutes a tree model, each tree can be found with other relevant m

6、embers of the tree linking the same individuals, together constitute a large number of genealogy. People can go to seek their own software and family of origin and family history, family members access to information, which has become a trend in todays society. How to build a more comprehensive func

7、tional, cost-effective, scalable management system have become the family members need to study the issue.The system is based on C / S structure mode, the client using visual studio 2008 as a development tool, background database management system using SQL Server 2005. Since the systems data instea

8、d of the usual linear structure, the data have greater difficulty dealing with many processing algorithms are required to implement their own design. System to achieve the family tree view, message board, photo album management, user management and system user management module. System simple, user

9、friendly, flexible and practical. The system can put a little perfect family to use, with the gradual improvement of function, the promotion of the system very promising.Key words:Family Tree;Family members management;.NET;C/S model;VS2008III目目 录录1 前 言.1 系统分析.22.1 需求分析.22.1.1 系统现状.22.1.2 用户需求.22.1.3

10、 用户功能需求.22.2 可行性研究 .32.2.1 经济层面.32.2.2 技术层面.42.2.3 社会层面.42.3 开发目标.42.4 系统功能分析.52.5 数据流程图分析.62.6 目标分析.72.7 初始数据表分析(E-R 图) .73 系统设计.83.1 系统设计目标 .83.2 系统设计原则 .83.3 开发平台的选择 .83.4 数据库结构设计.93.4.1 数据库逻辑结构设计.93.5 系统总体设计.113.6 详细设计.123.6.1 代码设计 .123.6.2 系统界面设计 .123.6.3 菜单导航设计.124 系统实施.144.1 数据库的生成与连接.144.1.1

11、 数据库的生成 .144.1.2 数据库的连接.145.1 家谱管理系统登录界面及其代码.165.2 系统主界面及其代码.175.3 家谱视图中树视图界面及其代码 .205.4 家谱视图中数据视图界面.295.5 留言板界面 .29IV5.6 用户管理中添加用户界面.305.7 用户管理中查询与修改界面 .305.8 系统用户管理界面 .315.9 相册管理界面 .326 系统总结.336.1 系统特点 .336.1.1 系统的先进性 .336.1.2 系统具有较高的稳定性 .336.1.3 系统的安全性较好,技术成熟可靠 .336.2 系统待解决技术问题.347 心得与体会.35参考文献.3

12、7谢 辞.38XX 学院 2011 届本科生毕业设计 11 前 言家谱又称族谱、家乘、祖谱等。一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书体裁。家谱以记载父系家族世系、人物为中心,是由记载古代帝王诸侯世系、事迹而逐渐演变来的。家谱是一种特殊的文献,就其内容而言,是中国五千年文明史中最具有平民特色的文献,记载的是同宗共祖血缘集团世系人物和事迹等方面情况的历史图籍。家谱是中国特有的文化遗产,是中华民族的三大文献(国史,地志,族谱)之一,属珍贵的人文资料,对于历史学、民俗学、人口学、社会学和经济学的深入研究,均有其不可替代的独特功能。家谱的形式有多种。在文字家谱出现

13、之前就有口授家谱和结绳家谱。后来,人们有的用图表裱制垂挂于中堂的,也有的装订成册供家人翻阅的。历史上,官宦人家一般都是采用装订成册的家谱。而平民百姓、经商士绅、豪门则多为悬挂供后人供奉的图表式家谱。XX 学院 2011 届本科生毕业设计 2 系统分析2.1 需求分析2.1.1 系统现状长期以来,中国人记录家庭、家族事项的方法不外乎两种:一种是日记,一种是家谱。前者太琐碎,现代人都很忙,工作多压力大,时间似乎永远不够用;后者工程浩大,非倾一人一家之力便可轻易完成。并且,对于“家谱”来说,专门整理自己家庭的经历与事迹,除非声名显赫,也不可能单独为一个人或者一个家庭留下片言只语。详细地记载自己的家,

14、记载家中每一个成员生命中的重要事项,是每一个中国人的终极梦想。2.1.2 用户需求利用计算机软件,把家庭成员按辈分排序构成了一个树的模型,每个树中的成员可以找到与其他相关树中的同一个人联接起来,共同构成一个巨大的数字家谱。 寻求自己家庭和家族的起源和历程,同时家庭成员的信息可以随时查阅。2.1.3 用户功能需求(1)实现家庭成员的信息录入与修改,成员的个人信息中均应包含以下内容:代数,照片姓名、性别、出生日期、婚否、联系方式、联系地址、个人信息,父亲、子女。(2) 以文件树的方式显示家谱。(3) 显示第 n 代所有人的信息。(4) 按照姓名查询,输出成员信息(包括其本人、父亲、孩子的信息)。(

15、5) 按照出生日期查询成员名单。(6) 输入两人姓名,确定他们之间的联系以及辈分。(7) 添加一个新成员。(8)按出生日期对家谱中所有人排序。(9)打开一家谱时,提示当天生日的健在成员。XX 学院 2011 届本科生毕业设计 3(10)删除一个成员。(11)查询在世的成员,查询死亡的成员2.2 可行性研究家谱工作其中最重要,也是最基础的一项工作就是“记录”的过程。由它而组成了家谱概念的全部。这当然是传统而来的概念,在当今它依然十分重要,但不一定是唯一。 传统的家谱记录方法很多,如大家知道的已有“结绳家谱” 、 “口述家谱” 、 “甲骨家谱” 、 “青铜家谱” 、 “石碑家谱” 、 “书本家谱”

16、等。其记载的体例亦有多种如史、图、表、志、传等,兼容并蓄。我们的祖先是一直这样走下来的,其功劳不可磨灭。但是,到了今天的现实里再看,其弊端还是显而易见的。比如因战乱丢失,比如虫蛀、水淹、风蚀、火烧等,包括人为的损毁,尤其可恶的是人为的篡改。因此,记录与保存家谱的事业面临着的不单只是记录,而是面临着如何记录的问题。这里包括了采集的源头在何处,包括了记录的准确,亦包括了记录所用载体、文字、图形以及资料的保护、更新、检索手段等等。其任务量之大,实属惊人!家谱管理的发展已经达到一定程度,但是相关的基于 C/S 模式的管理系统软件尚未达到与之适应的程度,同时,在开发过程中,为了尽量给用户以方便,考虑到用

17、户需求的实际情况,建立较为简单易明的管理系统。开发此系统无论在经济上、开发实现上,还是在技术上都是可行的。2.2.1 经济层面(1)必要性。采用家谱管理系统,可以对家族中成员的信息进行及时、有效的存储和处理,使原本难以分析、归纳和比较的家谱能够进行相应的统计,节约人力资源、时间和金钱。(2)有效性。以低成本开发出来的管理信息系统将整个家谱管理流程数据进行系统的整合管理,从而能够有效地提高家谱管理中的信息沟通效率,节省大量的人力、时间和金钱。(3)可行性。本系统的开发成本少,时间短,无需投入太多的人力、物力和财力,完全能够以最短的时间、最少的人力和最低的成本开发出满足当前需求的管理系统。XX 学

18、院 2011 届本科生毕业设计 42.2.2 技术层面该系统使用和维护比较简单,不用过多培训。只需一台计算机作为实施该管理信息系统的硬件。本人开发的基于 C/S 模式的家谱管理信息系统,有良好的兼容性和易于在该操作系统实现,针对该家谱管理流程相对简单和清晰明了的特点,完全可以开发出与家谱管理相适应的管理信息系统。2.2.3 社会层面对于年青人来说:使用这个系统,其纪念意义与珍贵程度是其他金钱、物质所不能相提并论的。在家谱管理系统中,祖先和父母的经历,就是每一个家庭最大的成就和财富;子女的成长,就是家的中心和最重要的内容,子女的成功与挫折、遭遇和经历,就是家族树中最动人的篇章。对于父母来说:其丰

19、富多彩的人生际遇,更是说不尽道不完。从儿时的床前故事,到少年时的围炉夜话,多少个动人的前尘往事让他们神往!回忆往事,更是父母经典的节目缺了这些精华,人生就未免有了缺憾。 家谱管理系统让父母的回忆更完整,让他们的人生给我们更多启示。更重要的是它能让我们每个人都有一种途径和工具去了解自己从哪里来,又要往那里去?自己为什么要奋斗?又怎样奋斗?以及,如何更好地将父母辈历经千辛万苦传承下来的,那些浩如烟海的美德、情操、智慧以及一往无前的勇气和力量,一如既往地发扬下去,继而完整地传递给我们的后代?从以上可行性分析可知,该系统开发具备技术上、经济上和社会上的可行性。2.3 开发目标根据现状分析,用户需求分析

20、和可行性分析,设置本系统的开发目标,其目标如下:(1)建立一套功能完整、高效、安全、稳定的家谱管理信息系统。(2)系统能够对家谱信息进行快速、直观地反映。(3)实现对个人信息、图片信息、留言信息、系统用户等信息的方便迅速录入、查询及管理,了解家谱管理中的相关信息。XX 学院 2011 届本科生毕业设计 5(4)界面简洁、操作方便、简单易学,使用者不需要有太多的专业知识。2.4 系统功能分析家谱管理信息系统的主要功能有家谱视图、留言板管理、相册管理、用户管理、系统用户管理和重新登录等。每个功能模块都和用户直接有关,其采用家谱管理信息系统的目的是提高家谱管理的质量,提高信息管理的精度,进而使用户能

21、简洁明了的了解自己的家族信息。各子功能分析如下。家谱视图分两部分:树视图和数据视图。树视图的功能需求包括按家族查询该家族的家族树视图,同时在右侧操作框处显示详细的个人信息。查看个人信息可分小头像(含详细信息)和大头像(不含详细信息)树视图还包括显示某一代人的信息,以及按出生日期查询功能。数据视图的功能需求包括按成员姓名搜索同时可以进行显示家族信息的后续操作。还须包括按出生日期搜索、按是否在世搜索以及按年龄搜索。留言板管理:主要的目的是允许用户在留言板上留言。功能需求包括:留言,查看留言,评论,按家族搜索留言,按留言者搜索留言以及显示全部留言。管理员权限应包括修改留言信息和删除留言。相册管理功能

22、需求:主要目的是允许用户上传图像、备注图像信息、删除图像以及按家族查找图像。上传图像:用于上传图像。备注图像信息:允许用户备注该图像信息,即使不是用户本人上传的。删除图像:用于删除图像。按家族查询:用于图片上传信息查询。(4)用户功能需求:主要目的是用于添加和修改用户个人信息。功能需求包括:添加用户个人信息。修改用户个人信息。添加用户个人信息:用于添加详尽的个人信息,其中用户编号为系统设定,用户姓名、父亲姓名和是否在世为必填项,其他选填。查找和修改用户信息:用于查找和修改用户个人信息,姓名和是否在世为必填项。(5)系统用户管理功能需求:用于管理该系统的所有用户。功能需求包括:添加用户,修改密码

23、,修改用户信息,修改权限。XX 学院 2011 届本科生毕业设计 6添加用户:用于添加使用本系统的用户。修改密码:用于供更改用户的密码。修改用户信息:用于修改所有用户信息。修改权限:修改用户的管理权限。2.5 数据流程图分析数据流程图从总体上描述系统的逻辑功能、系统内各部分的信息联系及与系统外各有关事物的联系,反映系统中信息运动的规律,是系统逻辑模型的主要描述形式。家谱管理系统的数据流程如图 2-1 所示。管理员整理家族信息整理成员信息家族成员表留言普通用户添加成员信息审批审批信息普通用户评论留言表评论表上传图像图 2-1 数据流程图XX 学院 2011 届本科生毕业设计 72.6 目标分析在

24、家谱管理系统中,成员表、留言板表、评论表和照片表系统用户表等资料都可以成为数据项。各资料的数据项列举如下:成员表:用户编号、家族、姓名、年龄、生月、生日、性别、家内排行、配偶、代成员表:用户编号、家族、姓名、年龄、生月、生日、性别、家内排行、配偶、代数、父亲编号、是否在世、头像、头像地址、密码、权限、出生日期、所数、父亲编号、是否在世、头像、头像地址、密码、权限、出生日期、所在地。在地。留言板表:留言编号、用户编号、姓名、家族、留言名称、留言内容、留言时间。留言板表:留言编号、用户编号、姓名、家族、留言名称、留言内容、留言时间。评论表:评论编号、评论内容、用户编号、姓名、留言编号、评论时间、家

25、族。评论表:评论编号、评论内容、用户编号、姓名、留言编号、评论时间、家族。照片表:照片编号、照片名称、照片、家族、备注。照片表:照片编号、照片名称、照片、家族、备注。家族表:家族。家族表:家族。2.7 初始数据表分析(E-R 图)根据以上的关系,分析得出的 ER 图,如图 2-2 所示。图 2-2 查询 E-R 图管理员成员查询管理普通用户查询家内排行配偶代数父亲编号用户编号家族年龄姓名性别是否在世密码权限XX 学院 2011 届本科生毕业设计 8XX 学院 2011 届本科生毕业设计 93 系统设计3.1 系统设计目标(1)利用先进的计算机和信息技术,建立起适应社会环境的,灵活有效的家谱管理

26、信息系统,实现快捷方便的家谱整理与修改,提高管理者的效率和热情。(2)建立基于 C/S 模式的信息管理系统,以数据库为核心,实现所需的各种操作。3.2 系统设计原则综合信息技术的现状和发展趋势,家谱管理系统的建设确定了立足于先进成熟的主流技术(构件技术)和主流产品(C/S 模式),在技术开放和高度集成的基础上,进行高层次的应用开发,同时系统的建设做到“统一领导,统一规划,统一建设,统一管理”,并确保系统实用且优化,易使用,易维护,易扩展,且高度安全可靠的设计原则。系统把管理员和普通用户浏览信的息分开,而又统一于同一数据库,便于管理员维护数据,也便于用户浏览.用户权限的控制又增加了系统的安全性和

27、放篡改性。13.3 开发平台的选择完成了前面的系统分析与设计后,进入了后期的系统实施阶段,考虑到系统运行的稳定性与功能实现的可能性,本家谱管理系统是基于.NET 的开发平台下开发出来的 C/S架构的模式,技术上具有前瞻性,VB.NET 有以下特点。1.真正成为面向对象以及支持继承性的语言。2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持 XML 数据。3.直接建立在.NET 的框架结构上,因此开发人员可以充分利用所有.NET 平台特性,也可以与其他的.NET 语言交互。4.为 Windows 应用程序提供了 XCOPY 部署,开发者

28、不再需要为 DLL 的版本问题担忧。5.可以说.Net 的学习资源非常重要,可能.Net 的方面的书要比其它所有编程技术的XX 学院 2011 届本科生毕业设计 10书都多。此外,微软和第三方团队开设了很多课程,可以让开发人员很快就上手。很多网站都为开发人员学习.Net 提供了技术和指导。6.VB.Net 和 C#都是现代化的语言。它们完全是面向对象的,设计的时候消除了很多VB 和 C+的矛盾。这两种语言使用了多层式架构 (n-tier) ,这是一种基于组件的方法。比如,C#取消了指针和其它一些结构,它们曾经给 C+程序员(特别是新手)带来很多严重的问题。代码由.Net 架构管理后,VB.Ne

29、t 和 C#都从中受益。这个架构还包括一些基础的对象,它们是开发多线程、支持 XML 等应用所必须的。7.跨语言标准基本类型:VB 开发人员曾经面临一个致命的问题:VB 中的字符型与C+中的字符型不同,所以调用 Windows API 函数的时候会出现一些问题。.Net 确定了所有类型的标准定义,所以 VB 中的字符型和 C#中的字符型相同,也和 net COBOL .Net 中的字符型相同。这意味着你再也不必担心语言 A 中的整型数据是 32 位而语言 B 中只有 16位。你可以确信不同语言的数据类型都相同,可以更好地进行跨语言集成。同时 VB.net 具有以下优点。1.代码托管。被托管的代

30、码享受.net framework 提供的安全保障和垃圾回收机制,但是这也同时表明,你的程序被框在 Framework 里面了。API 变得不太方便。2.强大的面向对象特性。现在 VB7(也就是 )已经是一个完全的面向对象程序。 现在 VB7 已经支持类的各种特性:继承,函数的覆盖,重载,虚拟,隐藏等等。3.功能强大,程序界面更标准。4.程序代码结构化更强,开发环境舒适体贴。23.4 数据库结构设计 数据库技术是信息资源管理最有效的手段,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求.数据库结构设计的好坏将直接对应用

31、系统的效率及实现的效果产生影响.合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。设计数据库系统时应该首先充分了解用户各方面的需求,包括现有的及将来可以增加的需求.数据库设计一般包括数据库概念结构设计和数据库逻辑结构设计。XX 学院 2011 届本科生毕业设计 113.4.1 数据库逻辑结构设计数据库的逻辑结构设计是基于概念设计,根据以上分析得到以下关系表。(1) 成员表设计成员表设计如表 1-1 所示。表 1-1 成员表编号字段名主码外码类型长度索引字段完整性1用户编号TNvarchar50非空2家族Nvarchar50允许空3姓名Nvarchar30允许空4年龄Int允

32、许空5生月Nvarchar10允许空6生日Nvarchar10允许空7性别Char2允许空8家内排行Int4允许空9配偶Nvarchar30允许空10代数Int4允许空11父亲编号Nvarchar30允许空12是否在世Nvarchar10允许空13头像Image允许空14头像地址Nvarchar20允许空15密码Nvarchar20允许空16权限Nvarchar10允许空17出生日期Datetime允许空18所在地Nvarchar30允许空(2)留言板设计留言板设计如表 1-2 所示。表 1-2 留言板表编号字段名主码外码类型长度索引字段完整性1留言编号TInt10非空2用户编号Nvarcha

33、r20允许空3家族Char30允许空4留言名称Char50允许空5留言内容Char100允许空6留言时间Char10允许空(2) 评论表设计XX 学院 2011 届本科生毕业设计 12评论表设计如表 1-3 所示。XX 学院 2011 届本科生毕业设计 13表 1-3 评论表编号字段名主码外码类型长度索引字段完整性1评论编号TInt10非空2评论内容Char50允许空3用户编号Char10允许空4姓名Char30允许空5留言编号Int4允许空6评论时间Char10允许空7家族Char30允许空(3) 照片表设计照片表设计如表 1-4 所示。表 1-4 照片表编号字段名主码外码类型长度索引字段完

34、整性1照片编号TInt10主非空2照片名称Char30允许空3照片Image允许空4家族Char30允许空5备注Char100允许空(4) 家族表设计家族表如表 1-5 所示表 1-5 家族表编号字段名主码外码类型长度索引字段完整性1家族TChar30主非空3.5 系统总体设计根据前面的用户需求和系统的详细分析,得出家谱管理系统功能结构图如图 3-1。XX 学院 2011 届本科生毕业设计 14家谱管理系统相册管理用户管理留言板家谱视图系统用户管理树视图数据视图增加用户信息查询与修改用户信息图 3-1 系统功能结构图3.6 详细设计3.6.1 代码设计设计原则:a.唯一确定性:每一个代码都只代

35、表唯一的实体或属性。b.标准化与通用性。c.简单性:代码简单明了,短小精悍。d.稳定性和可扩充性e.容易修改f.满足系统要求,便于记忆和使用3.6.2 系统界面设计人机界面设计是使用者与软件系统的交互接口,目前已成为评价软件质量的一条重要指标,友好的用户界面往往可以提高用户使用系统的热情,并刺激他们的积极性,因此,在有条件上的情况下,可以考虑尽量采用图形界面,以人性化的角度出发进行设计。除了方便用户的日常使用外,也必须考虑系统运行的安全,本系统的开发是基于.net 2005 平台,既能让刚入门的初学者容易开发出友好的界面外,系统的安全性也高。XX 学院 2011 届本科生毕业设计 153.6.

36、3 菜单导航设计设计直观,良好的菜单导航界面可以让使用者,操作起来得心应手,既方便日常工作的开展,也让使用者心情开朗,在细节方面把工作做得更好。系统主页面如图 3-2 所示。图 3-2 系统主页面图XX 学院 2011 届本科生毕业设计 164 系统实施4.1 数据库的生成与连接4.1.1 数据库的生成经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQL Server 2005 数据库中创建数据库了,新建一个家谱管理系统.mdf 的数据库文件,并添加相关的数据表,以便下一步的系统开发连接数据库。4.1.2 数据库的连接数据库生成后,要与系统建立动态的链接。为了方便起见

37、和后期的维护,在系统开发前把数据库接口语句写在了 app.config 配置文件里面,凡是涉及数据库操作的只需调用此配置文件即可以,这样一来可以提高代码的重用性和执行的效率,其配置文件操作的代码如下。3 !- XX 学院 2011 届本科生毕业设计 17 !- - XX 学院 2011 届本科生毕业设计 185 5系统实现系统实现为了更好地了解本家谱管理系统,以下内容是关于家谱管理系统开发完成后的系统部分截图以及其中按钮实现功能的代码。5.1 家谱管理系统登录界面及其代码图 5-1 所表示的是系统登录界面。图 5-1 系统登录“确定”按扭代码。Private Sub 确定_Click(ByVa

38、l sender As System.Object, ByVal e As System.EventArgs) Handles 确定.Click Dim MySQLConnectionString As String = My.Settings.家谱管理系统ConnectionString str = MySQLConnectionString Try 登录.Selin(str, select 用户编号,密码,权限,家族,姓名 from 成员 where 姓名= & TextBox1.Text & and 密码= & TextBox2.Text & and 权限= & ComboBox1.Te

39、xt & ) Dim dr As SqlClient.SqlDataReader dr = 登录.Selcomd.ExecuteReader If dr.Read And Not IsDBNull(0) Then 家族 = dr.GetValue(3).ToString 姓名 = dr.GetValue(4).ToString 用户编号 = dr.GetValue(0).ToStringXX 学院 2011 届本科生毕业设计 19 If ComboBox1.Text = 普通用户 Then 主界面.FileMenu.Visible = False 主界面.HelpMenu.Visible =

40、False 主界面.Show() ElseIf ComboBox1.Text = 管理员 Then 主界面.Show() End If Me.Hide() Else TextBox1.Text = TextBox2.Text = ComboBox1.SelectedIndex = 0 TextBox1.Focus() MsgBox(信息有误,请检查后在登陆!) End If Catch ex As Exception MessageBox.Show(ex.Message) End TryEnd Sub5.2 系统主界面及其代码系统主界面如图 5-2 所示。XX 学院 2011 届本科生毕业设计

41、 20图 5-2 主界面Public Class 主界面 Dim 主 As New SQL_4._21.SQL Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click 相册管理.show() End Sub Private Sub 添加用户ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.Event

42、Args) Handles 添加用户ToolStripMenuItem.Click 添加用户.Show() End Sub Private Sub 修改用户数据ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As XX 学院 2011 届本科生毕业设计 21System.EventArgs) Handles 修改用户数据ToolStripMenuItem.Click 查找与修改用户.Show() End Sub Private Sub 主界面_FormClosing(ByVal sender As Object, B

43、yVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing End End Sub Private Sub 主界面_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 主.Selin(家谱管理系统.str, select 姓名 from 成员 where 生月= & Date.Now.Month & and 生日= & Date.Now.Day & and 是否在世=是 and 家族=

44、& 家谱管理系统.家族 & ) Dim dr As SqlClient.SqlDataReader dr = 主.Selcomd.ExecuteReader Dim name As String name = While (dr.Read) name = name + ; + dr.GetValue(0).ToString End While 主.Selconn.Dispose() 主.Selconn.Close() If name Then MsgBox(今天生日的家族成员有: + name) End If End Sub Private Sub ToolBarToolStripMenuIt

45、em_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolBarToolStripMenuItem.Click 树视图.Show() End Sub Private Sub StatusBarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusBarToolStripMenuItem.Click 数据视图.Show() End SubXX 学院 20

46、11 届本科生毕业设计 22 Private Sub ToolsMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolsMenu.Click 留言板.Show() End Sub Private Sub HelpMenu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HelpMenu.Click 系统用户.Show() End Sub Private Sub 重新登录ToolStri

47、pMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 重新登录ToolStripMenuItem.Click Me.Close() 家谱管理系统.Show() End SubEnd Class5.3 家谱视图中树视图界面及其代码图 5-3 所表示的是家谱视图中的树视图。图 5-3 树视图Private Sub 树视图_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loa

48、dXX 学院 2011 届本科生毕业设计 23 Try If 家谱管理系统.ComboBox1.Text = 普通用户 Then Dim i As New Integer Dim treenode As New TreeNode Dim dr As SqlClient.SqlDataReader i = 1 tree.Selin(家谱管理系统.str, select * from 成员 where 父亲编号=0 and 家族= & 家谱管理系统.家族 & order by 家内排行 asc) dr = tree.Selcomd.ExecuteReader While (dr.Read) Tre

49、eView1.Nodes.Add(i, dr.GetValue(2) End While dr.Close() tree.Selconn.Dispose() tree.Selconn.Close() End If Catch End Try ToolStripComboBox1.SelectedIndex = 0 End Sub Private Sub 查询家族ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查询家族ToolStripMenuItem.Clic

50、k Try If 家谱管理系统.ComboBox1.Text = 管理员 Then TreeView1.Nodes.Clear() ListView1.Items.Clear() Dim i As New Integer i = 1 Dim treenode As New TreeNode tree.Selin(家谱管理系统.str, select * from 成员 where 父亲编号=0 and 家族 like % & 家族.Text & %order by 家内排行 asc) Dim dr As SqlClient.SqlDataReader dr = tree.Selcomd.Exe

51、cuteReader Dim Nod As TreeNode While (dr.Read) Nod = New TreeNode Nod.Text = dr.GetValue(2) Nod.Tag = dr.GetValue(0) TreeView1.Nodes.Add(Nod) End WhileXX 学院 2011 届本科生毕业设计 24 dr.Close() tree.Selconn.Dispose() tree.Selconn.Close() Else MsgBox(您不是管理员,无法进行此操作!) End If Catch End Try End Sub Private Sub T

52、reeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect Try 编号 = TreeView1.SelectedNode.Tag If (TreeView1.SelectedNode.GetNodeCount(True) 0 Then Me.CheckAllChildNodes(Node, NodeChecked) End If Next Node End Sub Private Sub

53、CheckAllFatherNodes(ByVal treeNode As TreeNode, ByVal nodeChecked As Boolean) Dim node As TreeNode Dim isSame As Boolean = True 记下nodeChecked的状态 If Not treeNode.Parent Is Nothing Then For Each node In treeNode.Parent.NodesXX 学院 2011 届本科生毕业设计 26 碰到与nodeChecked状态不一样的节点 If node.Checked nodeChecked Then

54、 isSame = False Exit For End If Next If isSame = False Then 当所有节点中有一个不一样的节点时,肯定存在一个是选中的节点,所以父节点为选中 treeNode.Parent.Checked = True Else 当所有节点的状态都一样时,父节点状态等于节点状态 treeNode.Parent.Checked = nodeChecked End If CheckAllFatherNodes(treeNode.Parent, treeNode.Parent.Checked) End If node = Nothing End Sub Pri

55、vate Sub TreeView1_AfterCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterCheck If Is联动 Then If e.Action TreeViewAction.Unknown Then If e.Node.Nodes.Count 0 Then Me.CheckAllChildNodes(e.Node, e.Node.Checked) End If If e.Node.Checked = True Then C

56、all ShowDetail(e.Node) Else Call DeleteDetail(e.Node) End If CheckAllFatherNodes(e.Node, e.Node.Checked) End If Else If e.Node.Checked = True Then Call ShowDetail(e.Node) Else Call DeleteDetail(e.Node) End If End If End Sub Private Sub ShowDetail(ByVal Nod As TreeNode) 判断传入的是否是叶节点,如果是,则显示详细信息 Dim It

57、m As New ListViewItem Dim Img As Bitmap Dim ID As IntegerXX 学院 2011 届本科生毕业设计 27 Try 数据.Selds.Clear() 数据.Selin(家谱管理系统.str, select * from 成员 where 用户编号= & Nod.Tag & ) 数据.Selda.Fill(数据.Selds) Itm.SubItems(0).Text = 数据.Selds.Tables(0).Rows(0).Item(2) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(1).T

58、oString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(3).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(4).ToString & 月 & 数据.Selds.Tables(0).Rows(0).Item(5).ToString & 日) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(6).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(7)

59、.ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(8).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(11).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(9).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Rows(0).Item(16).ToString) Itm.SubItems.Add(数据.Selds.Tables(0).Row

60、s(0).Item(17).ToString) Itm.Tag = Nod.Tag Try ID = Nod.Tag Img = 读图(ID) ListView1.LargeImageList.Images.Add(Img) ListView1.SmallImageList.Images.Add(Img) Itm.ImageIndex = ListView1.LargeImageList.Images.Count - 1 Catch ex As Exception End Try ListView1.Items.Add(Itm) 数据.Selconn.Dispose() 数据.Selconn.

61、Close() Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Function 读图(ByVal ID As Integer) As Image Dim conn As SqlClient.SqlConnection conn = New SqlClient.SqlConnection(家谱管理系统.str) Try conn.Open() Dim DS As DataSet Dim adp As SqlClient.SqlDataAdapter Dim cmd As SqlClient.SqlCommand

62、Dim filename As StringXX 学院 2011 届本科生毕业设计 28 Dim size() As Byte Dim stream As IO.FileStream DS = New DataSet() adp = New SqlClient.SqlDataAdapter() cmd = New SqlClient.SqlCommand() cmd.Connection = conn cmd.CommandType = CommandType.Text cmd.CommandText = select 头像地址,头像 from 成员 where 用户编号= & ID & ad

63、p.SelectCommand = cmd adp.Fill(DS, 成员) filename = CType(DS.Tables(成员).Rows(0).Item(0), String) If IO.File.Exists(Application.StartupPath & & filename) = True Then Try IO.File.Delete(Application.StartupPath & & filename) Catch er As IO.IOException GoTo t End Try End If size = DS.Tables(成员).Rows(0).It

64、em(1) Try stream = New IO.FileStream(Application.StartupPath & & filename, IO.FileMode.CreateNew) Catch err As System.Exception MessageBox.Show(err.Message) Return Nothing End Try stream.Write(size, 0, size.Length) stream.Close() cmd.Dispose() conn.Dispose() Dim bitmap As Bitmapt: bitmap = New Bitma

65、p(Application.StartupPath & & filename) Return bitmap Catch conn.Dispose() conn.Close() Return Nothing End Try End Function Private Sub DeleteDetail(ByVal Nod As TreeNode) 判断传入的是否是叶节点,如果是,则取消显示详细信息 For Each Row1 As ListViewItem In ListView1.Items If Row1.Tag = Nod.Tag Then ListView1.Items.Remove(Row

66、1)XX 学院 2011 届本科生毕业设计 29 Exit Sub End If Next End Sub Private Sub 详细信息和小头像ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 详细信息和小头像ToolStripMenuItem.Click ListView1.View = View.Details End Sub Private Sub 大头像ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 大头像ToolStripMenuItem.Click ListView1.View = View.LargeIcon End Sub Private Sub ToolStripComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As Sys

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!